While this has become much better and a normal standard today, it is still important to have in mind as a developer. There is still way too many CMS and other platforms out there using parameters and creating URL’s like /index.php?page=42&s=32. Paremeters is a great thing for web development, and can surely be used when doing applications for logged in users and so on. But for content for the web, which is supposed to be indexed in the search engines, you will need to make better URL’s.
Note: Google has become a lot better in reading and understanding parameters, and yes – in Webmaster Tools you can set what your parameters do etc. which is good for fx. Pagination. However, the use of parameters should always be limited as much as possible.
The main thing to remember with URL’s are to get the keywords in. If you are allowing your users to create dynamic content (fx. CMS pages), make sure to generate the URL string from the title or give the user control of creating a URL.
Another thing Google likes, especially if you have dynamic content and nested categories, is using the URL as a “breadcrumb” structure. A good idea would be to have for example:
/category/subcategory/item
Just remember not to have too long URL’s, and follow the basic rules. Also make sure that nested URL’s like the above are actually related and it is the correct path for the item.
Note: Google is in general really good at understanding breadcrumb structure, but always make it as easy as possible. The above example is both easy to understand for the crawlers and for the human eye.
Another thing to remember when making pretty URL, is that while the robots and browsers in general can read, crawl and understand special signs (fx. ñ in Spanish) it is generally a bad idea to use those in urls. I learned this the hard way, and discover that Google doesn’t encode the url, so if you for example use urlencode()/urldecode() in PHP, you will get different requests from Google and from normal browsers. So remember to always make urls plaintext; no exceptions.
A last thing about URL structure is that you should choose one and stick to that. Make sure that once content has been created, and has an URL (fx. /category/item), they will not change. Make sure that you create the proper 301 redirects if you change the URL structure, and implement the canonical tags as described in the last post.
This is part 2 of 5 in my series of Must-Know SEO for Developers. You can find all the parts here.