Clean URLs
Clean URLs (or semantic URLs) are readable URLs for websites or web services that intuitively represent the underlying resource.
This typically means:
- Omitting implementation details for the underlying web-server. The URL should
not contain suffixes like
.php
orjsp
that denote the underlying technology stack. - Putting key information in the path of the URL. Clean URLs only use the query string for ephemeral details, like tracking information. A user visiting the same URL without the query string should be taken to the same resource.
- Avoiding opaque IDs. Clean URLs use human-readable slugs, which are often generated by stripping the page title of punctuation, converting it to lower case, and replacing spaces and punctuation with '-' characters.
An example of a clean URL is:
www.allrecipes.com/recipe/slow-cooker-oats/
Notice how a lot of information can be gleaned about the meaning of the URL, since the slug ("slow-cooker-oats") is human-readable. Contrast this with the following MSDN URL:
https://msdn.microsoft.com/en-us/library/ms752838(v=vs.85).aspx
This URL tells us about the server software being used, but nothing about the contents of the page.
Advantages of Clean URLs
- Clean URLs do not leak server information.
- Clean URLs are less fragile, since they are explicitly mapped to an underlying resource.
- Clean URLs are SEO friendly.
- Clean URLs are generally more memorable (they have an intuitive meaning when viewed in browser history or when read aloud).
- Clean URLs suggest an organization of data, making site navigation easier.