Short answer: To find out why organic traffic dropped, compare two equal-length periods in Search Console and attribute the lost clicks to specific pages.
If a few pages carry most of the loss, it is a page-level problem such as lost rankings, a changed page or a deindexed URL. If the loss is spread thinly across many pages, it points to something sitewide, such as an algorithm update, a technical regression or a manual action. Search Console shows what changed, never why, so treat every cause as a hypothesis until the dates and numbers support it.
What should you check before you blame Google?
Check that you are comparing like with like, because a lot of drops are manufactured by the comparison. The most common mistake is unequal windows: comparing 30 days to 28 days invents a drop of about 7 percent out of nothing. A subtler version is weekday mix, where a period with five Mondays is compared with one that has four.
Pick two periods of identical length, aligned on weekdays. If someone says since last month, turn that into two concrete date ranges and agree them before looking at any numbers. Then confirm which Search Console property you are reading. A domain property and a URL-prefix property are different datasets, and picking the wrong one quietly returns a partial or empty answer.
Ask what you changed
Search Console cannot see your deploys. Before analysing anything, write down every release, migration, redesign, robots.txt change or template edit near the date the drop began. The data will not volunteer any of it, and it is often the answer.
Is the loss concentrated or spread out?
This is the most useful first cut. Attribute the lost clicks to individual pages and look at how the decline is shared among them. Also look at clicks gained, not only clicks lost. If both numbers are large, the site did not simply decline. Traffic moved around, and that is a different story with a different fix.
| Shape | What it usually means | Where to look next |
|---|---|---|
| A few pages carry most of the loss | A page-level problem: those pages lost rankings, were changed, or were deindexed | What changed on those pages, and what now outranks them |
| Loss spread thinly across many pages | A site-level problem: an algorithm update, a technical regression or a manual action | Crawling, indexing and rendering, and whether the dates line up with a known update |
| Large losses and large gains | Traffic moved between pages rather than disappearing | Whether one page replaced another, for example after a merge or a redirect |
Establish which of these you are in before going any further. The investigations barely overlap, and spending a week on content quality for what turns out to be a robots.txt regression is an expensive way to learn that.
Did you lose rankings, or did demand fall?
For the pages that carry the loss, compare how impressions and average position moved. Together they separate three situations that all look like fewer clicks.
| Impressions | Average position | Reading |
|---|---|---|
| Down | Worse | Lost rankings. Competitors or a content problem |
| Down | Flat | Fewer people searching, or the results page changed above you |
| Flat | Flat, clicks down | Something on the results page, such as an AI Overview, is absorbing the clicks |
The third row is increasingly common, and it is invisible if you look only at clicks. Your page is shown as often as before and ranked where it was, and fewer people choose it. That is not a ranking problem, and rewriting the page will not fix it.
Search Console's position is an average across every impression, so a page ranking 3rd for one query and 40th for another does not rank at 21. Big position swings on low-impression pages are usually a change in which queries matched, not a change in ranking. (Google Search Console: Performance report)
Once you know which pages are involved, look at the lost queries for those pages only. If the queries are all about one topic, you probably have a content or intent problem. If they are scattered, a technical or sitewide cause becomes more likely.
What does the diagnosis look like in order?
Fix the comparison
Two equal-length periods, aligned on weekdays, on the right property.
Attribute the change to pages
Total clicks lost and gained, then the pages that account for the loss and each page's share of it.
Read the shape
A few pages or many. Page-level and site-level problems lead to different places.
Separate rankings from demand
Compare impressions and average position for the pages that carry the loss.
Look at the queries for those pages
One topic points at content or intent. Scattered queries point at something technical or sitewide.
Line it up with events
Your releases and migrations first, then any known search update, and say clearly which parts are hypotheses.
This diagnosis is packaged as an agent skill that can be installed into Claude Code and other coding agents. The agent runs the comparison, reads the shape, and leads its report with the evidence instead of a vague percentage. The full guide has the exact calls and what to say in the write-up.
Read the traffic drop diagnosis skill guideThe skill source is public on GitHub.
View the skill source on GitHubThe overview lists every available skill and how to install them into Claude Code and other agents.
Install agent skillsWhat can Search Console not tell you?
It shows what happened. It does not know why. It has no view of algorithm updates, your deploys, your competitors' publishing or the seasonality of your topic. Two habits follow from that.
- Check the timing against known events: A release, a migration, a redesign, a robots.txt change. Ask the person who ships the site, because the data will not tell you.
- Never assert a cause you cannot see: This correlates with lost rankings on these four pages is supportable. Google's update hit you is a guess unless the dates line up, and then it is still a hypothesis you should label as one.
- Rule out seasonality: A tax guide falling in May is not a problem. Where a topic has an annual cycle, compare against the same window last year rather than the previous window.
Google also publishes its own guidance on diagnosing drops, and a status dashboard for known ranking updates. Use them to check the dates, and then go back to your own pages for the evidence.
Google: Debugging drops in Search trafficIf the drop is steady rather than a before and after change, such as impressions without clicks, a different guide fits better.
Impressions but no clicksCommon questions
Why did my organic traffic suddenly drop?
Compare two equal-length periods in Search Console and attribute the lost clicks to pages. If a few pages carry most of the loss, look at what changed on them and what now outranks them. If it is spread thin across many pages, look at technical regressions, an algorithm update or a manual action. Rule out an unequal comparison window first.
How do I know if a traffic drop is an algorithm update?
You usually cannot be sure from your own data. Search Console shows what changed, not why. If the loss is spread across many pages and starts on the date of a known update, that is a reasonable hypothesis, but treat it as one. Check your own releases, migrations and robots.txt changes before accepting it.
What is the difference between losing rankings and losing demand?
Lost rankings show as impressions falling together with a worse average position. Lost demand shows as impressions falling with position flat, meaning fewer people searched or the results page changed above you. If impressions and position are both flat but clicks fall, a new results page feature is likely absorbing the clicks.
Can seasonality look like a traffic drop?
Yes, and Search Console cannot tell the two apart. For a topic with an annual cycle, compare against the same window last year instead of the previous period. If you cannot rule seasonality out, say so rather than reporting a decline.
Sources
Related guides
Want it done for you
Want this done and re-checked every month? Our monthly maintenance re-runs your buying questions in ChatGPT, Perplexity and Google, ships the fixes that keep you out of the answers, and reports what moved. Or run the free check on your site first at advancelabs.dev/tools/audit.
See how it works
