Menu
Request a storefront

LinkToLooks · Guides · Creator Desk

Creator Desk

How do you audit 500 affiliate links in an afternoon?

A five-pass method, and the status-code table that stops you deleting links that work.

Part of: For creators

Only 17 of 80 live product URLs answered a plain automated request with a 200 on 3 September 2026. Twenty-eight returned 403, twenty-eight returned 429, six failed to connect and one was a genuine 404. Every one of those URLs came out of a retailer's own in-stock product feed minutes earlier.

So the first rule of auditing links at scale is the one nobody puts first: a non-200 is not a dead link. A checker that treats it as one would have told us 79% of a working catalogue was broken, and a creator acting on that report would delete sixty-three good links.

Bar chart of how live product URLs answered one plain automated request, from pages served to blocked, throttled and dead.
Of 80 live product URLs, only one was a genuine 404; the 28 that returned 403 and the 28 that returned 429 were robots being turned away, not dead links.Illustration: LinkToLooks

The status codes, and what each one is worth

This is the table to keep. The counts are from our own 80-URL sample; the interpretations are what each response means when you are checking somebody's shopping links rather than monitoring your own server.

ResponseHow many of 80What it usually meansWhat to do
20017The page served. Still worth a glance: a soft 404 is a 200.Pass, but spot-check the title.
40328Bot protection refused an automated client. The link works in a browser.Do not delete. Re-check by hand or with a real browser.
42928Rate limited — you asked one host for too much, too fast.Slow down and retry. This one is your fault, not the retailer's.
Connection error6DNS, TLS or a timeout. Frequently transient.Retry once, later, before believing it.
4041The only unambiguous failure in the sample.Fix or drop the link.

Notice which line is the smallest. One link in eighty was actually dead. Everything else in that table is a story about how the retailer treats robots, and the most common failure in a link audit is not a broken link at all — it is a checker being told to go away.

A close-up of a rusty metal chain stretched horizontally against a soft blurred background.
Photo: Unknown, CC0 1.0, via Rawpixel

The five passes

Run them in this order. The sequence works on a site or on a spreadsheet of links just as well.

  1. Pass one: the internal pass. Before touching the outside world, check that every link you wrote points at something that exists on your own side. Repair or drop links to pages that were never published. It is the cheapest pass because it needs no network at all.
  2. Pass two: status codes, slowly. One request per URL, a real browser user agent, and a delay between requests to the same host. The 28 rate-limited responses in our sample are what happens when you skip the delay: twenty of the eighty URLs were on one domain.
  3. Pass three: follow the redirects, deliberately. Record every hop rather than only the destination. A link that now lands on a category page instead of the product is technically alive and commercially dead, and only the chain shows you that.
  4. Pass four: the images. A HEAD request per image URL. Product images rot independently of product pages, and a post with a broken packshot looks abandoned even when every link works.
  5. Pass five: eyes on the survivors. Whatever returned 200, open a sample by hand. A soft 404 — a ‘this product is no longer available’ page served with a 200 — passes every automated check ever written.

Keep reading

What we found about redirects

We expected chains and did not find them. Of the 80 URLs:

The practical reading is that a raw retailer product URL arrives short. Every hop between your reader and that page — a network's redirector, a shortener, a link-in-bio tool — is a hop somebody in the chain added on purpose. That is not an argument against adding them. It is an argument for knowing how many you have added, because each one is a thing that can drop a parameter, and two of our three did.

Images are a separate audit

Product images fail on their own schedule, and a HEAD request answers the question in a fraction of the traffic a page fetch costs. Run them as their own pass. In a study of image hosts in live US affiliate feeds, about one host in five served no usable image on 2 September 2026, which is a high enough rate that any post older than a few months deserves the check.

One caution that applies to images more than to pages: an image host that answers a HEAD request today can start refusing them tomorrow without the image having changed. Re-check before you conclude the picture is gone.

Triage: what to actually fix

Five hundred links produce a long report and most of it is noise. In priority order:

  1. Genuine 404s and soft 404s. These are the only ones costing you a reader right now.
  2. Redirects that lost a parameter. The link works, the tracking may not, and nothing in your dashboard will tell you.
  3. Links to products that resolved but are out of stock. A live page selling nothing is worse than a 404, because the reader spends effort before finding out.
  4. Broken images. Cosmetic, cheap to fix, and the first thing a reader notices.
  5. Everything that returned 403 or 429. Bottom of the list, and usually nothing to do at all.

Do the audit on a schedule rather than after a complaint. A creator with a back catalogue would get most of the benefit from once a quarter and all of the benefit from once a month.

What this method cannot do

Frequently asked

How do I check hundreds of affiliate links quickly?

Five passes: internal links first, then status codes with a real user agent and a delay per host, then redirect chains recorded hop by hop, then images by HEAD request, then a human sample of whatever returned 200.

Does a 403 mean my affiliate link is broken?

Almost never. In our 3 September 2026 sample, 28 of 80 live product URLs returned 403 to an automated request and the pages were fine in a browser. Only one URL in eighty was a genuine 404.

Why do I get 429 errors when checking links?

Rate limiting. You are requesting too much from one host too quickly. Twenty of our eighty sampled URLs sat on a single domain, which is exactly how it happens.

What is a soft 404?

A page that says the product is unavailable but returns HTTP 200. It passes every automated check, which is why the last pass has to be a person opening a sample.

How often should a creator audit their links?

On a schedule rather than after a complaint. Monthly captures most of the decay; quarterly is a reasonable floor for a large back catalogue.

Method

Keep reading

Last verified 3 September 2026 against 80 live product URLs sampled from this run's catalogue pull and requested individually

How this page was made. Drafted with AI (Claude); not yet independently re-checked. How we work

LinkToLooks Creator Desk — the linking desk’s pages for creators and influencers: how links, disclosure and payouts work on each platform. How we work · published 3 September 2026 · updated 10 October 2026.