![]() Join Up! 96814 members and counting! |
|
|||
Building Dynamic Pages With Search Engines in Mind
Tim Perdue
Almost any developer knows that search engine placement is
critical to the success of a web site. What many people don't
know is that a lot of search engines cannot index many database-driven
pages (basically any page with a '?' or '&' in the URL).
So when I set about building gotoCity.com, one
of my goals was to make the site database-driven, but still indexable. I didn't want
any use of cookies or mile-long URLs, and the site had to be co-brandable
to top it all off. That meant the look-and-feel of the site had to be dependent
on which "affiliate" site was being accessed (gotoCity.com is just one incarnation of the
"DirectriCity" engine).
To pull this off, I started with a subtle Apache feature that can "force" a
script to be called for any certain directory tree. In my case, I wanted all
URLs that fall under "/local/" to call a script. This would be MUCH easier
than creating 200,000 localized, co-branded web pages and a genuine directory
structure to match it.
So in Apache's
access.conf
file, I added the following lines:
<Location /local>
This forces everything under the "/local/" directory to call a script called
"local" in the root of my server. "local" then uses PHP to parse the URL
and act accordingly:
As you can see, if you break everything up into includes, and you have
a sensible hierarchy, this task is not terribly difficult. I now
have over 200,000 dynamic web pages that can be traversed by *any*
web indexing engine! The number increases proportionately with each
new affiliate (just create a new affiliate record in the affiliate
table).
Next week, I will talk about Logging. I built a sophisticated,
PHP logging and redirection engine to power this system.
I would appreciate any comments/criticisms about this article
or how my system could be improved.
--Tim
|