Showing posts with label web development Hyderabad. Show all posts
Showing posts with label web development Hyderabad. Show all posts

Tuesday, 7 October 2014

Understanding the Importance of the robots.txt file

You’ve created a whole heap of relevant content for your website.  You’ve got some good in-bound links from high page ranking websites and your website is fully optimised for all the keywords and key-phrases your customers are searching upon – great.
But how is your robots.txt file doing?
This little file can make the world of difference to whether or not your site will get the page ranking it deserves.

What is the robots.txt file?

When search engine crawlers (robots) look at a website, the first file they will look at is not your index.html or index.php page.  It is your robots.txt file.
This little file that sits in the root “/” of your website contains instructions on what files the robot can and cannot look at within the website.
Here’s a typical robots.txt file example (line numbers are for illustration purposes only):
User-agent: *
Disallow: /cgi-bin/
Sitemap: http://www.mydomain.com/sitemap.xml.gz
OK, so what does the above example mean?  Let’s go through it line by line.
Line 1: The “User-agent: *” means that this section applies to all robots.
Line 2: The “Disallow: /cgi-bin/” means that you don’t want any robots to index any files in the “/cgi-bin/” directory or any of its sub folders.
Line 3: Left blank intentionally for aesthetics
Line 4: The “Sitemap: http://www.mydomain.com/sitemap.xml.gz” tells the robot that you have already indexed the structure of the website for mydomain.com.
So, as you can see from the example above, the robots.txt file contains instructions for the robot on how to index your website.

Do I need one?

No.  You don’t need a robots.txt file and most of the search engine robot crawlers will simply index your entire website if you don’t have one.  Actually, there is no requirement for any crawler to read your robots.txt file and indeed some malware robots that scan websites for security vulnerabilities, or email addresses used by spammers will pay no attention to the file or what is contained within.

So what’s all the fuss about?

Well.  There are two issues to address here; do you know if you have a robots.txt file and what it contains? And is there anything on your website you don’t want a robot to see?
Let’s look at them both in turn.

Do you have a robots.txt file and what’s inside it?

By far the easiest way of finding out if your website has a robots.txt file is to type in your website address with “/robots.txt” appended to the end such as: www.mydomain.com/robots.txt where mydomain.com is the name of your domain.
If you receive an “Error 404 Not found” page then there is no file.  It’s still worth reading the rest of this section though as we’ll see just how much damage a malformed file can do!
Ok  – if you haven’t got an error page displayed then there’s a pretty good chance your looking at your websites robot.txt file just now and that it is similar to the example a few sections ago.
Let’s just jump ahead a little and see how useful the file can be in protecting the sensitive parts of your website before we tackle the problems it can cause.

Got anything to hide?

If your website interacts with customers using forums, blogs, databases or if you have subscribers to newsletters etc. then all that sensitive and private data is being stored in a file somewhere on your website, whether it’s a database or configuration file doesn’t matter.
Search engine crawlers are a lot like simple insects.  They have a purpose in life to index website content and index they will – everything, unless instructed otherwise.
Private and sensitive data should always be encrypted when stored but in reality, for small business websites, it largely isn’t.  This may be because the particular software components your website use don’t have encryption abilities or because it’s was a speed versus security issue.
Regardless, a robot crawler will index all the plain text content in all the files on your website.  It has no morals.  So let’s give it some.
Just say, for example, you have “/newsletter” folder that contains all the regular newsletter emails you send out to all the website subscribers who’s email addresses and subscription passwords are stored in a “/newsletters/admin/subscribers.txt” file.
To get lots of good relevant content, you want the robot crawlers to index all your email newsletters, but certainly, you don’t want it to pick up on your subscribers email address or password.  Just image one of your subscribers searching Google with their email address and up comes your website www.mydomain.com #1 on the search page with their email address and password!  Yikes – that’s not good PR.
Thankfully you can use the robots.txt file to exclude parts of your website that shouldn’t be indexed.  In our example above, you would create a line such as “Disallow: /newsletters/admin/”
This means that anything within the folder “/newsletters/admin/” shouldn’t get indexed by robot crawlers that adhere to the standards.

The dangers of a robots.txt file

OK – as we’ve seen from the examples above, the robots.txt file assumes that everything on your website is game for indexing unless specified otherwise in the robots.txt file.
One of the biggest mistakes that people make is to disallow the root “/” of the website.  This is the starting folder for the entire website.  If you disallow this folder then you are effectively telling all the robots not to index any part of your website and this will be catastrophic for your marketing campaigns.  Check your file to make sure that robots are not being turned away at the front door.
Have a look through your website structure paying close attention to the folder names.  Sometimes you can pinpoint folders that could potentially contain sensitive and private data.  These are the ones you should be preventing robot crawlers from indexing.
Other types of folders that you don’t want a search engine robot crawler poking around in are those containing executables.  For example, your /cgi-bin/ or equivalent.  This folder can contain web programs that would normally be run by users of your website after, say, entering information into a web for, but if they are look at (sometimes the same as being run) by a robot crawler, can produce unwanted results.
An example of this would be the program your website uses to issue email newsletters.  If the program has been developed and tested correctly, then running it unexpectedly with no form input should not be a problem, but what if the program was developed in a rush and not tested 100% correctly.  A robot crawler activating such a program could cause it to behave in all sorts of strange ways.  Last thing you need is your 10,000 newsletter subscribers receiving 100’s of unwanted duplicate newsletters every day or week.
Also, highlighting the areas of your website that you don’t want robots to look in, does raise a flag of interest that potential malware robot crawlers could exploit.  Where better to look for sensitive data than the places you’re not meant to be? It’s a risk that you may have to take.

Best Practice

Dangers aside, pretty much all websites will have a robots.txt file to help control the indexing of content.
To get the most out of using a robots.txt file, try to adhere to these simple rules.
  1. If your website is static with no customer information – don’t use one
  2. Check that you are not disallowing the root folder “/”
  3. Make sure you disallow any folders that may contain private and sensitive data
  4. Disallow any folders containing executable web programs
  5. If your website has a sitemap already generated, add this to the file to help indexing.
  6. Don’t use comments in the file.
Visit our Website - www.3kits.com

Friday, 15 August 2014

Are You Following the Principles of Top Notch CSS Design?

CSS can be an extremely powerful markup language for designers. However, the CSS that is produced is only as good as the principles that are being followed by the designer creating the code.
While you may think that anyone can crank out CSS, there is a big difference between writing CSS and producing top notch CSS. To ensure that you are on the right track, here are eight CSS principles that every web designer should be following.

1. Take the Time to Validate

If you are going to invest the time in coding CSS, it only makes sense to take the time to validate  the code  that you create.  However, it never ceases to amaze me how many designers skip over this vital step. Validating your code allows you to clean up any problems and ensure that it’s going to work well for your visitors.

In addition to validating your CSS file, you should also validate your HTML or XHTML files.  Before you validate these files, make sure that you have taken time to declare the proper HTML or XHTML DOCTYPE. Declaring your DOCTYPE may seem like a mundane detail, but I can’t count how many discussions I have had with frustrated designers who continued to have problems with a design, only to find out that it was because they had declared an outdated DOCTYPE (or hadn’t declared a DOCTYPE at all).

2. Document (but not in your code)

Whether you are working on a project alone or with a team of designers, it is important to document the work that you create.  You can probably see why this would be important within the context of a design team, but you may be wondering why it would matter if you are working on a solo project.  Well, there’s always a chance that your solo project will eventually evolve into a group project, and if this happens, it’s much easier to have documentation on hand than trying to backtrack and create it.  However, even in the event that your project does remain a one man show, you may be surprised at how useful documentation is when you decide to revisit a project after not looking at it for a year.
When it comes to creating documentation for CSS code, the natural impulse of most designers is to add it directly to their code by placing it between /* and */ .  Like many of the principles in this list, there is nothing technically incorrect about taking this approach.  However, adding comments directly to your CSS code will increase the size of the file, which in turn can increase loading times and slow down a website’s overall performance.  If you are serious about writing top notch CSS code, you should be documenting your code, but in a separate file.
Although I honestly believe that it is more effective to document in a separate file, I know that there are plenty of files who simply don’t agree with this practice.  If you refuse to document in a separate file, the next best thing you can do is use a CSS compressor (in fact, even if you choose to use a separate file for documentation, you can still benefit by using a CSS compressor).  You can use this 
CSS Compressor from CSS Drive Gallery, or simply search Google to find an alternative CSS compressor.

3. Say No to Hacks

Although hacks have become an acceptable practice to many within the CSS community, this does not mean that “CSS hacking” is a principle that you should be following.  The problem with this approach to designing is that it means you are intentionally looking for a complicated solution to problems.  While you may think that one or two hacks every now and then won’t hurt anyone, getting into the mindset of “hacking through” any problems you encounter can have a negative impact on your overall design mentality.
Avoiding hacks is a piece of advice that experts have been dispensing for some time.  You can go back all the way to 2003 and see that Peter-Paul Koch  (who is an accomplished developer and author) has been warning designers of the implications of CSS hacks for some time: “The complexity monster has reappeared, right in the center of modern Web development. Nowadays it doesn’t manifest itself as an endlessly nested table, but as an endlessly complicated CSS hack.”


4. Don’t Abuse Divs

Because divs provide a high level of flexibility, it can be easy to overuse them.  In fact, this issue has become so common among designers that the CSS community has created its own term to label this issue: divitus.  To avoid falling victim to this condition, before automatically using a div tag, you should always ask yourself if there is an actual HTML tag that will get the job done for you.  For example, instead of creating multiple header divs, why don’t you use the HTML heading tags that are already available, such as H1 and H2?
Once you begin taking the issue of divs into consideration, you will quickly see the benefits of using the appropriate HTML tag instead of automatically creating a new div.  Not only can it reduce the amount of code that you have to create (which will save you time, along with reducing the load time of your website), but it will also give your code a more logical structure.

5. Put Thought Into Your Class Names

If you ask a new or inexperienced designer about how they decide to name their classes, they might say that it doesn’t really matter.  While this is technically true, this is a very short sighted view of naming CSS classes.  Although there are designers who fall into the category of not caring about CSS class names, there are also designers who do think about their class names, but they actually take the wrong approach.
Since I don’t want to simply beat you over the head with theoretical examples, let me explain this in concrete terms.  Let’s say that you are creating a class to control one of the boxes on your page.  The box will be located at the bottom of the page, it will contain comments from readers and you will use CSS to give it a tan background and control the padding.  Instead of naming this .tan-box (which is what many well-intentioned designers would do), name it .comment-box.  The reason that .comment-box is a better class name than .tan-box is because if you decide to change the background color to blue down the road (or decide to move the box from the bottom of the page to a different area), it won’t confuse you or any other designer who is looking over the CSS for that website.

6. Embrace Shorthand

While shorthand can be confusing to designers who are just getting started writing their own CSS code, once you get used to the style of shorthand, it becomes one of the most effective practices you can follow as a designer.
There are multiple benefits to using shorthand.  For one, it reduces the size of your files, which will reduce the load time of your website.  Additionally, it not only makes it easier to organize your code, but also makes it simpler if you need to make changes to your code in the future.  As you begin adapting to shorthand, you should also get in the practice of writing your code on one line (instead of spreading out declarations over multiple lines).

7. Don’t Forget About Printers

As a designer, you are much more technically inclined than anyone else in the mainstream population.  Because you are a part of a minority that lives and breathes technology, there are a lot of habits you have that most other people have never thought about.  For example, you have probably gone out of your way to eliminate as much of the “paper trail” as possible in your life.  However, it’s important to remember that the majority of the population still prints things out on a regular basis.  While you probably tag an item with del.icio.us when you want to save it for future reference, the average Internet user will print that same page out.
Since people are still printing out information from the Internet, it’s important to use CSS to make your content printer friendly.  Visitors will appreciate all of the work you have put into creating a beautiful layout for the website they are visiting, but when they decide to print out a page from that website, they will appreciate you even more when they realize that their printout only contains the text that they want (and none of the amazing graphics that look great on their computer but would waste a ton of ink from their printer).  Because CSS makes it quite simple to ensure that content is properly formatted when printed out, there is no excuse for a true designer to neglect this step of the design process.

8. Never Stop Learning

You may think that this final principle sounds cliche, but it is arguably the most important of the entire list.  If you are dedicated to being the best designer possible, you need to ensure that you are always working to expand your knowledge of CSS.  Fortunately, this is easy to do if you have the desire and will to commit to continuing your CSS education.  While continuing education can be a difficult task for individuals in many industries that are non-technical in nature, because the Internet is literally the basis for CSS, the amount of free resources that you can learn from are literally endless.  If you think I’m exaggerating, just type “CSS” into Google and you will see that there are 483,000,000 results for you to browse.
In addition to learning from online resources (and print resources if you prefer), you can learn a lot from other CSS designers.  Whether you analyze their work, listen to the advice they are giving out online or talk to them in face-to-face situations, you can gain a lot of value by interacting and potentially collaborating with other designers who are committed to following the principles of top notch CSS design and producing amazing pieces of work.

Sunday, 20 July 2014

4 Ways to Protect the Reputation of Your Small Business Online

By now, most small business owners understand the important role the Internet can play in helping to raise and drive interest and demand for their products and services. With all the innovative online technologies out there, it’s easy to feel tempted to rush into things. Please, for the love of your business, slow down.
Before you worry about launching a Twitter channel or pitching a post idea to a local Blogger, you need to take a step back and consider how online conversations might impact the reputation of your small business. PR blow-ups aren’t just a problem for big companies — there are risks for small businesses, too. Online engagement requires the same level of planning and thought you give to other parts of your business. Here are four tips for protecting your small business — and livelihood — online.

1. Research & Planning

Thinking through the details is the most important way you can start to protect your reputation online, whether you have a small bakery outside Detroit or a multi-national corporation. Ask yourself these important questions before you do anything:
  • What are my goals and objectives?
  • Who am I trying to reach?
  • Where do I think those people are online?
  • What online channels or social media sites might be the right fit for my business?
  • How much time do I realistically have to invest in this?
  • Am I prepared for negative conversation about my products and services?
Use the intelligence you gather to assemble a plan, and think modestly to start. Remember, the goal is not to get on every social media channel out there. You should instead be contributing in the places online that make sense for you.

2. Monitoring & Listening

Like research and planning, listening to online conversations is a critical part of protecting your small business’s reputation. There are a couple of reasons why.
First, before you start communicating, you should know what others are saying about you, your competitors and other similar businesses. This background information will help you determine what you can share that others might find of interest or value. It will also help prevent you from sticking your foot in your mouth. If you open a butcher shop, you’d want to know the most influential foodie blogger in your area is a vegetarian before you shoot him an email about your new organic bacon, for example.
Monitoring conversation is also important because it will help you uncover complaints and other problems that you might not otherwise know about. This is directly connected to how you respond to negative comments, which we’ll explore in a moment. There are number of easy ways you can monitor online conversation, such as using a tool like HootSuite for Twitter and Facebook and Google Alerts for blogs and traditional media coverage. Mashable has a number of great articles with more information on how you can do this affordably.

3. Joining the Conversation

How you engage in conversations online will vary depending on the channel you pick, whether that’s Facebook or Foursquare. No matter what channel you choose, you can help mitigate risks to your business by planning ahead, being committed and showing transparency.
Planning ahead. Like newspapers and magazines, big companies often create editorial calendars for their online communications, aligning things like company events and press releases with messages on Facebook, Twitter and blogs. Your small business might not need an elaborate spreadsheet to schedule your updates, but you should look ahead and think through the news and information you might want to share in the weeks ahead. Try creating your own calendar every two weeks. After you give that a try, you can do it more or less frequently, depending on what works best for you.
Being Committed. When you join conversations, online communities will expect you to stick around. Oftentimes, people may have follow-up questions or new issues may arise. Don’t post something and disappear. Keep your editorial calendar current and keep checking back on old posts and respond again, if warranted. If you don’t, people will begin to see your online interactions as self-serving or lazy, and you will lose trust.
Showing Transparency. Lastly, always be transparent about who you are and what you’re doing online. This is extremely important. Whenever you join conversations, whether it is emailing a blogger, commenting on a Facebook post or responding to a comment about your business on Yelp, always be very clear that you are responding on behalf of your small business. In some cases, it may even make sense to include your email address so people who would like more information can reach you. Online communities hate feeling misled — even if it is completely unintentional. Above, you’ll see a great example from a small indie record shop in Cleveland on how to keep your community informed about important policy changes that impact them in a friendly, casual and professional way.

4. When Conversation Turns Negative

Before you hit the ground running with your digital communications plan, there is one last thing to consider: What will you do if people write nasty things about you, or even worse, an issue explodes that could deliver a devastating knock-out blow to your business?
The risks can be scary, but the good news is that by preparing in advance and following the guidelines discussed above, you can manage those risks. The most important thing to do when you receive negative feedback is to respond as soon as possible — and that’s true of almost any online channel. Below is an example from Capital Bikeshare in Washington, D.C. This is a successful response because it is prompt, open to the public and offers an apology to the customer for his inconvenience. There is nothing wrong with admitting a mistake or apologizing. Most people will stick with you if you work to make things right.
Our last point — and this is really important — is to be very cautious about deleting negative comments. By overreacting to negative discussion, it may look like your business has something to hide. This chips away at the community’s trust in you. You also will lose a valuable opportunity to change opinions. Thoughtful responses to negative comments are a terrific opportunity to engage your customers, help correct their complaints and potentially turn them into advocates. Don’t throw that opportunity away by simply making an uncomfortable discussion disappear.
Visit Our Website: http://www.3kits.com/

Saturday, 19 July 2014

5 Tips for Creating and Maintaining Customer Loyalty

Selling cloud and software-as-a-service applications is all about driving usage, adoption, and customer success—not about selling. This is obviously true for on boarding new customers, who start with a free trial and will only pay you if they like what they see. It is even more true for existing customers, who will only renew their subscription if they love what you do for them. Below are five tips on how to generate and maintain maximum customer love, in either situation.

1. Make Customers Love Your Product

Customers will love your product if they get the following from it.
  • Tremendous Value: Is your application delivering on its promise? For example, if your app is built for Project Management, are users successfully creating projects, inviting colleagues, and increasing productivity via efficient collaboration? Also, do you have a workflow in place to increase the success of lagging customers? This approach allows you to improve your product based on what you learn.
  • Enjoyment: Just getting the job done is not enough. Your product should be a delight to use. Invest in usability and product design and make your product truly intuitive. How do you know you are doing a good job at this? There’s a good chance your customers are on Twitter, recommending the product to colleagues.
  • Great Support: Build wizards to walk your customer through how to successfully use your app. If there is a bug, reach out with a solution. Help could be a phone call, e-mail, or a link to a piece of educational content.

2. A Customer Success Team

Assign one executive on your team to be responsible for customer success. This person’s function should be to help customers realize the value they subscribed for. The success manager will also guide every new customer through a series of training steps. After the initial 90-day onboarding period, the success manager will monitor for any signs of customer unhappiness to determine if a customer needs more attention. The entire customer success team should also be responsible for renewals and expansion sales.In a subscription economy, customer success is key to your growth. Successful customers stay longer, increasing your revenue.

3. Create a Customer Health Score

Invest in technology that tracks customer health. Start with a simple survey tool like Survey Monkey. It will help you determine what your Net Promoter Score is on a quarterly basis. You can obtain a Net Promoter Score by asking customers how likely is it that they would recommend your company to a friend or colleague, on a scale of 1-10? The percentage of Detractors (0-6 rating) is then subtracted from the percentage of Promoters (9-10 rating) to obtain a Net Promoter Score.
Even better, track customer health in real time by analyzing customer usage of your application. It turns out that almost all cancellations are preceded by a period of no use. You can create in-house scripts to track how engaged customers are with your application, and segment customers by their engagement score.
To help customers succeed, you need to find out who’s doing well and who’s struggling to get value from your application. The only way to do that systematically is to define a consistent health benchmark for your paying customers, then track each account to see who needs help. Here are some example benchmarks:
Good Health: Successfully using the application Average Health: Using the application, but not at the level of a successful customer Poor Health: Not using the application; unsuccessful What defines a healthy customer depends on your service, but be sure to define, track, and monitor it on an ongoing basis

4. Nurture Your Paying Customers

Lifecycle marketing is the discipline of marketing to your existing customers, based on the status of the relationship. There are two important lessons here. One, don’t stop selling once customers sign up for the paid service. Two, don’t treat all customers equally. That means you should communicate very differently with a customer in poor health than with a customer in good health.
For example, send customer success stories to the customer who isn’t actively using your software. Perhaps call and check in with those high-value customers who started off using your software but then disappeared. Or consider asking active users to participate in customer case studies and referral programs.

5. Learn From Churn

When customers are cancelling or not renewing their subscription with you, they churn. So, what will you learn from every customer that leaves you? You won’t. Unless you have data. This is why you should consider creating a churn database. This would be a place where you store information about cancelled customers. It should contain the following:
  • Reason: Why did the customer leave?
  • Membership Length: How long were they customers before cancelling?
  • Engagement Trends: How engaged were they throughout their subscription?
See if you can identify and mitigate trends. Your goal should be to improve the experience for current and future customers. Customer success should be a pillar of your business. Happy customers help generate new leads and business. Unsatisfied ones create PR nightmares. In our connected world, customer success is your most important marketing asset.

Friday, 18 July 2014

10 steps to engaging user experience

These days, building websites or applications that attract andretain customers has become somewhat of a science. For people who aren't well versed in the digital space, I often compare the work that I do as a UX designer to an architect. Like the architect who builds your home, my UX team builds a comprehensive blueprint, which outlines every single detail of the site's features and functionality.
But it's not a one-shot deal. Getting to an intuitive and engaging user interaction requires many steps. Here are my top 10 tips to help you deliver an amazing interactive experience for your users.

01. Design for the user, really

Back when online interaction was still in its infancy, and not much thought had been given to whom we were designing for, users were all too willing to spend their time learning the interaction required to complete tasks on websites. If users were confused, people often assumed they just weren't tech savvy or well-informed on how to navigate the internet. As more and more websites, mobile devices and tablets started popping up; users weren't as willing or patient to "learn" on their own. Nowadays, you'll see more users becoming frustrated and even angry when they feel a product, application or website is substandard - and rightfully so.
It's tempting to design with your own preferences and tastes in mind. But that won't help users complete tasks on the site if they have a whole different set of preferences and needs. Think about what users want to do and help them complete those tasks in the easiest and most intuitive way possible. Are they browsing? Searching? Gaming? Watching video? Trying to complete a task? Looking for specific content? It's the UX team's job to look at the entire experience holistically and make sure that users' needs are always met.

02. Do your homework

Listen and absorb. The more conversations you have with clients, the better informed you'll be. Dive deep into every piece of documentation, research their field, examine all content with a fine-tooth comb, understand the client's goals, document thoroughly all of the client's wishes (no matter how small) and talk to as many people across as many departments as possible. Only then will you have the most complete and accurate picture and be prepared to move to the next phase of the project.
Another crucial part of listening comes from doing a thorough analysis of what competitors are doing in the same space. Are there any innovators that you can learn from? Have they made any mistakes you want to avoid? Is there one universal component that ties all of them together? Were there any missed opportunities? Use the answers to these questions as inspiration in your own project.
The types of sites you may look at during this analysis phase can vary dramatically. You could even look at sites that sell cat food as points of reference when designing an application for audio equipment. It's still relative and can be helpful because the user behaviour could very well be the same for cat food sites and audio equipment sites. Either way, you can learn valuable lessons from UX best practices across completely different industries and form factors.

03. Be an advocate for the user

We often think of the user as our client, though it's not entirely true. In any project, there are sets of business objectives that need to be met and it's the UX designer's responsibility to meet those objectives, while at the same time informing the client about the user's needs. That's why the greatest digital projects are often those where there is a perfect equilibrium between the client's objectives and the user's needs. Sit on that fence, and balance well.

04. Forget about Nancy, think user types

Personas are vital when it comes to structuring the content. Look at all the content holistically and think about what people are trying to accomplish. Doing this helps prioritise the content and allows the site to be structured around the user's goals. But traditional personas – "Nancy, who is 28-35 years old, drives an economy car, has a four-year-old PC she primarily uses for email, earns between $30K-$50K a year and wants to comparison shop for a cheap airfare to visit her mother in Florida" - won't offer much insight into the user's actual behaviour.
Instead, group basic User Types into categories according to what they want to do on the site such as 'browsing', 'comparison shopping', 'killing time', 'looking for specific content'. These groupings will provide you with much more useful insights about why users come to sites or applications, the context of use (where and how), what content they're seeking and how much time they have. In turn, you'll be better equipped to design the website or application around their behaviour patterns, thus making their fictional names, ages, professions and income levels irrelevant.

05. Less really is more

You may think this is obvious and doesn't need further explanation. But most sites and applications still manage to get it wrong. The key is to cut down tasks required by users to the bare minimum. I can't stress this enough. Get rid of all that extra clutter that doesn't add value, or worse, distracts and confuses the user. Know exactly how you want users to travel through your site or application and then guide the user as if you were holding their hand through the entire process. Again, users want things to be as simple, worry-free and fast as possible. If they can see what's coming next before even clicking on something, they'll be happy users.
06. Take cues from tablets
Because you're already limited by the amount of real estate on tablets, the need to simplify interactions is even greater. Ask yourself if your design would work on a tablet. If the answer is yes, you already have the two basic building blocks in place for a strong user experience: clear hierarchy and intuitive way finding.
07. Design your UX
Adding placeholders for copy (lorem ipsum) next to some grey boxes underneath a row of navigation links does not constitute design. Visual hierarchy, content grouping, spacing, positioning and size are all things that should be solved in wireframes before a visual designer even sets eyes on it. If in your wireframes you're working within the actual site or application width, and 12px text in your template is actually 12px in design, you're on track.

09. Collaborate with all departments

User experience design alone is not enough to make great work and it will surely not provide all the answers. Listen, collaborate and become the liaison between the client, the user and the rest of your internal team. Only then can you create the best possible experience for the user while still meeting all business objectives.
Remember, you're not alone. UX designers, visual designers and interactive developers all have a hand in making a project a success - it truly is a collaborative and multi-disciplinary effort. When it's a shared passion and everybody pitches in with their level of expertise and voices their opinions, magic happens.

10. Don't grade your own homework

The chance of you hitting the bulls eye with your first shot is very slim so be prepared to design iteratively as you gather more information about the performance of your site or application. One of the things that I am adamant about is that you should only do quantitative analysis on your own work. Tracking the performance and understanding where people are dropping off is extremely important and should be done in-house. But a third party should always conduct the qualitative user data analysis so you can truly have an objective testing environment. Doing this in-house is much like grading your own homework and won't give you the depth of truth and insight that you're looking for. If you want real objective answers, let someone else do the user testing and take those learnings into your next iteration.
Words: Irene Pereyra

Wednesday, 16 July 2014

Add social meta tags to your website without plug-ins

When you come up with an awesome new blog post, the first thing that comes to your mind to reach a wider audience is sharing on social media. Evidently, there is no better platform than social media to share your content, target your local customers and drive massive traffic to your website, but do you know how to optimize your web content for social sharing?
Usually, social networking sites are really smart in pulling in the right content for posting. But sometimes the problem occurs when the content shared by your admirers doesn't appear properly on their social accounts pages. Fortunately, there is a way through which we can exactly define how titles, images, description, and more should appear on social streams of our followers.

Tags

Almost every one of us knows about title tags and meta description tags, but many of us don't know about many other meta tags that social networking sites such as Facebook, Twitter, Google+ and Pinterest also read. The reason why these sites have started using special metadata is to give the audience better visibility by making the content sharing process flawless and easier.
As each social network site has its own social media tag, knowing exactly which one to include proved to be very confusing task. For instance, Google+ and Pinterest prefer to use Schema tags, but they also recognize Open Graph Protocol tags, that are preferred by Facebook and LinkedIn. On the other hand, Twitter has defined its own tags which are called Twitter cards.
Let's take look at how you can leverage all these social meta tags.

Facebook Open Graph

Open Graph was introduced by Facebook in 2010 to promote the integration between Facebook and other websites. It allows any web page to become rich 'graph' object, which have the same functionality as any other Facebook object. Here's an example:
In simple words, Open Graph is a way of controlling how information will travel from a web page to Facebook. To leverage Open Graph tags, you need to place them between the <head> </head> section of your web page.
Below are the most commonly used Open Graph tags:
og:title: This is the title of your content that that Facebook populates in the snippet. It is similar to the html title tag that search engines use. Though Facebook doesn't have limit on number of characters in title, but it's better to keep the character count between 60 and 90.
Example:
  1. <meta property="og:title" content="Social Meta Tags"/>
og:description: This is where you describe what your content is about. Keep it up to 300 characters.
Example:
  1. <meta property="og:description" content="Description Here"/>
og:url: In this tag, the URL of shared page is placed. This tag is extremely useful if you have multiple URLs for the same content since it ensures that all your shares will go to your defined page.
Example:
  1.  <meta property="og:url" content="http://www.example.com" />
og: site_name: This tag tells Facebook your website's name. There is no need to include this tag, but you can use it if the object you're sharing is a part of a larger website.
Example:
  1. <meta property="og:site_name" content="Your Site Name"/>
og:image: This tag lets you specify the absolute path of the image that Facebook will display in the rich snippet. It has some optional structured properties:
  • og:image:url: Same as og:image.
  • og:image:secure_url: Allows you to use an alternate path to the image, if the webpage requires HTTPS.
  • og:image:height: Height of the image.
  • og:image:width: Width of the image.
  • og:image:type: A MIME type for image.
Example:
  1. <meta property="og:image"content="http://example.com/ogp.jpg" />
  2.  
  3. <meta property="og:image:secure_url"content="https://secure.example.com/ogp.jpg" />
  4.  
  5. <meta property="og:image:type" content="image/jpeg" />
  6.  
  7. <meta property="og:image:width" content="500" />
  8.  
  9. <meta property="og:image:height" content="400" />
og:type: This property allows you to specify the type of content you're sharing. Is it a blog post, picture, video?
Example:
  1. <meta property="og:type" content="article"/>
The final code for Facebook will look like this:
  1. <meta property="og:title" content="Social Meta Tags"/>
  2.  
  3. <meta property="og:description" content="Description Here"/>
  4.  
  5. <meta property="og:url" content=" <a href="http://www.example.com""title="http://www.example.com"">http://www.example.com"</a>/>
  6.  
  7. <meta property="og:site_name" content="Your Site Name"/>
  8.  
  9. <meta property="og:image"content="http://example.com/ogp.jpg" />
  10.  
  11. <meta property="og:image:secure_url"content="https://secure.example.com/ogp.jpg" />
  12.  
  13. <meta property="og:image:type" content="image/jpeg" />
  14.  
  15. <meta property="og:image:width" content="500" />
  16.  
  17. <meta property="og:image:height" content="400" />
  18.  
  19. <meta property="og:type" content="article"/>
As we mentioned earlier, LinkedIn also supports Open Graph tags to control how your web page should be displayed when it is shared. So once you've implemented Open Graph tags on your site, it will also work for LinkedIn.

Twitter cards

Similar to Facebook's Open Graph tags, Twitter Cards empowers you to attach media experiences to Tweets that link to your content. Currently, Twitter offers nine different card types that can be attached to tweets.
  • Summary Card: Default Card that includes a title, description, thumbnail, and Twitter account attribution.
  • Summary Card with Large Image: It is similar to default Summary Card, except it allows you to feature an image with extra details and attribution.
  • Gallery Card: A Card with an album of four photos.
  • Photo Card: A Card with Tweet sized photo.
  • Player Card: A Card to provide audio, video, or any other type of media.
  • App Card: A Card featuring a mobile app with direct download facility.
  • Product Card: A Card to show off product.
  • Lead Generation Card: A Card for driving leads for your product/service.
  • Website Card: A Card featuring your website to drive traffic via clicks.
All of these cards can be extended with App Installs and Deep-Linking.
Note: Both Lead Generation and Website Card are available via the Twitter Ads Dashboard.
Here is the example:
Like Open Graph tags, the Twitter card tags also take place in the <head></head> section of your website code. The most commonly used Twitter card tags are:
twitter:card: This tag, which is very similar to og:type, lets you describe the type of content to be shared. You can choose from the nine different card types described above, and the default card type is "Summary".
Example:
  1. <meta name="twitter:card" content="Summary">
twitter:site: The Twitter username of the website including the '@'.
  1. <meta name="twitter:site" content="@SiteName">
twitter:creator: The Twitter username of the content creator with '@'.
Example:
  1. <meta name="twitter:creator" content="@AuthorHandle">
twitter:title: This tag does the same thing as og:title. You've to specify the title for your content that will be show on the card. The title must be under 70 characters.
Example:
  1. <meta name="twitter:title" content="Article Title ">
twitter:description: This is where the description of your article goes. It must not exceed 200 characters.
Example:
  1.  <meta name="twitter:description" content="Page Description">
twitter:image:src: This tag allows you to specify the URL of the image to better represent your content. The image must not larger than 1MB in size.
Example: 
  1. <meta name="twitter:image:src" content="Image URL">
Here is the final code for Twitter:
  1. <meta name="twitter:card" content="Summary">
  2.  
  3. <meta name="twitter:site" content="@SiteName">
  4.  
  5. <meta name="twitter:creator" content="@AuthorHandle">
  6.  
  7. <meta name="twitter:title" content="Article Title ">
  8.  
  9. <meta name="twitter:description" content="Page Description">
  10.  
  11. <meta name="twitter:image:src" content="Image URL">

Social meta tags For Google+ and Pinterest

Though both Google+ and Pinterest offer support for recognize Open Graph Protocol tags, but they prefer using Schema.org microdata markup to generate rich snippets. Using microdata markup doesn't only help search engines present your content in a useful and relevant way, but also improves your site's SEO.
Here's the example for Google+:
To use microdata with an article, you need to use the declaration given below within your HTML tag.
  1. <html itemscope itemtype="http://schema.org/Article">
The other markup will reside within the body section of your web page. In case, you're unable to access that code in your CMS, you can add it along with other Meta tags.
  1. <h1 itemprop="name">Your Headline under 200 Characters</h1>
  2. <img itemprop="image" src="Featured image URL" />
  3. <p itemprop="description">Description under 156 Characters</p>
Once you've annotated a web page with Schema.org microdata, Google+/Pinterest will display the properties: name, image, and description found on any schema.org type in social snippets.

Social meta tags in WordPress

In WordPress, there are two ways of adding Social Meta Tags to your site. One is by using a plug-in - like SEO by Yoast, SEO Ultimate, etc - and another one is through header.php.
Most of the people use plug-ins to implement Social Meta Tags on their WordPress site, but there are few who know how to make use of these tags via header.php. Here I'm showing you how you can integrate Facebook Open Graph, Twitter Cards, and Google+ tag in your header.php file.
To do this, you need to add some code to your header.php file. Open your header.php file and paste the following code before</head> tag.
For Facebook Open Graph:
  1. <meta property="og:title" content="<?php the_title();?>" />
  2.  
  3. <meta property="og:description" content="<?php the_excerpt();?>" />
  4.  
  5. <meta property="og:url" content="<?php the_permalink();?>" />
  6.  
  7. <meta property="og:site_name" content="<?php bloginfo('name');?>" />
  8.  
  9. <?php
  10.  
  11. if(has_post_thumbnail()){
  12.  
  13. $post_thumbnail=wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'large');
  14.  
  15.                $post_thumbnail_image=$post_thumbnail[0];
  16.  
  17.                ?>
  18.  
  19.                <meta property="og:image" content="<?php echo $post_thumbnail_image;  ?>" />
  20.  
  21.                <?php
  22.  
  23.              }
  24.  
  25. ?>
Note: As I've already mentioned above, Google+, Pinterest and LinkedIn also support Open Graph tags, there is no need for any other code for them.
For Twitter Cards:
  1. <?php
  2.  
  3. #twitter cards hack
  4.  
  5. if(is_single() || is_page()) {
  6.  
  7. $twitter_url    = get_permalink();
  8.  
  9. $twitter_title  = get_the_title();
  10.  
  11. $twitter_desc   = get_the_excerpt();
  12.  
  13.   $twitter_thumbs = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), full );
  14.  
  15.     $twitter_thumb  = $twitter_thumbs[0];
  16.  
  17.       if(!$twitter_thumb) {
  18.  
  19.       $twitter_thumb = 'http://www.gravatar.com/avatar/8eb9ee80d39f13cbbad56da88ef3a6ee?rating=PG&size=75';
  20.  
  21.     }
  22.  
  23.   $twitter_name   = str_replace('@', '', get_the_author_meta('twitter'));
  24.  
  25. ?>
  26.  
  27. <meta name="twitter:card" value="summary_large_image" />
  28.  
  29. <meta name="twitter:url" value="<?php echo $twitter_url; ?>" />
  30.  
  31. <meta name="twitter:title" value="<?php echo $twitter_title; ?>" />
  32.  
  33. <meta name="twitter:description" value="<?php echo $twitter_desc; ?>" />
  34.  
  35. <meta name="twitter:image" value="<?php echo $twitter_thumb; ?>" />
  36.  
  37. <meta name="twitter:site" value="@Your Twitter Username" />
  38.  
  39. <?
  40.  
  41.  if($twitter_name) {
  42.  
  43. ?>
  44.  
  45. <meta name="twitter:creator" value="@<?php echo $twitter_name; ?>" />
  46.  
  47. <?
  48.  
  49.  }
  50.  
  51. }
  52.  
  53. ?>
Note: Don't forget to replace the value of twitter:site tag with your Twitter username. For example, if your twitter username is Wordpress_INT, then twitter:site tag will look like this:
  1. <meta name="twitter:site" value="@Wordpress_INT" />
Additionally, you can change the card type by replacing twitter:card value with your favorite card. For example, if you want to use Gallery Card, then replace 'summary_large_image' with 'gallery'.
  1. <meta name="twitter:card" value="gallery" />
Just because you've added Twitter Card tags to your site doesn't mean Twitter Card will work. To get a Twitter Card activated for your site, you need to validate it using Twitter Card Validatorand apply for approval. Once your card is approved, it'll start working.

Debugging and validating Tools

All major social networking sites have their own Validator or Debugger that enables you test how links will be displayed when shared on social streams. Following are those tools:
  • Google Structured Data Testing Tool: Although this tool doesn't show how the shared post would appear on Google+, but shows the presented markup on a specific web page.
  • Facebook Debug: Once you've implemented Open Graph tags, you can use this tool to get feedback about your page markup by simply entering the URL of your site.
  • Twitter Validation Tool: As I've mentioned above, this is a Twitter tool that validates your Twitter Card. You can also use this tool to preview your Twitter Cards.
  • Pinterest Rich Pins Validator: Using this tool, you can preview and validate your Rich Pins to ensure they're perfect.

Words: Ajeet Yadav