(Reading time: 7 – 11 minutes)
Broken links frustrate readers and make Google think you are a bad blogger. You will want to eliminate broken links from your blog, and keep them at bay.
Broken links come in two cases:
- There’s a bad link on your side, perhaps there is a typo or misspelling in your
hrefattribute for your link. - The web page has moved or disappeared on the target site.
Both cases apply to internal links to your blog posts and pages, and external or outbound links targeting web pages elswhere.
For Case 1, you may need to do a little sleuthing.
Sometimes the problem is obvious, sometimes it’s subtle. The first place to start is to copy the URL directly from the href attribute into your web browser and see what happens.
For example, I just fixed a URL that looked like this: http:http://somedomain.com/. Probably my fault, a cut and paste error.
For Case 2, links expire for any number of reasons.
On WordPress.com or Blogger blogs, the owner may delete the entire site. The blog or website owner may let the domain name expire, sometimes by accident, whence the registrar or a new owner parks the domain.
Usually there is little you can do except notify the site owner (if you can find him or her) and remove the link from your blog post.
However, if the link really is useful, you may be able to find the same web page at a different URL. Perhaps the site owner moved it for some reason, or a redirect was deleted. Google is your friend here.
Find and fix broken links
There’s a lot of ways to find broken links. You can examine all the pages on your blog, and click through on the links. But that’s so last millennium, and as Johnson Yip notes,
Clicking every link in your blog can be very time consuming for finding broken links.
Boring.
Instead, here’s three ways to automate that task:
- Use a web service such as the Link Checker – The W3C Markup Validation Service.
Using any W3 tool is a smart idea, at least on an occasional basis. The W3 doesn’t have any commercial interest, and provides a neutral, third party analysis of your site. You may find that the W3 tools catch problems and issues other tools miss.
- Use Google Webmaster tools to investigate site crawl errors.
I recommend checking your site with Webmaster tools no matter what, because you see what Google sees. No guesswork.
- For WordPress users, install the Broken Link Checker plugin.
I really like using the Broken Link Checker plugin for WordPress, and it’s my first defense against broken links.
Let’s take a closer look at this highly useful plugin.
Broken Link Checker features
First, here’s a list of important features:
- Detects links that don’t work, including 404 Not Found, 410 Gone, 403 Forbidden, Connection Failed, 500 Internal Server Error, Timeout, and Server Not Found (DNS issue).
- Detects missing images.
- Periodically checks links in posts, pages, comments and the blogroll. Checking comments is especially important, and you will see after a few months that many of your commenter’s web sites will vanish! Unlink them.
Trackbacks are also included in comment link checking.
- New and modified entries are checked ASAP.
- Notifies you on the Dashboard if any problems are found.
- Lets you edit all instances of a specific link at once.
- Gives you a list of all links ever posted on your site, with the ability to search and filter it.
- Lets you apply custom CSS styles to broken and removed links.
- Highly configurable.
- Bug reporting and feature request forum! Forums are a lot of work; take this as a commitment from the plugin author.
Benefit: Broken Link Checker will save you a massive amount of time eliminating broken links.
Website In A Weekend has 5353 links (October 3, 2010).
Imagine checking all of those links by hand, or by submitting your blog pagewise to link checking services. Or even if you paid for a full-scale analysis for your blog, you would still have to dig into the posts and pages containing broken links one at a time.
Instead, the plugin saves you time by collecting every link which needs fixing into a simple, intuitive web interface.
Note: when you first install Broken Link Checker, it won’t have any results to report. The plugin needs to run for a while on your blog to collect data over time. If you prefer to keep the number of your plugins to an absolute minimum, install Broken Link Checker, let it run for a couple of weeks, then clean up the mess. If you like keeping your plugin count low, uninstall it after you clean up, then reinstall when you need it again.
Depending on your publishing schedule, repeat this link cleanup monthly to quarterly, you should be in good shape.
Case study: Gordie Rogers
Long time readers (bofem) will recognize – and welcome back – Gordie Rogers. Gordie used to publish a lifestyle design website and blog, but wasn’t able to make the numbers work at the time. So he took a bit of break, and now he’s back with Personal Development X.
Gordie has loads of comments here on Website In A Weekend, all pointing to the old lifestyle design articles, and all currently broken.
Let’s give Gordie a hand. We’ll fix the broken links on Website In A Weekend, and get Gordie a few dozen (dofollow) backlinks for his new website. Here’s how we’ll do it:
- First, we’ll replace the lifestyle design URL in all of his comments.
- Then we’ll unlink, for now, all the CommentLuv links returning HTTP 404 errors.
This can be done fast, takes maybe 10 minutes. Here’s a 3 minute screencast to show you exactly how it works:
Brief excursion: canonical plugins
WordPress is sufficiently mature and has a sufficiently large user base (8% of the whole web), that it makes sense to maintain a “best of breed” list of plugins worth following in detail. Such plugins are characterized by:
- Usefulness.
- Good designed.
- Maturity.
Broken Link Checker meets these criteria, so it’s on the Official Website In A Weekend list. Expect more on this topic of canonical plugins, and how such a list fits into a “micro-niche” strategy for developing authority.
While I’m at it, here’s a few words from Janis Elsts, the plugin author.
µ-interview with Janis Elsts
WIAW: What was your main motivation for developing BLC? Frustration? The challenge of coding? Something else?
JE: I must admit I don’t really remember what the initial motivation was. I guess it was one of those lucky ideas, stumbling upon an unfulfilled need.
WIAW: How long have you been working on BLC?
JE: The first version of the plugin was released on 5th August, 2007. So, just over three years now.
WIAW: Offerring a Pro version indicates you are committed to BLC as a long(er) term project. Are you comfortable mentioning one or two features users might expect in the future?
JE: A few things that I would like to add, eventually :
* Link suggestions, i.e. automatically finding alternatives for broken links.
* Support for internationalized domain names.
* Bulk URL editing.As you probably know, there is a dedicated forum where users can suggest new features and provide feedback:
Broken Link Checker forum.Most likely, any new features (once implemented) will only be available to users who’ve purchased the Pro version.
Speaking of the Pro version…
Help keep Broken Link Checker up-to-date
Broken Link Checker also has a Pro version for the very reasonable price of $4.99 US (October 3, 2010).
The Pro version of Broken Link Checker is available from WP Plugins. It’s advertised through the plugin with a screen options tab (as of October 3, 2010).
By the way, I prefer to promote professional and paid versions of blogging tools, including plugins, and here’s why: it means the author of the plugin is taking his work seriously enough to realize his effort should be compensated. That reassures me that the time I take learning such tools won’t be wasted. Because it’s just horrible to sink hours, days, weeks or more of you life into a technology that dies. Paying a few bucks to help keep worthy technology alive and growing just makes sense.
Anyway, there you are, a great plugin and a few other ways to check broken links. Here’s a few questions for you:
Are you regularly checking for broken links?
If so, how?
If not why not?
Off to the comments!


