A Case Study In Changing URL Structure

Bruce Keener on
  • Categories: Channel: SEO, How To: SEO, SEO: Domains & URLs, SEO: Redirects & Moving Sites
  • In one of the SMX videos available in the member’s area of Search Engine Land, several panelists noted that a shorter URL is more likely to be clicked in the SERPs than a longer one. That is, if you have a URL like

    it is less likely to get clicked than the following one, which is the same but without the dates:

    As I researched this, I noticed that Search Engine Land does not use dates in its URLs, nor does Google spam expert Matt Cutts, nor does Aaron Wall.

    Since I have been using dates in my URLs on my blog for over two years, I researched how I could go about changing to not using dates. I found the following code and put it in my .htaccess file:

    RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)

    (Notes: This should be all one line, and to make this work for my blog I had to change “” to “”)

    Before uploading the updated .htaccess file to my site, though, I had to change the permalink structure in WordPress so it no longer generates URLs with dates in the title. Hence, I modified


    to the following:


    I saved that change, saved my modified .htaccess file to the root directory of my domain, and then re-ran my plugin that generates a sitemap.xml file. Then, I immediately tested the change using several of my older links, to ensure that they redirected properly. I also made sure to activate Alex King’s 404 plugin, which emails me whenever a “not-found (404)” error is generated on my site. It is always a good to activate this plugin whenever you make any structural changes to your blog, as it will help identify any errors you may have created.

    It will take a while for Google, MSN, and Yahoo! to reindex these links, but the end result should be a little bit better click-through rate for my domain.

    For a while, though, one pays the price of losing page rank for individual pages. At least, that has been my experience … I am told that a 301 redirect should not drop page rank (PR), but somehow it has happened with me. In my case, these changes were made almost 4 weeks ago, and individual page ranks have still not gotten caught back up. A few of my most popular pages that had a Google Toolbar PR of 4 or 5, are currently showing a PR of 0. This may be normal, or it may be that I have done other things that are making it take longer for the PR to catch up (I’d love to hear of your experiences with this in the comments, on what is a normal catch-up time).

    It turns out that I did two other things that may be impacting the catch-up time for individual page PR. One is that I went through all 700 of my blog posts and changed every internal link so that the dates were removed. That is, if I had one post that linked to another post using the format, I changed it link to I thought this might speed the re-indexing process up. But I now wonder if this was stupid, and worked against me, or if it was at the very least a waste of time. It is also noteworthy that my blog has a relatively small number of external backlinks (I have not gone after them, although I know I should). There is good internal linking, but the relatively small number of external backlinks could be a factor in the PR not readjusting as one would expect. This is just speculation on my part, but I thought it should be pointed out.

    Why go through 700 posts? I also wanted to clean my blog out. In looking at my Google Analytics, I noticed that several people were landing on pages that really should not even exist, and they were bouncing away immediately because the posts were worthless to them. These pages were ones in which I had noted something about a design change, or had apologized for the performance of a server I used a year ago, or some other site news. These posts were semi-relevant for my regular readers at the time the posts were written, but the posts are now worthless. In fact, they are worse than worthless because they have some negative impact on my site’s bounce rate (not a lot, but I am working on improving bounce rate, so I wanted the posts gone).

    I did the proper things with these deleted posts, such as adding 410 redirects to my .htaccess file:

    Redirect 410 /a-couple-of-site-changes/
    Redirect 410 /admin-note/
    Redirect 410 /miscellaneous-admin-information/
    Redirect 410 /your-input-appreciated/
    Redirect 410 /please-ensure-feeds-link-updated/
    Redirect 410 /boredom-strikes-again/
    Redirect 410 /revised-posting-schedule/
    Redirect 410 /what-are-your-thoughts-on-this/
    Redirect 410 /implemented-security-update-sorry-for-any-hiccup/
    Redirect 410 /get-a-free-issue-of-smartphone-magazine-from-me/

    I also updated my sitemap.xml file (so none of the deleted posts were in it), and used the Remove URLs feature in the Google Webmaster Tools to remove each of these deleted links from the Google Index.

    But, did making all these changes at once work against me? I cannot say for sure at this time. However, I have learned something from this. Actually, I have re-learned, as I should have known already: when making changes, avoid making too many changes at once. Make one change, and give it time to have its impact (testing it as much as you can), before making other changes.

    I hope this is a helpful case study for those of you considering changes in your site. I look forward to your comments.

    Update: Two days after drafting this post, the Google Toolbar PR for each of my popular pages (all linked from my sidebar) now have a PR of 4, which is basically what they had before. I do not know if this is due to the redirects finally having their full effect, or whether it is due to the very recent Google PR update, or both.

    Postscript: Almost exactly 4 weeks after implementing the redirect shown above, a friend came across a better redirect rule. He uses a slightly different URL structure, of the form site/year/month/postname/ instead of site/year/month/day/postname/. We learned that, for sites with his URL structure, the rule to redirect to site/postname/ is

    RedirectMatch permanent ^/[0-9]{4}/[0-9]{2}/([a-z0-9\-/]+)$1

    For sites with URL structure site/year/month/day/postname/, the correct rule is

    RedirectMatch permanent ^/[0-9]{4}/[0-9]{2}/[0-9]{2}/([a-z0-9\-/]+)$1

    Note that these rules apply for blogs that are installed in the site’s root directory. If WordPress is installed in a directory called blog, so that the URLs are of the form site/blog/year/month … , then the correct redirect rule is the same as above but with a change at the beginning: RedirectMatch permanent /blog/[0-9]{4}/[0-9]{2}/ …. (as in the previous two code blocks).

    Also, it is important that you place the redirect rule before the redirect rules that WordPress has placed in your .htacess file. The WordPress redirect rules will typically look something like the following:

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    Finally, these redirect rules work on Apache-based servers. If your server is based on Microsoft’s IIS, a different approach would be likely be needed.

    About The Author

    Bruce Keener
    Retired business professional who blogs tech, life, and blogging tips, along with thought pieces and occasional fingerstyle guitar music