Simple Linking Maintenance for WordPress Sites

The site structure of the Sugarrae blog has changed several times over the years. Sometimes for testing, sometimes for “bettering” SEO.

This blog has been moved from Moveable Type, to Expression Engines, to WordPress.

The internal linking structure has been changed from /blog/post-name/ to /post-name/ to /category/post-name/ and who knows what else.

Category landing page urls have changed from /blog/category/category-name/ to /category/category-name/ to /category-name/.

In short, I’ve messed with this blog a lot – much like many other folks do as they begin to learn SEO and make applicable changes that involve changes to their URL structures and permalink URLs. And I’ve always utilized 301 redirects with every change to save and redirect both visitors and link juice to the proper URL in addition to using standard best practices for WordPress SEO as far as avoiding internal duplicate content that can caused by WordPress goes.

That said, a few weeks ago, a friend had mentioned to me he’d noticed the Sugarrae site was linking to several thousand redirects (both internal redirects and external redirects).

Since redirects can lose a small microbe of link juice – and chain redirects can easily lead to problems, you should always correct links when possible to link to the correct landing page without going through the redirect. The redirect should be a net to catch what you can’t change, not a free pass to ignore what you can change.

So I sat down for a few hours, download the Broken Link Checker plugin (free) for WordPress, installed it and went to work.

The plugin basically scans all links on your site and places them into 3 categories. Broken, Redirects and All. All simply shows every link you link to on your site (both internal and external). Redirects shows every redirect you are linking to while Broken notifies you of any broken links you’re linking out to (usually folks deleting pages without proper 301’s in place or sites ceasing to exist, etc.)

Addressing broken links

I looked at the list of about 80 broken links and went through them one by one. You have three choices to “fix” them within the plugin. You can edit the URL to be a working one, “unlink” the text if you can’t or don’t want to find a replacement or mark the link “not broken” (sometimes a site may simply be down or some other weird issue.)

For the truly broken links, I try to find a replacement link whenever possible – with my general theory being that I linked to “further information” because I felt it enhanced the post for the reader. However, I will unlink the text when I can’t find a good replacement link or if what I’m linking to – say a person or company – no longer exists.

Additionally, you may find links on your own site that somehow slipped through the cracks and failed to be redirected that you can both fix within the post and then add a redirect to your htaccess to catch and redirect external links linking to the same page.

Addressing redirect links

First let me state that there is a handy way to select all redirects and simply “fix them” (which means it will automatically switch out the old URL with the new URL it redirects to. And this can be tempting as hell to do, especially if you’re staring at thousands of redirects. However, there are two main reasons I’d recommend you NOT do that – ESPECIALLY if you link to affiliate programs from your blog.

The first reason applies to everyone. Unless you look at what each link is redirecting to, it could be redirecting to porn for all you know. So “mass fixing” ALL redirects could cause you some damage reputation wise with both visitors and the search engines if you’re not careful.

The second reason applies to affiliates. Most affiliate links redirect in some fashion. So if you “mass fix” redirects, it will replace your affiliate links (be they internal redirects or external redirects) with the end destination link – which means the sale will NOT BE TRACKED TO YOU.


My traditional Shareasale link to Raven Tools will be “fixed” to show – which means any sales I refer can’t be tracked back to me.

So as tempting as an easy “mass fix” may be, it’s not one that should be performed with this plugin. What you can do though is use the search function to make some of the needed fixes a bit quicker.

I used the search function and put in the URL field and picked “redirects” from the link status drop down list. Knowing I can trust that my own redirects are not linking to anything bad, I was able to “check all” on each screen and quickly scan and UNCHECK any links that were in my “affiliate redirect folder” (see why I redirect all affiliate links) and fix the larger portion of the redirects in less than twenty minutes.

Search function
I then used the search function to continue to identify “trusted sites.” For instance, Search Engine Watch is a reputable site in the SEO industry. They did some URL restructuring at some point and instituted 301 redirects to the new URLs. I was able to use the search function to find all redirects being linked to from my site to theirs and mass fix them without having to look at each individual link.

After that, it was simply addressing each redirect one by one and either choosing to fix it, unlink it or ignore it (unfortunately though, there is no way to classify a redirect as ignored or white-listed like you can classify a broken link as “not broken” – I’ve submitted the suggestion to the plugin author in hopes it gets added one day – and you can too here if you’d like.)

A look at the after

The day that I fixed the redirects, I created an event in Raven Tools so that I could see the impact (if any) that fixing the redirects had on the sites performance in the search engines. Obviously, the engines have yet to recrawl every page on my site and find all the redirects updated. But, even in the short two week time span, the trend line is moving slightly up:

event look

Is this the only reason the trend line might be moving up? Definitely not. Has the full impact of correcting all the links been seen? Definitely not – the engines still have a lot of re-crawling to do. Does this help prevent potential indexing issues that can be caused by chained redirects and linking (unknowingly) to sites that have been redirected to bad neighborhoods? Absolutely. Is the short amount of time it takes to do the initial clean up and then maintain it worth any possible advantage it might give you? I think so.

About Rae Hoffman

Rae Hoffman aka "Sugarrae" is an affiliate marketing veteran and the CEO of PushFire, a search marketing agency specializing in SEO audits and link building strategies. She is also the author of the often controversial Sugarrae blog. You can connect with Rae via Twitter, Google+ and Facebook.

Sugarrae runs on the Genesis Framework

Genesis Framework

If you’re someone who doesn’t understand a lot of PHP, Genesis will give a ton of functionality that you wouldn’t be able to obtain otherwise with a simple control panel instead of having to alter code. For the advanced, Genesis has incredible customization possibilities via Genesis hooks.

The theme is not only highly customizable, but it has allowed me to run Sugarrae more professionally, with a much more targeted focus on monetization than it ever has been able to achieve before.

You can find out more about Genesis below:


  1. David Lawlor says:

    Word of warning on the broken link plugin, I ran it fine on some of my smaller blogs, but on a large one it made it very unresponsive on a very beefy server, it came back in a few minutes after it ran its check, but it is something to be wary of. If you have a lot of posts you might want to install it off hours.

  2. Rae Hoffman-Dolan says:

    Ah yes Dave, should have mentioned that I don’t “leave it on” – I only activate the plugin when I’m prepared to look at the results, clean it up and deactivate it. It can definitely be a server suck. :)

  3. Patty Gale says:

    A great reminder, Rae. I’ve been meaning to do this for a long time. I guess I better get to it.

  4. Graywolf says:

    You can change the settings to control resource use.

    Also you can change the date format in thesis so blog comments don’t have a google readable date format

    ~wordpress whore

  5. Simon Lissa says:

    Great post Rae.
    My lazyness due to rediect plugins and affiliate link managment has build up into somehting that has become to daunting a task to manage now.

    This will definitly keep me occupid over the weekend.

  6. Ron Lavine says:

    Thanks for your site, Rae. I’ve been working on my blog for nearly 9 months now and from time to time I start to think I know something about what I’m doing (and I sure know a hell of a lot more than when I started) but then I encounter a source of new information to remind me that this process is far more complicated.

    That’s what I’ve gotten from your site – an initial dose of depression followed by a re-commitment to improving my blog and learning more about SEO and all other aspects of internet connectivity.


  7. Thanks for introducing me to this plugin.

    I did not know that there was such a thing.

    Up until now I would just comb through my posts from time to time – or come across broken links accidentally.

    Looks like I have a little work to do!

  8. Thanks for the great piece of Info. This plugin looks better than the crawl errors section of Google webmasters!


  9. Alex Aguilar says:

    I use the Broken Link Checker plugin on my own site and it has been a lifesaver. As my blog gets bigger and more complex, managing it becomes a full time job – I rely on plugins like Broken Link Checker and other similar tools to maintain the site. I sometimes think if it weren’t for the plugin system for lazy site-owners like me WordPress won’t be one-tenth as popular as it is now.

  10. Diane Vigil says:

    Thanks for this tip; I hadn’t heard of it. Gonna go try it — since some of my blogs have been up for years.

  11. Andy Nathan says:

    Thanks for the great tip! Just activated the plugin on my site. Did not find any broken links, but a good tool to use from time to time.

Speak Your Mind