Many websites utilize databases which picks data from backend and display on the website by using dynamic script like PHP or javascript. These type of sites are considered as dynamic websites.
Now a days, many websites choose dynamic content over static content. This is because a website has thousands or lakhs of products or pages, creating, maintianing and updating each static manually is a task. In this case, when data is picked from backend on the basis of search criteria then a dynamic URL is generated for that page. The URL of a web site runs a script. While in case of static website, the content of the web page stay the same unless the changes are hard-coded into the HTM or HTML.
Dynamic URLs are generated from the specific queries based to a site's database. The dynamic page is just 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 in optimization of dynamic URLs, search engines don't like them. The big risk is of search engine due to dynamic URLs are e-commerce stores, forums or any other database-driven website. Many times, the URL that is generated for the content in a dynamic site looks something like: http://www.mysite.com/forums/thread.php?thread_id=12345&sort=date On the other hand, static URL doesnot change and doesn't have variable strings. It looks : http://www.mysite.com/forums.htmlStatic URLs are typically ranked quickly in SERP and they are indexed more quickly than dynamic URLs, if dynamic URLs get indexed at all. Static URLs are easy 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.
Search engines resolve this issue by cutting off the URLs after a specific number of variable strings (e.g.: ? & =). For example, http://www.mysite.com/forums/thread.php?thread_id=12345&sort=datehttp://www.mysite.com/forums/thread.php?thread_id=67890&sort=datehttp://www.mysite.com/forums/thread.php?thread_id=13579&sort=date
All tha above URLs point to three different pages. But if search engine purges the information after the first offending character, the question mark (?), now all three pages look the same: http://www.mysite.com/forums/thread.php http://www.mysite.com/forums/thread.php http://www.mysite.com/forums/thread.phpNow in the eyes of search engine or crawler, you don't have unique pages and consequently, the duplicate URLs won't be indexed.
Another important issue is that dynamic pages generally do not have any keywords in the URL. It is very important to have keyword rich URLs for getting the ranking and indexing. Highly relevant keywords should appear in the domain name or the page URL. This became clear in recent study on how the top three search engines, Google, Yahoo, and MSN, rank websites.
The study involved taking many 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, is if your site is hosted on a Linux server, then you will want to make the most of the Apache Mod Rewrite Rule, which provides the ability to redirect one URL to another URL, without the user's (or a search engine's) knowledge. You need to install this module in Apache. This module saves you from rewriting your static URLs manually.
How does this module work?
When a request comes into 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.
For example, when someone requests this URL: http://www.mysite.com/forums.html 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=$1It then converts the static URL to the old dynamic URL that looks like this, with no one the wiser: http://www.mysite.com/forums/thread.php?thread_id=12345
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 and still keeping the dynamic URL. With the help of URL Rewriting Tool, you can 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,
One more importatn thing, add your dynamic URLs to your Robots Exclusion Standard File (robots.txt) to keep the search engines from spidering the duplicate URLs.
Enjoy, High ranking and indexing !!