This chapter will look at features that not every CMS includes and which haven't been covered elsewhere.
What are some of the dynamics and challenges to handling multiple languages?
What do we need to consider before serving more than one website out of the same CMS implementation?
Why can't every CMS offer search as well as Google does?
Do CMS form building tools allow me to fire our developers and start building applications myself?
How and why might we change the content of our website in real-time based on visitor behavior?
On why dynamic, real-time personalization can be problematic.
Clearly, with great power comes great responsibility. It's quite easy to introduce usability problems by changing a website's structure or content in real-time. If a user has viewed personalized content and sends the URL to a friend, that friend might not see the same thing when they visit. The original user might not even see the same thing the next time they visit the site, or even the second time they navigate to the same page in the same session.
This also raises the question of how to handle search engine indexing. When the Googlebot visits the site (or even the site's own indexer), what content does it index? Do you leave it to the default, non-personalized content, or do you create a personalization group specifically for search engine indexers and display all the content, in an attempt to have as much indexed as possible. Then what happens when a page is returned by a Google search based on content that isn't present unless the user's behavior has put them into a specific personalization group?