Static URLs are very important to achieve best possible search engine positioning and to increase web site performance. Article comments main static web page types and how to maintain them using URL rewriting technology.
In this article I would like to comment how to choose web site page names to achieve best possible visitor's experience and search engine ranking.
Firstly one needs to understand the difference between static and dynamic URLs.
Dynamic Pages
Dynamic website page names are used to send variables to a script file in order to perform a task that usually generates dynamic results. Dynamic URLs always contain question mark that separates file name from sent variables. Example name "do.php?a=1&b=2" would pass variable a=2 and b=2 to "do.php" script file that generates some response.
Such technology is very useful for web designers but it down performs in search engine listings. Search engines prefer static URLs that are less likely to change over time.
Static Pages
To explain static page naming we are going to use two example URLs: "about.htm" and "about.php".
Classic example of a static page name consists of name and extension. Page name extension indicates technology ("htm" says that page uses HTML technology) or a programming language ("php" extension indicates that page was generated using PHP server side scripting) used.
Many consider that pages with extension other than "htm" or "html" are worth more than those with server side scripting language indicators (like PHP, ASP and others).
If you will try to search for "search engine optimization" in Google and look at domain names of first 20 web sites, you will notice that URLs with many extensions are present. This indicates that search engines don't really care about extension as long as the page represents useful information for the visitor.
Friendly URLs
Friendly URLs are static page names with no extension at all. Friendly page names are very useful to the user as they are easy to remember (E.g. help, shop, contact …). Extension-less construction protects page names from becoming obsolete if different web technology is going to be used to generate / present them in the future. Such names can be achieved only using URL rewriting technology.
URL rewriting
Rewrite engine is a special service on the server that modifies URLs before they are processed by scripting language. It is used to convert dynamic page names to static ones:
Dynamic page:
index.php?page=news&item=34
Can be changed to static page:
news/34.html
Or simply
news/34
Rewrite engine is very helpful to maintain static page names for complex database driven websites, where parameters have to be sent to generate results. Dynamic pages are usually not cached by web browsers so by using rewrite technology to generate static pages one increases overall web site performance.
Apache web servers have built in component called "mod_rewrite" which allows setting up rewrite engine by uploading RegExp (Regular Expression) commands to ".htaccess" file. For those who use Windows IIS web servers - Free IconicIsapiRewrite plug-in can be installed to achieve URL rewriting.