I have optimised several content management systems and Iíve had good and bad experiences.
Sometimes you can give the developers a list of identified problems and they will fix it within a week. Unfortunately I have also had a lot of cases where adjustment werenít possible and I had to inform the client that their site newer would be crawled by a SE.
There always seems to be one common problem, which is ď?Ē in the URLís. This can be solved with an ISAPI filter, which rewrites the URL.
URL before: \view.asp?id=XX
URL after: \XX.asp
The URLís in the HTML also needs to written as \XX.asp instead of \view.asp?id=XX, which means that all templates and navigation need to be adjusted accordingly.
I have experienced that many CMS developers find this solution very complex and beyond their capabilities. However, Iíve also had the pleasure of working together with a developer who wrote the ISAPI filter in C/C++ and adjusted the templates and it didnít take more than a days work.
Once the URL structure is SE friendly you can start optimising the site. However, the room for optimisation is often very limited because a site usually is build around 5-10 templates. Normally all pages have a document title or header, which can be used in the title tag. All you have to do is add this field in the template: <title>$$TITLE;</title>
Making the URLís SE friendly and insuring unique titles on all pages may seem like very low tech SEO but it is very effective.
I have got a few clients who had a hopeless CMS with about 1000 pages but only the front page was indexed. Now all 1000 pages are indexed with unique and relevant titles. You can imagine what happened to the internal link pop and the traffic from the SEís exploded.