Broken Links on Affiliate Sites: The Monthly Crawl, What to Fix First, and Why Outbound 404s Cost More Than Inbound Ones
A broken link is one of three different problems wearing the same name. An internal 404 is a crawl and navigation problem. A dead link to another site is a reader problem, barely a ranking one.
A dead link to Amazon is a revenue problem, and on an affiliate site it's the one that matters most and the one most link checkers miss, because a discontinued product's page often returns a perfectly healthy 200 with no buy button on it.
This post covers the three kinds and what each costs, which matter for rankings and which for money, a free monthly crawl with the tools that do it, the fix order (buttons on the top guides first, everything else after), when to edit a link, redirect it or delete it, and the rot rate to expect so the check becomes routine.
The discontinued products post covers what to do when the Amazon link's target has died; this is how to find all of them, and the rest.
The short answer
Monthly: click every button on the top twenty guides (the crawler can't see "currently unavailable"). Quarterly: crawl the site with a free desktop crawler, sort by status, fix internal 404s by editing the link or redirecting the old URL, and replace or remove dead outbound links.
Fix in revenue order: Amazon buttons on earning guides, then internal links on earning guides, then everything else. Expect a dozen dead buttons a quarter on a fifty-guide site.
The three kinds
| Kind | What it costs | Rankings | Revenue | How you find it |
|---|---|---|---|---|
| Internal 404 (your page links to your dead page) | Crawl attention; a reader dead-ends; a neglect signal at scale | Modest | Indirect | Crawler; Search Console's Page indexing report |
| Outbound to another site (a source, a manufacturer page) | A reader dead-ends; your credibility on a cited fact | Negligible | Negligible | Crawler, external links filter |
| Outbound to Amazon (a button whose product is gone) | Every click is a buyer sent nowhere; conversion drops while traffic holds | None | Direct and large | Clicking; the API's availability field; a crawler catches only true 404s |
The third row is the reason a generic "broken link checker" isn't enough for an affiliate site. A listing that's "currently unavailable" returns 200. A delisted product often redirects to a search page, also 200. The crawler reports both as fine.
The free monthly crawl
- Desktop crawler, quarterly. Screaming Frog's free tier crawls 500 URLs, which covers most affiliate sites; point it at the homepage, let it finish, and filter the response codes to 4xx and 5xx, then split by internal and external. Export both lists.
- Search Console, monthly. Page indexing → Not found (404): the internal dead URLs Google has hit, with the pages linking to them. The Search Console post covers the report; here it's a list of links to fix.
- The buttons, monthly. Top twenty guides by clicks, every button, in a private window. Look for a buy box, the seller, and the price against the guide's band. Fifteen minutes.
- Skip the always-on plugins. WordPress link-checker plugins work but run on page loads and slow the site for every reader to catch a handful of links a month. A quarterly crawl does the same job for free, off the server.
The fix order
Revenue first. A dead button on a guide that sends two hundred clicks a month is worth more than every other broken link on the site combined, and it's fixed in two minutes by replacing the pick. So:
- Dead or unavailable Amazon buttons on earning guides. Replace the pick (successor model, then runner-up), re-link the button, update the sentence next to it.
- Internal 404s on earning guides. A reader following a link from a guide that ranks to a page that's gone. Edit the link or redirect the old URL.
- Internal 404s elsewhere, in bulk, from the crawler export.
- Dead outbound links to other sites. Replace with a live source if the claim needs one; otherwise remove the link and keep the sentence.
- Dead buttons on guides with no traffic. Last, or during a refresh of that guide anyway.
Edit, redirect or delete
- Edit the link when the target moved and you know where: change the href. Most internal 404s after a slug change or a prune are this.
- Redirect the old URL (301) when other sites link to it or it had rankings: the pruning post covers the rule. Never redirect to the homepage; Google treats an irrelevant redirect as a soft 404.
- Delete the link when the target is gone and nothing replaces it. Keep the sentence if it stands alone; cut it if it only existed to carry the link.
- For Amazon buttons, none of the above: replace the product. A button is only ever edited to point at a live pick.
The rot rate
Links break at a steady rate and the rate is the reason the check is a calendar entry, not a one-off. Amazon product links rot fastest: in most categories a few percent of listed products become unavailable or get delisted each quarter, with electronics, seasonal goods and small-brand items at the high end.
Internal links break when you change a slug or prune a page; outbound links to other sites rot at the general web rate, a few percent a year. On fifty guides with ten buttons each, that's roughly a dozen dead buttons a quarter, which is why the monthly button check sits above the quarterly crawl in the order above.
Doing it with AffSERP
Guides written by AffSERP's X Best Review tool carry each pick's availability through Amazon's API, so the third kind of broken link, the one a crawler can't see, shows in the dashboard as an unavailable pick before it costs a month of clicks; the Refresh option then replaces it on the same URL.
Internal links the tool writes point at guides that exist at write time, and pruning or slug changes afterwards are yours to track, which is what the quarterly crawl is for. The button check stays a habit; the API makes it a two-minute read instead of two hundred clicks.
FAQ
Do broken links hurt SEO?
Internal ones, modestly: a 404 inside your site wastes crawl attention and drops the reader, and a lot of them signal neglect. Outbound ones to other sites, barely at all for rankings; Google doesn't penalise you for someone else's dead page. Outbound ones to Amazon don't touch rankings and cost the most money, because every click on a dead product button is a buyer sent nowhere. Fix by revenue first, rankings second.
How do I find broken links on a WordPress site for free?
Three options: a desktop crawler (Screaming Frog's free tier crawls 500 URLs, enough for most affiliate sites) run monthly and sorted by status code; Search Console's Page indexing report for internal 404s Google has found; and a WordPress link-checker plugin, which works but runs on every page load and slows the site, so prefer the crawler. For the Amazon buttons specifically, nothing beats clicking them, because a listing can return 200 and still be 'currently unavailable'.
Should I redirect or fix a broken internal link?
Fix the link if the target moved and you know where (edit the href). Redirect if the old URL has external links or history pointing at it (301 the old URL to the new page). Delete the link if the target is gone and there's no replacement. Never redirect a dead page to the homepage; Google treats an irrelevant redirect as a soft 404 and the reader lands somewhere useless.
How often do affiliate links break?
Amazon product links rot faster than any other kind: a few percent of listed products go unavailable or get delisted each quarter in a typical category, more in electronics and seasonal goods. Internal links break when you change slugs or prune. Outbound links to other sites rot at the general web rate, a few percent a year. On a site with fifty guides and five hundred buttons, that's a dozen or more dead buttons every quarter.
AffSERP guides carry each pick's availability through Amazon's API, so an unavailable pick shows before it costs a month of clicks, and Refresh replaces it on the same URL.
Start with free words