gfn

Even though this article is primarily about WordPress, it is important for anyone that has a website whose URL structure is less than optimal. We all learn by doing, SEO isn’t a precise science, in fact the rules change all the time. With WordPress you have options when setting up your site, but what if you didn’t set it up right in the first place?

Well that is what happened to me. I followed the guidelines on the WordPress permalink page, and used the year, month, and day string in my URL structure as recommended. I set up my blog like that as well as most of my clients’ blogs. I jumped right into WordPress without really testing the waters like I should have. The problems weren’t really on this site, but on my wife’s site homesadvisory.com which has a 4 PR on the home page, but isn’t getting any love in Google. I found that a lot of her articles were in supplemental results. I know that Google is eliminating sup results, but I really don’t think that is going to do anything for her SEO.

After much research I realized I had broken one of my oldest rules: no duplicate content! So what to do? I found a lot of great websites with many different answers. I decided to just do what I knew is best, solid URL’s and no chance of dupe content.

The important thing is I don’t want to loose placement for posts that are doing well. For example I am #2 for “rss syndication services” which is accounting for 20% of my traffic. So if I change the permalinks within WordPress, I know that at the site level I am OK, but what about the links within the SERP’s and all the other sites that link into my posts?

The answer is a cool plugin called Permalink Migration from Dean Lee. It allowed me to easily change all the links on my site from /2007/05/02/postname to /postname.html. You see the main reason I want to do this is to stop Google from spidering my archives. I can easily do that by adding Disallow: /20* as a line within my robots.txt file, which will stop any date based archive pages or posts from being re-spidered, eliminating the dupe content.

This isn’t the only step though. If you use a sitemap plugin like me, you have to go in and manually change the settings to NOT add the archives to the sitemap. My sitemap is now totally clean and my URL’s are cool. The only thing left is the links within the posts themselves. I firmly believe in Deep Link Navigation so my articles have tons of internal links. These unfortunately weren’t changed.

I am currently looking into doing a replace within the MySql database rather than modify hundreds of posts. I’ll add comments to this post on the progress. If you have a WordPress blog and are using date based URL’s, you need to change your permalink structure! Leave any questions as comments on this post.

Share/Save/Bookmark

If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

If you would prefer to receive updates of this blog through your email, click here to subscribe to email updates.

Comments

4 Responses to “WordPress Permalinks: Changing The Links On An Existing Site”

  1. Michael Stankard on August 21st, 2007 12:11 pm

    First update on internal link changing. The first thin I am trying is downloading the mysql database as a dump file and running this command:
    perl -pi.bak -e ’s/2007\/..\/..//g’ mysqldumpfilename.sql

    I am using my Kubuntu machine since Windows sin’t so perl and mysql freindly. I will let you know if this works.

    I did see a find and replace wordpress plugin, but couldn’t get that to run.

  2. jimdev on August 21st, 2007 2:55 pm

    How do you actually change the permalink?

  3. Michael Stankard on August 21st, 2007 3:00 pm

    When you log into wordpress go to options then permalinks. The options are:
    %year%
    The year of the post, four digits, for example 2004
    %monthnum%
    Month of the year, for example 05
    %day%
    Day of the month, for example 28
    %hour%
    Hour of the day, for example 15
    %minute%
    Minute of the hour, for example 43
    %second%
    Second of the minute, for example 33
    %postname%
    A sanitized version of the title of the post. So “This Is A Great Post!” becomes “this-is-a-great-post” in the URI (see note below)
    %post_id%
    The unique ID # of the post, for example 423
    %category%
    A sanitized version of the category name. Nested sub-categories appear as nested directories in the URI.
    %author%
    A sanitized version of the author name.

    I am now using:
    /%postname%.html

    if you aren’t worried about conical naming issues then you can do /%postname%/

    I don’t like not having an extension on a page so instead of the trailing slash I put in .html after the % sign.

  4. WordPress Robots.txt For SEO on September 14th, 2007 10:56 am

    [...] couple of weeks ago I wrote an article about changing WordPress permalinks and how best to avoid duplicate content. I have gotten a lot of questions about the robots.txt [...]

Leave a Reply