All articles
9 May 2026 · For agencies + in-house SEO · 8 min read

Six silent SEO regressions that quietly tank a client's rankings.

And how to catch each one within a day, not three weeks after traffic drops.

Most SEO drops aren't dramatic. They're quiet. A title gets rewritten on a plugin update. A canonical tag starts pointing at staging. Robots.txt gets republished with a leftover Disallow: from someone's local environment. The site keeps loading. The client doesn't notice. Three weeks later traffic is down 22% and they're on the phone asking what did you do?

The painful part isn't fixing the regression. It's that by the time anyone spots it, Google has already adjusted, and you're explaining a graph rather than preventing one. The fix is mechanical: scan the same set of pages on a schedule, diff the technical bits, route the diff somewhere a human will read it. Same idea as a CI test for production HTML.

Here are the six things worth watching for, what each one looks like in practice, and the cheapest way to spot each one within a day of it happening.

1

Title tag rewrites

What changes

A theme update, plugin refresh, or content team edit quietly rewrites the <title>. Common patterns: a homepage title gets shortened to just "Home" by a CMS default, a category page title gets duplicated across the whole section, or a 65-character title gets bumped to 90 and Google truncates it in SERPs.

Why it bites

Title is still one of the strongest on-page ranking signals, and it's also the bit users click on. A homepage going from "Acme Bakery — Award-winning sourdough delivered in London" to "Home" can drop a brand off the first page of its own branded search.

How to spot it

Diff the <title> contents on every monitored page after each scan. Anything shorter than 30 characters, longer than 65, or containing only generic words like Home, Page, or Untitled deserves immediate attention.

2

Robots.txt regressions

What changes

A Disallow: line copy-pasted from a staging environment ships to production. An SEO plugin auto-generates a Disallow: / after a misclick in settings. A developer working on a feature branch leaves a wildcard rule that nobody catches before merge.

Why it bites

Google fetches /robots.txt within hours. A whole subfolder — /blog, /products, sometimes the entire site — can drop out of the index in a day. Recovery takes weeks even after you fix the file, because Google has to recrawl and reindex everything.

How to spot it

Diff /robots.txt on every scan. Trigger an alert on any new Disallow: line, especially ones containing /, /*, or paths matching your money pages.

3

Canonical tag drift

What changes

A <link rel="canonical"> tag starts pointing somewhere unintended — staging, an old domain, or a completely different page on the same site. Common causes: cached templates serving an old base URL, a CDN configuration that injects a canonical for the wrong host, or a plugin that fills in canonicals from the wrong field.

Why it bites

Google treats canonicals as strong hints. If /pricing canonicalises to /, you've effectively told Google to drop /pricing from the index in favour of the homepage. Whole product or category pages can disappear from search.

How to spot it

Extract and diff the canonical href on every monitored page. Any canonical pointing to a different host, an http URL on an https site, or a path that doesn't match the page itself is a regression.

4

Structured data disappearance

What changes

JSON-LD schema blocks — Product, Article, BreadcrumbList, Organization — get removed by a theme update, replaced with empty objects, or accidentally validated to nothing because of a missing required field.

Why it bites

Schema is what powers rich snippets in SERPs: star ratings, prices, breadcrumbs, FAQs. Lose the schema, lose the rich snippet. Click-through rates drop, often by double-digit percentages on commercial pages, while ranking position stays the same — so the regression doesn't show up in rank trackers.

How to spot it

Scan for <script type="application/ld+json"> blocks. Diff their content scan-to-scan. Anything that goes from a populated object to {}, an empty array, or vanishes entirely is a regression. Cross-check occasionally with Google's Rich Results Test on the most commercial pages.

5

Internal link rot

What changes

Pages get renamed or removed without redirects. The top navigation gets restructured and old anchors break. Old blog posts link to product URLs that have since moved. Content team adds links to staging URLs that never went live.

Why it bites

Internal links distribute authority through a site. Broken internal links waste crawl budget, dilute PageRank flow to the pages that need it, and create a poor experience that increases bounce. Google notices crawl-budget waste and will fetch fewer pages per crawl.

How to spot it

Crawl the site monthly and check the response code of every internal link. Anything returning 404, 410, or a redirect chain is a regression. Pay particular attention to links from high-authority pages (homepage, top blog posts) — those waste the most authority when broken.

6

Redirect chains and 302 mistakes

What changes

A new CMS or plugin starts issuing 302 (temporary) redirects where 301 (permanent) was the right choice. Or a chain develops over time: /old-product/new-product/products/new/products/new/v2, with each migration adding another hop.

Why it bites

Google passes most authority through 301s and discounts 302s heavily under the assumption they're temporary. Redirect chains lose more authority at each hop and add measurable latency — bad for both rankings and Core Web Vitals.

How to spot it

Test every known redirect with curl -I or an equivalent. Watch for 302 responses where 301 is intended, and chains longer than one hop. Most CMSs have a setting for this; the regression usually comes from a plugin overriding it.

The pattern, not the tool

Every one of these regressions is technically trivial to detect. You fetch the page, parse the relevant element, compare it to last week's value. The reason agencies still get blindsided isn't lack of sophistication — it's that nobody's job is to scan the same set of pages every day looking for changes.

So the actual work is operational: pick the ten or twenty pages that matter most on each client site, scan them on a fixed cadence, diff the bits above, route an alert when something changes. You can stitch this together with curl, diff, and cron. Or you can use a tool that does it for you. The tool isn't the point — having a routine that actually runs every day is.

The agencies that don't have this routine spend their quarterly review explaining why ranking dropped. The ones that do walk into the same review with the date the regression happened, the cause, and a screenshot showing it's already fixed. Same client, same site, very different conversation.

We'll watch all six on one client site for free.

Free 30-day pilot. We set it up, you keep the report regardless. No card, no commitment.

Apply for the free pilot
Read next
For agency owners · 7 min read
The "you broke my site" problem — and how agencies stop losing the argument.