Why dynamic URL’s are bad
NOTE: I need to give credit where credit is due. This post was written by Jammer. He had some problems registering with the blog and we are looking into the bugs but he wanted to share this article with you guys.
Why dynamic URL’s are bad
There’s a lot of discussion about the benifits of static URL’s and a lot of guessing why dynamic url’s are bad. I thought it would be nice to explain a little about this so you guys know the real reasons why dynamic URL’s are bad (in stead of the SE’s can’t crawl ’em bull****). First a few terms you should know:
URL = Uniform Resource Locator
URI = Uniform Resource Indentifier
IRI = Internationalized Resource Indentifier
URN = Uniform Resource Names
URL and URN are less important standards (for us), more important are URI (RFC3986) and IRI (RFC3987). For web usage it’s sufficient to narrow this to URI’s only, IRI’s are a complement to URI’s.
How does it work?
URI’s were designed to function as labels for resources, indentifiers. They should also have a hierarchical structure. In other words, in the example below A is more important that B.
-
Code:
A: http://www.domain.com/sub/document.html
B: http://www.domain.com/sub/subsub/document.html
Cool URI’s don’t change
The web was designed to keep the location of documents static (or at least its URI). Theoratically there’s no reason to delete documents or move them. This is the main reason why you shouldn’t have dynamic URI’s, if you switch software or scripting it can be difficult to maintain the old URI.
Session ID’s in URI’s
You should never have session ID’s in your URI. Main reason is that the session ID isn’t designed to contain data, just the location. Another reason is that most sessions are timed. If you’re session ends the URI is gone (think links, bookmarks etc.).
Variables in URI
Variables are subject to change, the more variables to bigger the change that an URI can’t remain static. This is the same as with the sessions. There’s no way to be sure that the variables that you see are the same for everybody. This means, again, problems with links, bookmarks etc.
What else not to use
Authors name: authorship is subject to change (new versions etc)
Status: f.i. “draft”, a document isn’t going to be a draft for the next 100 years.
File extension: cgi, php, html. It’s possible that we don’t use html anymore in 10 or 20 years. That’s why you shouldn’t use file extensions
Conclusion
Design URI’s so that, if your site still exists in 10 or 20 years, they can still be the same. This might be a tough job, but it’s worth it.
SEO advantages
It’s nonsense to say that a spider can’t crawl long dynamic URI’s, the only reason why they can’t can be found in what I mentioned before (sessions, personalized variables etc.). Use a hierarchical structure that makes sense. If you use URI’s right it can have some nice advantages in SEO