PHPBuilder - Building Dynamic Pages With Search Engines in Mind Page 2



RSS Twitter
Articles Tricks And Hacks

Building Dynamic Pages With Search Engines in Mind - Page 2

by: Tim Perdue
|
July 30, 2000


<?php

/*
Sample URLs:
/local/2/us/IA/a/50613/apartment/ - apartments in Cedar Falls, IA
/local/2/us/IA/a/         - group of cities in Iowa
/local/2/us/              - States in the US
/local/1/us/IA/a/50301/       - Des Moines City.net
*/

$url_array=explode("/",$REQUEST_URI);  //BREAK UP THE URL PATH
                       //    USING '/' as delimiter
$url_affil_num=$url_array[2];      //Co-Branding info
$url_country=$url_array[3];        //Which Country?
$url_state=$url_array[4];          //Which State?
$url_alpha_state=$url_array[5];    //Cities starting with a-g
$url_zip=$url_array[6];        //If present, build thispage
$url_content=$url_array[7];        //If present, build a sub-
                       //    page for this city

/*
separate includes were designed to fetch the affiliate cobranding
and build appropriate style sheets on the fly. Data validation is
done prior to each query. If a URL is incorrect, bow out gracefully
or redirect home
*/

if($url_zip) {

/*
If present, query the Zip code database and build the page.
Inside the city.inc, we will check for which "content page" we are
building, if any.
*/

    
include('include/city.inc');
    exit;

} elseif (
$url_state) {

/*
If URL PATH ends here, query Zip code database,
selecting DISTINCT cities in this state
*/

    
if (!$url_alpha_state) {
        
$url_alpha_state='a';
    }
    include(
'include/state.inc');
    exit;

} elseif (
$url_country) {

/*
If URL PATH ends here, query ZIP code database,
selecting DISTINCT states for this country
*/

    
include('include/country.inc');
    exit;

} else {

/*
must be mal-formed. Redirect to home
*/

    
Header"Location:  http://db.gotocity.com/local/2/us/");
    exit;
}

?>
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

« Previous Page
1
|
2

Comment and Contribute

Your comment has been submitted and is pending approval.

Author:
Tim Perdue

Comment:



Comment:

(Maximum characters: 1200). You have characters left.