The Issue at Hand
Websites that utilize databases which can insert content into a webpage
by way of a dynamic script like PHP or JavaScript are increasingly
popular. This type of site is considered dynamic. Many websites choose
dynamic content over static content. This is because if a website has
thousands of products or pages, writing or updating each static by hand
is a monumental task.
There are two types of URLs: dynamic and static. A dynamic URL is a
page address that results from the search of a database-driven web site
or the URL of a web site that runs a script. In contrast to static URLs,
in which the contents of the web page stay the same unless the changes
are hard-coded into the HTML, dynamic URLs are generated from specific
queries to a site’s database. The dynamic page is basically only a
template in which to display the results of the database query. Instead
of changing information in the HTML code, the data is changed in the
database.
But there is a risk when using dynamic URLs: search engines don’t like
them. For those at most risk of losing search engine positioning due to
dynamic URLs are e-commerce stores, forums, sites utilizing content
management systems and blogs like Mambo or WordPress, or any other
database-driven website. Many times the URL that is generated for the
content in a dynamic site looks something like this:
A static URL on the other hand, is a URL that doesn’t change, and doesn’t have variable strings. It looks like this:
Static URLs are typically ranked better in search engine results pages,
and they are indexed more quickly than dynamic URLs, if dynamic URLs get
indexed at all. Static URLs are also easier for the end-user to view
and understand what the page is about. If a user sees a URL in a search
engine query that matches the title and description, they are more
likely to click on that URL than one that doesn’t make sense to them.
A search engine wants to only list pages its index that are unique.
Search engines decide to combat this issue by cutting off the URLs after
a specific number of variable strings (e.g.: ? & =).
All three of these URLs point to three different pages. But if the
search engine purges the information after the first offending
character, the question mark (?), now all three pages look the same:
Now, you don’t have unique pages, and consequently, the duplicate URLs won’t be indexed.
Another issue is that dynamic pages generally do not have any keywords
in the URL. It is very important to have keyword rich URLs. Highly
relevant keywords should appear in the domain name or the page URL. This
became clear in a recent study on how the top three search engines,
Google, Yahoo, and MSN, rank websites.
The study involved taking hundreds of highly competitive keyword
queries, like travel, cars, and computer software, and comparing factors
involving the top ten results. The statistics show that of those top
ten, Google has 40-50% of those with the keyword either in the URL or
the domain; Yahoo shows 60%; and MSN has an astonishing 85%! What that
means is that to these search engines, having your keywords in your URL
or domain name could mean the difference between a top ten ranking, and a
ranking far down in the results pages.
The Solution
So what can you do about this difficult problem? You certainly don’t
want to have to go back and recode every single dynamic URL into a
static URL. This would be too much work for any website owner.
If you are hosted on a Linux server, then you will want to make the most
of the Apache Mod Rewrite Rule, which is gives you the ability to
inconspicuously redirect one URL to another, without the user’s (or a
search engine’s) knowledge. You will need to have this module installed
in Apache; for more information, you can view the documentation for this module here. This module saves you from having to rewrite your static URLs manually.
How does this module work? When a request comes in to a server for the
new static URL, the Apache module redirects the URL internally to the
old, dynamic URL, while still looking like the new static URL. The web
server compares the URL requested by the client with the search pattern
in the individual rules.
The server looks for and compares this static-looking URL to what information is listed in the .htaccess file, such as:
RewriteEngine on
RewriteRule thread-threadid-(.*).htm$ thread.php?threadid=$1
It then converts the static URL to the old dynamic URL that looks like this, with no one the wiser:
You now have a URL that only will rank better in the search engines, but
your end-users can definitely understand by glancing at the URL what
the page will be about, while allowing Apache’s Mod Rewrite Rule to
handle to conversion for you, and still keeping the dynamic URL.
If you are not particularly technical, you may not wish to attempt to
figure out the complex Mod Rewrite code and how to use it, or you simply
may not have the time to embark upon a new learning curve. Therefore,
it would be extremely beneficial to have something to do it for you.
This
can definitely help you. What this tool does is implement the Mod
Rewrite Rule in your .htaccess file to secretly convert a URL to
another, such as with dynamic and static ones.
With the ,
you can opt to rewrite single pages or entire directories. Simply
enter the URL into the box, press submit, and copy and paste the
generated code into your .htaccess file on the root of your website.
You must remember to place any additional rewrite commands in your
.htaccess file for each dynamic URL you want Apache to rewrite. Now,
you can give out the static URL links on your website without having to
alter all of your dynamic URLs manually because you are letting the Mod
Rewrite Rule do the conversion for you, without JavaScript, cloaking, or
any sneaky tactics.
Another thing you must remember to do is to change all of your links in
your website to the static URLs in order to avoid penalties by search
engines due to having duplicate URLs. You could even add your dynamic
URLs to your Robots Exclusion Standard File (robots.txt) to keep the
search engines from spidering the duplicate URLs. Regardless of your
methods, after using the , you should ideally have no links pointing to any of your old dynamic URLs.
You have multiple reasons to utilize static URLs in your website
whenever possible. When it’s not possible, and you need to keep your
database-driven content as those old dynamic URLs, you can still give
end-users and search engine a static URL to navigate, and all the while,
they are still your dynamic URLs in disguise. When a search engine
engineer was asked if this method was considered “cloaking”, he
responded that it indeed was not, and that in fact, search engines
prefer you do it this way. The
not only saves you time and energy by helping you use static URLs by
converting them transparently to your dynamic URLs, but it will also
save your rankings in the search engines.