There are three major Web design practices that can sabotage your efforts to get noticed by search engines: frames, image maps, and dynamically generated pages.
While frames were useful for showing more than one page at a time, this flexibility can also kept them from getting indexed by search engines. Some search engines will ignore a frameset's frames in favor of its alternate content (as marked by the noframe tag). And if they do index an individual frame, search engines often give the individual frame as a result, which may or may not make sense without the enclosing frameset (Figures 24.16, 24.17, and 24.18). For more on frames, see my Web site (see page 25).
Figure 24.16. So inspired by the endless Catalan examples in this book, you go searching for Catalan at Yahoo and find this page.
Figure 24.17. You click on the link, and unbeknownst to you, see only an individual frame, instead of the entire frameset. You're missing a huge part of the site.
Figure 24.18. You might never see the rest of the site. The person who designed this frame-based site (yes, it was me) should have given you a way to get to the frameset from the individual frame.
Some search engines don't know what to do with image maps and ignore them altogether. Any linked pages may thus not get indexed. It's always a good idea to repeat the links from an image map as text, both for search engines and for visitors who cannot use images.
Dynamically generated pages
While you can create fancy, customized effects by dynamically creating pages based on information you've collected from your visitors, these pages are hard for search engines to deal with. On the one hand, they may be suspicious that you're trying to serve different versions to search engines than you are to regular visitors (a big no-no that can also get your page removed from a search engine). On the other hand, the page is a moving target; there's no place to link to once a prospective visitor says they're interested in going back. At the very least, use URLs that search engines can digest, preferably without? or & (as may appear in CGI instructions).