Traffic is down. Someone has asked why. The instinct is to open a list of "17 reasons rankings drop" and start guessing downward.
Do not. Guessing is expensive here, because most of the candidate causes are unfalsifiable after the fact and the wrong diagnosis costs weeks. Clinicians do not guess either — they run a differential diagnosis: rule out the things that mimic the disease, then use the presentation to narrow the cause class, then confirm with a test. That process maps onto ranking loss almost perfectly, and this post is that process.
Gate 1: did you actually drop?
The first question is not why. It is whether. A meaningful share of reported drops are not drops, and every hour spent diagnosing a phantom is an hour stolen from a real problem.
Four things impersonate a ranking drop:
Measurement changed, not rank
Rank tracking is a sampled measurement of a personalised, localised, volatile system. If someone changed the tracked location, the device profile, or the language on a keyword set, positions move without anything on your site or in the index changing. Check the tracker's configuration history before you check your site. This is embarrassing to discover on day three.
You lost position without losing rank
This is the big one in 2026, and it is why "position" has quietly stopped meaning what it used to mean.
You can hold organic position 3 through an entire quarter and lose most of the clicks, because an AI Overview, a People Also Ask block, a product carousel and four ads got inserted above you. Your *rank* is identical. Your *pixel depth* doubled. Nothing in a rank report will show this, because rank reports count organic results and ignore everything Google put on top of them.
The test: pull the SERP feature history for the affected keywords. If feature composition changed on the date traffic fell, and your position did not, you have found it. The fix is not a ranking fix — it is a SERP feature strategy, which is a completely different project.
Demand changed
Impressions fall because fewer people searched. Rank is flat, clicks are down, and nothing is wrong with your site. Seasonality, a news cycle ending, a product category cooling. Search Console shows this instantly: impressions down, average position flat is a demand signal, not a ranking signal. Compare year-on-year, not month-on-month, or you will diagnose Christmas as an algorithm update.
The average lied to you
If you are looking at *average position* across a keyword set, stop. Averaging positions destroys the information you need — and can invert the sign of the result. We will come back to this, because it deserves its own section.
Gate 2: read the shape of the fall
Once you have confirmed a real loss, the single most diagnostic piece of evidence is not *what* changed — it is the shape of the curve. Cause classes have characteristic shapes, and the shape narrows the field before you have looked at a single line of code.
Plot daily clicks and daily position for the affected set, then match against these five:
| Shape | What it looks like | Cause class |
|---|---|---|
| Cliff | Near-total loss in 24–48h, one URL or the whole site, straight down. | Something binary broke or was applied: `noindex` shipped, robots.txt `Disallow`, 5xx during a crawl window, expired domain, botched migration, manual action. |
| Step | Sharp partial drop in 1–3 days, sitewide, then a new flat plateau. | Algorithm update. Partial, not total, and it holds at the new level. |
| Slide | Gradual decay over weeks or months, no single break point. | Content decay or competitors improving. Nothing happened *to* you; the field moved past you. |
| Sawtooth | Positions oscillating between two bands, day to day, indefinitely. | Cannibalisation. Two of your URLs are swapping for the same query. |
| Cliff then partial recovery | Sharp drop, then a staircase back up over 1–3 weeks without you doing anything. | A transient crawl or render failure that has since been re-crawled. Look at what was broken *then*, not now. |
Gate 3: confirm with a test, not a theory
Each shape implies a specific, cheap, falsifiable test. Run the test. Do not skip to the fix.
Cliff
- Fetch the affected URL as Googlebot and read the rendered HTML, not the source. A `noindex` injected by client-side JavaScript is invisible in view-source and fatal in practice.
- Check `robots.txt` — and check its *history*, not just today. A `Disallow` that was live for 36 hours and then reverted still cost you the index entry.
- Check the status code from a non-cached, non-local request. 200 from your browser and 503 from a datacentre IP is a real and common failure.
- Check Search Console Manual Actions and Security Issues. Rare, but it is a 30-second check that ends the investigation if positive.
- Diff the sitemap and the canonical tags against last month. Migrations lose URLs quietly.
A cliff almost always has a boring, binary, findable cause. If you have spent more than an hour on a cliff without finding it, you are probably looking at the wrong date — confirm the exact day from Search Console rather than from when someone noticed.
Step
Before you accept "algorithm update", make it earn it. An update should show a consistent direction across a coherent segment, not scattered noise. Segment the drop by page type, by intent, and by query class. If informational pages fell and transactional pages held, that is a real signal about what the update targeted, and it is actionable. If the drop is evenly distributed across everything, it is more likely a sitewide quality or technical signal than a targeted update.
Slide
Decay is the hardest to accept because there is nothing to blame. The test: take the top five results for the query and check their `lastmod` and visible freshness against yours. If everyone above you has been substantially revised in the last year and your page has not been touched since 2023, the diagnosis is not mysterious.
The counterintuitive part of decay: it is usually not that your page got worse. It is that the query's expected answer changed and your page still answers the old question. Re-reading your page against today's SERP — what are the top results actually covering that you are not? — is more productive than any content-score tool.
Sawtooth — the one everybody misdiagnoses
If a keyword bounces between roughly position 4 and roughly position 12 every few days, you do not have a ranking problem. You have two URLs and Google cannot decide which one you meant.
Here is why this is so often missed: average position hides it perfectly. Two URLs alternating between 4 and 12 produce a serene average of 8 with low variance. The dashboard looks calm. Nothing looks broken. Meanwhile you are losing the clicks that position 4 would have earned every second day, and the oscillation itself suppresses both URLs.
The test takes one minute: filter Search Console to the query, group by page, and look at how many URLs have impressions. More than one URL with meaningful impressions on a single specific query is your answer. Then consolidate — one canonical URL, redirect or merge the other, and fix the internal links that were splitting the signal.
The instrument problem: clicks, impressions and position do not agree
A recurring source of false diagnoses is comparing two numbers that were never measuring the same thing. Before you conclude anything, know which quadrant you are in:
| Impressions | Position | What it means |
|---|---|---|
| Down | Flat | Demand fell, or you lost the long tail. Not a ranking problem. |
| Flat | Down | A genuine ranking loss. Proceed to shape analysis. |
| Up | Down | You gained long-tail queries where you rank poorly. Your average position got *worse* because you are winning more. This is good news that looks like bad news. |
| Flat | Flat, clicks down | CTR loss. A SERP feature took the click, or your title/snippet changed, or a competitor's did. |
That third row is worth sitting with. Average position can decline while every single one of your rankings improves, simply because you started appearing for queries you never appeared for before — each at position 40, each dragging the mean down. Teams have "fixed" this by deleting the very content that was expanding their footprint. The metric punished the outcome it was supposed to reward.
What to do when it was an update and there is no bug
Sometimes the diagnosis is real, complete, and offers you nothing to fix. The honest answer is that recovery from a broad quality update is measured in months, is not guaranteed, and does not respond to tactical edits.
What is worth doing: identify the segment that fell, decide whether that segment is worth defending at all, and if it is, rebuild it against what the SERP now rewards rather than tuning what it stopped rewarding. What is not worth doing: shuffling headings, adding FAQ schema, and re-publishing with a new date. That is motion, and motion is what people do when they cannot tell the difference between a cliff and a step.
The whole method, compressed
- Did you drop? Rule out measurement changes, SERP feature insertion, demand shifts, and averaging artefacts.
- What shape? Cliff, step, slide, sawtooth, or cliff-with-recovery. The shape names the cause class.
- Run the test for that shape. Rendered DOM, segment analysis, freshness comparison, or query-to-page grouping.
- Ask who took the clicks, not just what happened to you.
- Write it down, so the next drop is faster and the recovery is attributable.
The reason this works is not that it is clever. It is that it forces you to spend the first twenty minutes on evidence instead of hypotheses — and ranking loss is one of those problems where the hypotheses are cheap, plentiful, and almost all wrong.
Daily position snapshots with SERP feature history, stored per-snapshot and never averaged, are what make the shape readable in the first place. That is how our rank tracking is built, and the no-averaging rule is not a limitation — it is the entire point.