URL rewrites and 301 redirects… you talk about them, you recommend them, but do you truly understand how they work? Sure, you know that rewriting a URL means that the URL displayed in the browser changes to be more SEO (and user) friendly. And you know that a 301 redirect is a permanent redirect. But let’s dig a little deeper, and explain how they work together.
URL Rewrites
Rewriting a URL means changing the way the URL is displayed in the browser. When a user lands on a page with a rewritten URL, the code behind that page doesn’t change. In fact, the server still reads the original URL.
URL Rewrite Process:
- User lands on new SEO’d URL
- Using mod_rewrite, ISAPI_Rewrite, etc. new URL points to old URL on the server
- Server calls the code from the old URL
- Page is displayed in browser, displaying the new URL
From the server’s perspective, nothing has changed. The code is still the same. For example, if a developer had built a site using URL variables, there’s no need to change any code. Now, there are always cases that could contradict this. But at the basic level, there shouldn’t be a need to change code on the page.
301 Redirects
Once the URL is rewritten, you want to make sure that the old URL 301 redirects to the new. This tells the search engines that any link juice the old URL had should now be given to the new URL. It also makes for a good user experience, rather than showing a 404 error page. The server is told URL A should now be URL B.
301 Redirect Process:
- User lands on original URL
- Using code, mode_rewrite, etc. the 301 redirects URL to the new one, literally changing the URL that is displayed in the browser from the old to the new
- URL Rewrite process begins again
Using the rewrite and redirect together brings the solution full circle. I’ve trained many developers on SEO standards and specifically how to implement and understand the workings of the rewrites and redirects. It takes a bit to wrap your head around it, but it’s all really quite simple.
Extra Credit
For more detailed information on rewrites and redirects, check out the following sites:
- jHost’s “URL redirect/rewrite using the .htaccess file“
- Apache mod rewrite
- URLRewriter.net – Open Source URL Rewriter for .NET / IIS / ASP.NET