Home arrow Web Services arrow Page 6 - Make Dynamic URLs Search Engine Friendly
WEB SERVICES

Make Dynamic URLs Search Engine Friendly


Using a database to dynamically create web pages makes for a much improved site in many ways. However, such URLs are not very search engine friendly. Search engines are much better at indexing static pages, and don't do a good job of following hyperlinks that contain query strings. The advantages of a dynamic site are overwhelmingly obvious--so what is to be done? With a little extra effort, you can create a dynamic site that is easily crawled by webbots.

Author Info:
By: Peter Lavin
Rating: 4 stars4 stars4 stars4 stars4 stars / 69
March 01, 2004
TABLE OF CONTENTS:
  1. · Make Dynamic URLs Search Engine Friendly
  2. · Check Your Server
  3. · Create an .htaccess File
  4. · Upload .htaccess to Your Server
  5. · Test the Results
  6. · Modifying Your Code
  7. · Conclusion

print this article
SEARCH DEVARTICLES

Make Dynamic URLs Search Engine Friendly - Modifying Your Code
(Page 6 of 7 )

Now that you’ve tested your URL and it works, modifying your code is all that remains to be done. Every instance of a dynamically-created URL must be revised. Just to clarify, in our example that would be all URLs that invoke the page main.php using a query string with two parameters, the first named category and the second named subject. Any other dynamic URLs that do not match this pattern will have to have their own separate rewrite rule. But let’s keep it simple and look at a code example, again referring to our sample URL.

Original Code

Assume that our database has been opened and the result set of a query has been returned into the variable $rs. Iterating through this result set using a while loop creates the dynamic URLs. This is done with the following code:

<?php
while($row = @ mysql_fetch_array($rs)){
$category = $row["category"];
$category = URLencode(htmlentities($category,ENT_QUOTES));
$subject= $row["subject"];
$subject = URLencode(htmlentities($subject,ENT_QUOTES));
/*format for following HTML result
http://www.mysite.com/main.php?category=books&subject=biography
*/
echo "<a href=\"http://www.mysite.com/main.php?
category=$category&subject=$subject\">";
echo "$row[description]</a><br>\n";
}
?>

The fields category and subject are self-explanatory. description is simply the text that will appear as the clickable hyperlink. You can see in this example how a query string with two parameters has been created. The first parameter is separated from the page itself by a “?” and the second by an “&”. This is the line of code that will need modification.

Revised Code

<?php
while($row = @ mysql_fetch_array($rs){
$category = $row["category"];
$category = URLencode(htmlentities($category,ENT_QUOTES));
$subject= $row["subject"];
$subject = URLencode(htmlentities($subject,ENT_QUOTES));
/*format for the URL rewrite is as follows
http://www.mysite.com/type$category-$subject.htm
*/
echo "<a href=\"http://www.mysite.com/type$
category-$subject.htm\">";
echo "$row[description]</a><br>\n"; 
}
?>

Notice that a comment showing the format we are aiming for has been inserted into the code. This is the text that was saved in the file format.txt. It will serve as a handy reference so that mistakes are avoided. You can see that all that has been changed is the one line that actually creates the query string.


blog comments powered by Disqus
WEB SERVICES ARTICLES

- Dealing with Loose Coupling in a Service-Ori...
- Loose Coupling in a Service-Oriented Archite...
- Safety, Idempotence, and the Resource-Orient...
- The Resource-Oriented Architecture in Action
- Features of the Resource-Oriented Architectu...
- The Resource-Oriented Architecture
- Getting Started with Flex
- Automated Billing and Faxing for the Web
- An Introduction to Web Services
- The Foundations of Web Services: From Novice...
- Web Services Reengineering: Finishing Touches
- Fault Handling with Web Services
- Flow and Web Services
- Process Lifecycles and Web Services
- Business Processes and Web Services

Watch our Tech Videos 
Dev Articles Forums 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
Contact Us 
Site Map 
Privacy Policy 
Support 

Developer Shed Affiliates

 




© 2003-2017 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap
Popular Web Development Topics
All Web Development Tutorials