Saturday, May 02, 2009

URL SEO Best Practices & Liferay Virtual Hosting

It is very important to have a good URL if you are looking to improve your search engine page rank. At least if you are doing everything wrong in terms of SEO, having a good URL gives your website a little bit of hope.

Don't use numbers, page ids, user ids, session ids, or even odd characters
Think about it, if the URL does not speak your language, you will have no idea what content it may point to and hence there is very little reason for you to click it. For example, what gives you more reason to click through this:
this:
http://www.youtube.com/watch/The%20Hostage%20Audi%20Ad
or this:
http://www.youtube.com/watch/The-Hostage-Audi-Ad

Unfortunately Youtube does not have friendly URLs - but they don't need it since they are blessed with high page ranks - on the other hand the rest of us should care.

Don't have multiple URLs for the same page
Here is a thought imagine you are asking for directions to the highway and someone tells you:
  1. You can go North on Cawthra turn East on Burnhamthorpe, then North on Hurontario and you will see the ramps after Robert Spec....OR
  2. You can stay North on Cawthra until you get to the ramps when you reach East Gate
If I am already late or lost I really don't need to think about different routes to my destination. So stick to canonical URLs - that is the standard way of giving out directions i.e. http://www.elshawwa.blogspot.com and not http://elshawwa.blogspot.com

Also, if you are using friendly URLs for your content don't even think about leaving the non friendly URLs. Whatever reason you may have to think it is good, you are wrong. So having http://www.mywebsite.com/members/12 and http://www.mywebsite.com/members/nael is never a good idea. You may tell yourself "But this way I give my users more ways to access my content and they can choose what they like best". Do you know what happens to restaurants with overstuffed menus operating under the misguided notion that more choice is better and that to be successful in that business you need to offer every dish under the sun - even if it means offering french fries in an authentic Indian restaurant? Well, they end up on Kitchen Nightmares with Gordon Ramsay. What you would do in this case, is point these old URLs to a 404 page where you can direct the user to the right URL.

Bloggers: say no to a short URL
Goes back to the first point of having descriptive URLs:
  • http://www.elshawwa.blogspot.com/seo
  • http://www.elshawwa.blogspot.com/seo-url-best-practices
Which would you click on? Sure they are both descriptive but clearly one is better than the other. URLs can be multi word - just separate them with dashes - so make use of max size. On blogger I first publish the post with the keywords that describe my post the best as the title. I then edit it and save it with the proper title I want.

Say no to long URLs
Ok now you might think I am being indecisive here, but hear me out. For the sake of the argument, say you are going for an interview and you are lead through 6 doors, down 4 flights of stairs, through more doors, down an elevator into the basement, and finally through even more doors to meet the boss. What would you think at this point? I would think this is some kind of joke as clearly if this person was of any importance they would not be tucked away where the sun does not shine.
So back to URLs, if you see yourself doing something like:
http://www.mywebsite.com/news/world/europe/italy/soccer/ac-milan 
then think of that boss tucked away in the basement's basement - that is what your visitors will think.

So what is behind my reasons of publishing this? Mainly because by default content management applications generate URLs for you and attach all sorts of stuff to the url, from session ids, content ids, user ids, dates, times, you name it they have it. For example Liferay Portal does that, and if you go to Liferay's website you will see it. That /web/guest/home part is really annoying and adds no value to your URL. Last week I figured out how to get that rubbish out, and from now on this is the first thing I will do when promoting any Liferay portal to production. I'm actually surprised Liferay has it on their production site, and that is mainly the reason why I have incorrectly assumed it can't be removed.

Removing the /web/guest/home part from a Liferay URL is easy:
  • First go into your Communities Admin panel and decide on the Community you want to do this for
  • For your public facing site, that is your Guest community. So click on the Configure Pages action under Actions
  • One of the tabs is "Virtual Hosting" - click on it
  • Set up your public domain i.e. mywebsite.com
  • Clear out the field that appends /web after the domain. Usually you don't want anything in there unless you have multiple Communities in Liferay





1 comment: