Free, powerful and flexible URL rewriting on Microsoft IIS
- Open source
- Supports Apache mod-rewrite syntax
- ISAPI filter
- Single DLL and configuration file
Rewriting URLs to benefit search engine rankings has long been practised. For data-driven sites such as an e-commerce store, URLs like example.com/product.aspx?id=5367 can be rewritten to example.com/lily-allen/album/its-not-me-its-you. Human readable and clearer to spiders what constitutes a single page and what that page is about (as URL parameters often double as session handling or filtering values).
Google and Yahoo! search engines now do an adequate (but not perfect) job of untangling URL parameters. They even offer webmasters a tool to prompt them to ignore specific items. Still, however, Google's SEO guidelines encourage unique, hackable and readable URLs. A clear and understandable URL additionally provides another hook to encourage a click on your listing.
Rewriting on Apache and IIS
Apache first supported rewriting with mod_rewrite some time ago. There's not much that this module can't do; for a long time to the envy of the IIS tribe. That's why several 3rd party solutions such as the commercial Helicon ISAPI Rewrite, the delightfully named port80 PageXchanger and many others emerged to fill the void.
Now IIS 7 supports URL rewriting. Sort of. Undoubtedly Microsoft will enhance its functionality, but the current release is woefully limited. Thankfully there's a very capable, free and open source ISAPI filter for IIS URL rewriting from Ionic: IIRF.
Installation & Usage
Watch the technical walkthrough showing how to install URL rewriting on IIS. Installation is simple provided you have access to install ISAPI filters on your web server. Most shared hosts don't support this for good reason: you can do some serious damage with a poorly written or malicious filter. Fear not- URLRewriter.net provides a basic alternative.
The single IIRF DLL installs as an ISAPI filter, you edit the configuration file and that's it. There's a thorough readme with usage examples and documentation of every feature. The walkthrough video below shows its installation on Windows Server 2008 with IIS7 on an ASP.NET 2.0 e-commerce site.
URLs for SEO
Often overlooked is the fact that installing rewriting is a small part of the battle toward search engine friendly URLs. Here's a checklist of other things you may need to do to get maximum benefit, or even avoid harming your SEO:
- Make sure postbacks work on your ASP.NET site
- Permanent redirect incoming requests for the old data-driven URL to the optimised one
- Change internal links to the new URLs
- Build a URL from fields in your database, unavailable by simply rearranging the data-driven URL
- Make sure URLs cannot be hijacked by inserting poison words or appearing like duplicate content