This SEO question appears on most SEO forums from time to time and is another generally misunderstood SEO topic and one all SEO consultants should understand.
What’s a static HTML page?
The classic static web page is generated from an actual page ‘physically’ located on the server: so if you had a page named static-page.html somewhere on your server you could find and download this page (it exists, you could grab it via FTP).
The very first websites all used static HTML pages and so the first search engines cut their teeth on static web pages.
What’s a dynamically generated web page?
As the web developed a new way to generate websites arrived, dynamically generated web pages. They differ from static pages in that there is no ‘physical’ equivalent to the page you may be viewing on the server (so you can’t directly download it via FTP).
Dynamically generated pages in it’s simplest form is a single template page that’s used to generate an entire website (could be 1,000,000 page site). Since dynamic pages use scripting languages like PHP and ASP the template will be named after that language for example dynamic-page.php.
This one template page can then be used to create a theoretical unlimited number of unique (unique content) pages each with a unique dynamically generated URL. A simple example would be a 100 page site with each page generated with the format below-
dynamic-page.php?page=1
dynamic-page.php?page=2
dynamic-page.php?page=3
dynamic-page.php?page=4
dynamic-page.php?page=5
…
…
dynamic-page.php?page=100
None of the pages above exist ‘physical’, they are all generated from the single dynamic-page.php page using server-side scripting (PHP in this example). The content from each page could come from a MySQL database, updating the database also updates the website content. Editing the dynamic-page.php changes the entire site.
Many new to web sites looking to go dynamic become confused when they can’t find a page like dynamic-page.php?page=4 on their server (FTP) to edit and post to forums asking how to find them
![]()
Why use dynamically generated content?
There are many benefits to dynamically generated websites, this site for example uses the WordPress CMS (Content Management System) which creates dynamically generated pages with a very easy to use back-end for adding and editing content on the fly (any fool can create a site using WordPress and many do!).
A user of WordPress types/pastes content into a text editor like web page (similar to Word), gives it a relevant title etc… clicks a publish button and within seconds the page is available on the website with links from any relevant sections automatically created. Add a new section to the site and the CMS automatically creates a link from the menu, so visitors to the site have immediate access to the new section.
This is just the tip of the ice berg of what’s possible with dynamically generated content, this site uses a WordPress plugin that automatically links phrases to a relevant page (the phrase “Text Links” automatically links to a relevant page and “SEO Consultant” to another page).
To do this with static HTML pages could involve hours of manual editing, though there are ways to simplify the process for example using server-side includes so the menu code (the menu links) are held in a separate file (edit one file, whole site updated). But even with includes and similar techniques static HTML sites (especially large sites) are far more time consuming to maintain than a well thought out dynamically generated site.
Now you know why smart webmasters use dynamically generated sites now we’ll deal with how the search engines, especially Google handle dynamic sites.
Search Engines and Dynamic Sites
In the early days Google etc… could only handle simple URLs like static-page.html and choked on URLs like dynamic-page.php?page=1.
As more and more websites went dynamic the major search engines played catch up, first being able to deal with simple constructs like dynamic-page.php?page=1 and later the more complex dynamic URLs like-
dynamic-page.php?section=SEO&page=1
dynamic-page.php?section=SEO&page=2
dynamic-page.php?section=SEO&page=3
In the example above we now have 2 variables, a section and a page.
Search engines like Google at first could only handle a small number of variables, wasn’t that long ago when Google would choke on 4 or more variables in a dynamic URL-
dynamic-page.php?section=SEO&sub=Spiders&Bot=Googlebot&page=1
dynamic-page.php?section=SEO&sub=Spiders&Bot=Googlebot&page=2
dynamic-page.php?section=SEO&sub=Spiders&Bot=Googlebot&page=3
And so it was advisable to limit the number of variables passed.
Right now Google and the other major search engines can handle multiple variable URLs, not unusual to find 4+ variables in an indexed page and so there is no SEO reason NOT to use dynamic URLs since they can and will be fully spidered and indexed just like any static HTML page.
That said there’s two reasons for avoiding dynamic URLs, the first isn’t a big deal, so I’ll deal with it first.
Dynamic Sites are Spidered Slower than Static Sites
Google in particular has made it clear dynamic sites are spidered slower than static sites. The reason for Google to do this are webmaster friendly (as I’ve recently discovered), dynamically generated sites can potentially have unlimited pages and so Google assumes a dynamic looking site (a site with URLs like dynamic-page.php?page=1) is big and slows the crawl speed. It does this to limit server load because if a dynamic site (any site) has millions of pages, Googlebot and the other spiders could cause the server to crash if they spidered too many pages at one time.
The above has happened to my server, I use many dynamically generated sites, one script in particular uses Amazon’s XML feed to generate an Amazon affiliate store with millions of Amazon products. I have quite a lot of these stores, so potentially tens of millions of pages spidered by Google etc…
I use something called mod_rewrite to convert dynamic URLs to appear static (an SEO technique) in a web browser or search engine spider, so to Google on my server it finds tens of millions of static looking pages which it spiders at full speed!
This has brought my server to it’s knees at times and I’ve had to take measures to slow Googlebot and other spiders!
For an average user though the slower spidering won’t impact SERPs to a great degree, your new pages may take a day or two longer to be indexed, but they’ll get there eventually and when indexed will gain what ever SERPs they deserve.
For this reason if you have a dynamically generated site that’s regularly indexed by Google etc… it’s wise to keep things as they are.
SEO Pros and Cons of Dynamic vs Static HTML
If you are starting a new site and want the most traffic out of Google etc… then filenames are important and static HTML pages are very easy to name for maximum SEO effect.
You create a new page and give it a filename like-
best-seo-filename-in-the-world.html
An equiveleint dynamic URL might look like-
index.php?page=best+seo+filename+in+the+world
or even-
index.php?page=1
To Google all are spiderable/indexed, but the first one is the best because Google takes all words it recognises from a URL and uses that in the rankings algorithm.
Google treats hyphens (-), plus (+), equal (=) and dot (.) as a word separator so it reads the URLs above as-
1. best seo filename in the world html
2. index php? page best seo filename in the world
3. index php? page 1
The first has 7 recognisable words and one (html) is wasted (and you don’t have to use html).
The second has 9 recognisable words and three (index php? page) are wasted.
The third has 4 recognisable words and all four (index php? page 1) are wasted.
Wasted meaning not part of the keyphrase this page is targeting.
As you can see the HTML version is the best because it is so easy to manipulate and the dynamic URLs can range from terrible to not too bad.
As an SEO consultant I want the most out of each and every page, so when I create a site I try to make all filenames SEO friendly, but I also like to use dynamic sites because they save so much time in managing content and this is where mod_rewrite rears it’s ugly little head!
Mod_rewrite an SEO Consultants Nightmare
The hours I’ve spent converting dynamic URLs into static looking URLs through mod_rewrite is my own little hell, one tiny mistake and nothing works! But get it right and you can convert ugly SEO unfriendly dynamic URLs into SEO friendly static like filenames that Google etc… loves.
Not going to try to explain in this article how to use mod_rewrite, so open up Google type in mod_rewrite and have fun
If you find mod_rewrite is beyond your skill set, take a look at WordPress CMS, designed as a blogging platform, but very easy to convert to a general CMS (the SEO Consultant Services site uses WordPress, just remove the monthly archive from the menu). Out the box WordPress creates dynamic looking URLs, but with a few clicks of a mouse they can be converted (easily) to the URLs you see with this site.
Note: mod_rewrite is for Apache servers only.

12 responses to Static HTML vs Dynamic URLs
hi
Yes, I saw Matt cutts Says that.
Regards,
There is a tool that can do that:
http://www.search3w.com/product_be_visible.html
It converts an entire dynamic site into a static site while SEOing the web-pages.
It gives you nice RAR file with all the static pages to upload anywhere you like.
Excellent comments. I had not thought about the ‘index.php’ being a wasted word.
Also, Drupal has an excellent mod-rewrite module in it that I find very appealing.
I have some articles I’ve written on this subject, including, google hates dynamic URLs http://www.seoproinfo.com/google-hates-dynamic-urls.html, the History of Session IDs and SIDs are Spider Killers http://www.seoproinfo.com/sids-are-spider-killers.html that you may find interesting.
Static HTML vs Dynamic URLs
Hey there! Thanks for this site and for offering so many tips.
Just one question: Do the search engines regard a POST (with a permalink structure setup so that posts look like www.domain.com/post_name.html) as a static html page?
When I add a post with my permalinks setup like this, it appears to me (looking at the URL) that it is a unique page within the site, but does Google see it the same way?
I ask because I want to properly optimize my site and I know that each PAGE should be otpimized around only one main keyword. I’m just not sure if creating posts optimized around on main keyword would be indexed by the search engines the same as if I had created a new page all together, or if I should create new PAGES rather than posts…
I interpret your explanation here as that any wordpress based site is essentially just a one-page site, with that page dynamically generated. Thus a POST is essentially the same as a PAGE in this context. That said, when one uses WP to ‘add a page’, is WP actually creating a second instance of the template, thus the site now really has two pages? Not sure what the SEO benefit of this would be if Google interprets the post as a page anyway??
Thanks so much in advance!
Carrick
Static HTML vs Dynamic URLs
I loved Carrick’s question. Could anyone knowledgeable reply? Carrick, what did you learn regarding your question?
Google Sees mod_rewrite URLs as Static URLs
Google sees a static HTML page when you use software like WordPress that by default uses dynamic URLs, but can be setup to show static like URLs.
So yes Google sees a page like /post_name.html as static even if the ‘real’ URL is /?=page1.
You’ve misinterpreted my explanation regarding WordPress.
Although WordPress is created using a set of theme files (could in theory be from one theme file) that are combined together with a database to form as many pages/posts you’ve created: so a WordPress site with 20,000 posts has the same number of files on the server as one with 2 posts, the posts/pages do not physically exist on the server.
Even if you didn’t use the SEO permalinks option in WordPress, Google will still index each page/post as an independent page, because each one has a unique (dynamic) URL and unique content (if the content isn’t unique you’ll have issues).
Basically it doesn’t make any difference. Google doesn’t care if you have an actual static page, a static like URL (created dynamically, but using mod_rewrite so looks static: note Google etc… can’t tell the difference between an actual static page and a mod_rewrite static like page) or a dynamic URL, Google can still find and index it as a unique page and all three types can rank high as well.
The only important factors with dynamic vs static is spidering speed (static and static like are spidered faster) and static/static like can be better SEO’d:
basically
keyword-rich-page.html
Is better SEO wise than the dynamic equivalents like
index.php?page=1
or
index.php?page=keyword+rich+page
But all three would be spidered and ranked by Google as unique pages as long as they have mostly unique content.
David
Static HTML vs Dynamic URLs
There’s dynamic URLs for the comments now on this site and they will be indexed by Google.
The comment above of mine has a link at the bottom to
http://www.seo-consultant-services.co.uk/static-html-vs-dynamic-urls.html?cid=44145
I’m using a WordPress plugin called SEO Super Comments with my own code changes and it uses larger comments to create pages like the one above.
Give it a week and you’ll find that page will be indexed in Google, try a site search to see-
site:http://www.seo-consultant-services.co.uk/ cid
Just activated the SEO Super Comments plugin on this site, but been running it a while at other sites, try this search in Google:
site:http://www.google-adsense-templates.co.uk/ cid
You can see over 70 of that sites comments have an individual page indexed in Google.
Search Google for “Individual AdSense channel IDs” and one of the comments is number one. Another comment page is top 10 for “AdSense Style Clickbank Ads”, so Google ranks them.
David
Static HTML vs Dynamic URLs
i ve better understood abt t diff b/w static and dynamic webpages
Static URLs ending in .htm or .html get the best seo results. We did an experiment and .asp pages didnt rank as high.
@ Dale of SEO Grader
How can you tell that Static URLs ending in html ranks higher. Is there some certain indicators? Dynamic URLs are those that ends with PHP, right?
Thanx for this artical…i’ve got lots of knwledge from this artical..
i’ve asp.net site,plz give me some suggestions for its promotion..
i m new for seo..
Regards n Thanx
specific footprint to look for?
Is there a specific footprint to look for when trying to determine static (html) pages versus dynamic (php or asp) pages? I ask since mod_rewrite is used by dynamic pages to appear static. Since the search engine robots know the difference, I’d like to know to. Would I be able to find this code in the source code? I know that the footprint for WordPress is easily found in the source code.
Thanks in advance
Static HTML vs Dynamic URLs
Leave a reply to Static HTML vs Dynamic URLs