Creating subcategories works well if you have a few hundreds of pages. But in some cases, you may have thousands or even millions of them. Take a website like Trekearth for instance. They have a large number of subcategories based on geography, but still have to use pagination as they have too many photos to present for some of them.

In this kind of case, faceted classification can be used. The facets are different ways to classify data. They, in turn can have different levels. A photograph may have facets based on location (with several levels: country/city/location), type (macro, portrait, landscape, still life), subject (again with several levels: animal/mammal/cattle/cow), format, filesize, etc... By combining only a portion of these facets, you will be able to create thousands of intermediate pages, thus avoiding pagination. There will be only one page showing cow portraits taken in India...

The main problem with this technique is providing different text content for the intermediate pages. As you take info from different facets, it is impossible to create unique texts for every one of these pages. On the other hand, it creates numerous pages suitable for SEO.

Interesting tools. Maybe WordButler will integrate the new figures Google started to show this morning on their keyword tool.

As for rankings, they are mainly useful to satisfy the clients ego... or make them call you in fury because they are no longer #1 on that particular keyword they boasted about last week.

This said I have found another tool that has an interesting function. It is called Yooda SeeURank (beware, the website is in French) and it has one function I have not found elsewhere called: competitor analysis.You type a number of keywords, choose a series of search engines and it gives you the top 20 websites on these. The main drawback is that you cannot get detailed results on this kind of query, so you do not know who ranks on what. If anyone has a tool that does the same thing and provides details, I'd be glad to try it!

Many CMS out there return a 200 header when displaying a 404 error. There are usually workarounds, but the 404 header should be default behaviour.

14. Proper handling of multiple languages

I have seen a proprietary CMS that handled language changes by passing a cookie. Definitely not the way to go.

15. Links are relative to server root, not document

An important requirement. Imagine that a user makes an error in linking the homepage, adding a space at the end of the link. This may create a URL like www.domain.tld/%20 with all the links on that page having the %20 in it - if they are relative to the document.

Finally, I had to work on SEO on expensive CMS and portal systems and quickly reached the conclusion that the most expensive they are, the crappier for SEO. Like identity, I like MODx, use and recommend it, but think it is currently limited for multiple language websites and not suitable for large ones (1000+ documents).

There is another method I have seen in use on some websites. They make all the links towards these pages unreadable with javascript. The links are obfuscated, so that search engines may not even detect they are links to other pages.