I have a dynamically generated site which places question marks and equal signs in the URL. My mother's hairdresser told me that I need to create static HTML pages in order to show up in the search engines. What do you think?
For the most part, the search engines no longer choke on query strings (those question marks and equal signs) in URLs. Just try to make sure that your content management system (CMS) doesn't put more than 3 parameters in, and you should most likely be okay. Whenever I'm asked this question, I check the person's site in Google and Yahoo -- and 99% of the time just about all of their pages are indexed already. In those cases, there are not any technical issues; they simply have to do a better job of optimizing their pages for their appropriate keyword phrases.
The most important thing to do with a dynamic site is to create links to the important, optimized pages of the site. Sometimes the only way to find certain information on one of these sites is to fill out a form which then conducts a search of the site. A page that has what you're looking for is then created for you and displayed in your browser. Unfortunately, that type of page will not be accessible by the search engines because it doesn't actually exist on the server. If there are specific pages that are created through specific search criteria that many people would be looking for on your site, those are the ones you should create links to in your site navigation and your site map.
You'll also want to make sure that your CMS is capable of generating unique Title tags for every page of the site. If not, you'll have to fix this in the system because this is actually one of those things that will be critical to your search engine success.
Please read my interview with Alan Perkins for more info on the ins and outs of
creating a crawler-friendly dynamic site.
If you want more SEO Q&A, please sign up for our SEO Newsletter