All articles
google algorithm updatesscaled content abuseseo case study

Our August 2026 Google Traffic Drop: A Search Console Postmortem

We build an AI SEO tool. On 18 August 2026 our own site’s search impressions fell from 1,152 to 26.

Updated Mehdi Abou, Founder, Seobase10 min read
A Search Console performance chart showing a traffic drop and recovery timeline

This is a measured postmortem, not proof that Google penalized us. It separates observed Search Console data, product changes, and hypotheses. Every number comes from our Google Search Console property or our production database; nothing here is modelled or estimated.

Download the raw GSC snapshot (CSV) used for the 10–18 August table. It contains the exact property, search type, scope, dates, impressions, and average positions shown here.

We are publishing it because three separate audits of our own site got the cause wrong, and the reason they got it wrong is a mistake we suspect a lot of people are making right now.

The number

Daily impressions, sc-domain:seobase.co, web search, all countries and devices:

Date Impressions Average position
10 August 248 84
11 August 287 84
12 August 752 79
13 August 1,470 74
14 August 1,005 75
15 August 1,342 75
16 August 1,560 73
17 August 1,152 71
18 August 26 84
19 to 30 August 23 to 57 ~80
1 to 7 September 6 to 13 20 to 45

Two things in that table are easy to misread.

The 12 to 17 August spike was not success. It was Google discovering a batch of new pages and testing them, mostly at positions 70 to 90. We were briefly visible on page 8 for a lot of queries.

The September “improvement” in average position is not recovery either. The impressions that sat at position 80 to 90 disappeared, so the small number that remain average better. Position improved because the traffic left.

What changed on 18 August

Google’s Search Status Dashboard records the August 2026 spam update as starting on 18 August and ending two days and 16 hours later. Our collapse began on the same day. That is a temporal match, not proof that the update caused our loss.

Google’s spam policies describe scaled content abuse as publishing many pages primarily to manipulate rankings rather than help users. We compare that guidance with our own publishing record below, but we cannot see which system, if any, evaluated our site.

The timing changed our hypothesis, but it did not establish causality. We are recording the overlap because it is useful evidence, not presenting it as a confirmed penalty.

We had a genuinely bad backlink profile: 277 backlinks across 140 referring domains, a Semrush authority score of 2, and a cluster of 33 links from 28 domains all using a private blog network’s own sales copy as anchor text. Two of our three internal audits concluded that this was the cause and made disavowing it the top priority. A third called the cause unproven.

Our earlier audits over-weighted the backlink profile. Those links remain a real authority problem, but the available evidence does not prove they caused the one-day drop, and we have no evidence that disavowing them would restore impressions.

The audit lesson was simple: check the date against Google’s update calendar. We also checked deployments, robots.txt, and 200 responses. A same-day overlap is a lead to investigate, not a diagnosis; keep technical evidence and causal inference separate.

If your traffic dropped off a cliff on a specific day, search that date before you audit anything.

What our publishing history shows

Here is our own publishing record, straight out of our production database. Articles published per week to seobase.co:

Week beginning Articles published
10 August 8
17 August 24
24 August 10
31 August 11

Twenty-four articles went live in the week the update landed, on top of 55 tool pages already live. The pages were structurally competent, but many did not add enough original value or evidence. That publishing pattern is a risk we now treat as a product failure, not proof of what Google classified.

It is consistent with the kind of scaled publishing we now avoid, but our records cannot prove that a particular Google system made a particular decision.

The code defect behind the burst

We did not deliberately publish 24 articles that week. Our own scheduler did it, and the reason is three lines of our own code. This explains the burst in our publishing record; it does not, by itself, prove why visibility fell.

When our pipeline generated a content calendar it scheduled one keyword per day, like this:

const today = new Date();
for (let i = 0; i < keywords.length; i++) {
  const scheduledDate = new Date(today);
  scheduledDate.setDate(today.getDate() + i);
}

One article per day. Correct, in isolation.

The defect is that every generation run restarted from today. Run the calendar generator twice and you get two articles on the same day. Run it three times across a fortnight and days start stacking three deep. One run looks like a sensible cadence; several overlapping runs can make a site resemble a content farm to an evaluator.

Scheduling now starts after whatever the product already has queued, so one per day is an actual ceiling rather than a per-run intention.

How bad it was, precisely

Because the spike made things look busy, it is worth stating what our search performance actually was underneath it. Over 90 days (10 June to 7 September), across every page and query pair Search Console reports:

  • 683 page and query pairs
  • 10,992 impressions
  • 4 clicks

All four clicks were on the query “seobase”, our own brand name.

Of those 683 pairs, five ever reached position 20 or better, and three of those five were brand searches or single-impression flukes. 609 pairs, or 89 percent, sat past position 50.

Our blog specifically: 6,104 impressions, zero clicks, in 90 days.

We were not ranking badly. We had no non-brand top-20 rankings at all.

The barbell

The distribution of what did rank is the most useful thing we found, because it explains the ceiling better than any score does.

Ranks in the top 10 Ranks 70 to 95
/tools/grammar-checker, position 2 (1 impression) /tools/headline-checker, position 82 (3,180 impressions)
/tools/bio-generator, position 3 (2 impressions) /tools/meta-description-generator, position 89 (942)
/tools/robots-txt-file-generator, position 7 (2) /blog/find-backlinks-in-google, position 72 (2,890)
/blog/etsy-seo-tools, position 3 (1) /blog/moz-vs-ahrefs, position 79 (740)

Top three for queries with essentially no volume. Page eight for every query with volume. Nothing at all in between.

That is what a domain with no earned authority looks like in a saturated niche. It can win, but only where nobody is competing.

Why “low difficulty” was a lie for us

Every one of the 78 keywords in our calendar had a difficulty score of 40 or lower. Thirty-four of them scored 15 or lower. By the numbers we were targeting nothing but easy wins.

Keyword Stored difficulty Volume Our live position
how to find low hanging fruit keywords 8 1,300 91
find backlinks in google 29 1,300 72
search google or type a url 22 49,500 no top-50 presence

Difficulty scores are calibrated against an average site, not against yours. In a niche where every first-page result belongs to Ahrefs, Semrush, Moz or Backlinko, a difficulty of 8 still means you will not rank. The number describes the competition. It says nothing about your ability to beat it.

We then went looking for genuinely low-difficulty opportunities properly: 540 keyword rows across ten technical SEO seeds, keeping the hardest difficulty reading wherever two sources disagreed. At difficulty 30 or below with at least 150 monthly searches, here is what the “easy” pool actually contained:

  • zuhio keyword count checker, 18,100 a month: another company’s brand name
  • خرید اکانت ahrefs, 3,600 a month: Persian for “buy an Ahrefs account”
  • php 后门守护进程技术
  • seocreed login: somebody else’s login page
  • petaluma search engine optimization, search engine optimization edmonds, coquitlam search engine optimization: local agency terms in towns we do not operate in

About 24,800 monthly searches of that pool was unusable. Difficulty 0 because nobody competes, and nobody competes because there is nothing there.

One coherent, genuinely uncontested cluster did survive: LLM rank tracking. Thirty-seven keywords, roughly 8,900 monthly searches, maximum difficulty 5, things like copilot rank tracking and best perplexity rank tracker. That is the one case where a difficulty of 0 is real rather than mis-calibrated, because the category is months old and nobody has built authority in it yet.

The distinction is the whole lesson. Difficulty 8 on hreflang generator is mis-calibration. Difficulty 0 on copilot rank tracking is an absent competitor.

The gate that let it through

We already had the mechanism that should have caught petaluma search engine optimization: a semantic relevance check that scores every candidate keyword against a description of the product.

We tested it against our real product description after the fact. It scores petaluma search engine optimization at 0.386 and seocreed login at 0.343, both well under our 0.45 floor. It would have rejected both.

It never ran on them. One line was responsible:

const exemptFromRerank = (c) => c.source === "gsc" || c.source === "competitors";

Any keyword mined from a competitor’s rankings was exempted from the relevance check and handed a perfect score. Almost every keyword we had was mined from a competitor, so for practical purposes the relevance gate was off.

The exemption was protecting something real, which is why it was written that way. A prose description of your product does not read as similar to a legitimate comparison keyword: moz vs ahrefs scores 0.336 against ours, and that page is our best performer. Judge it on prose similarity and you delete your own best content.

The fix was to make the exemption something a keyword earns with evidence rather than something it inherits from its source. A competitor ranking in the top 10 at real volume is evidence. A comparison against a named competitor is evidence. “Some competitor ranked for this once” is not.

We also found that our near-duplicate check did no stemming at all, so seo for architectural firms, seo for architect firms and seo for architecture firm were three different topics as far as it was concerned. All three were scheduled as separate articles.

What we changed

  • Halted publishing on our own site entirely.
  • Unknown keyword difficulty now fails the winnability gate instead of passing it. Every one of our keyword data providers was failing when we checked on the morning of 8 September (two recovered later the same day), and a run during that window would have produced a calendar of candidates whose difficulty nobody had ever checked.
  • Scheduling anchors to the existing queue instead of restarting at today.
  • The relevance exemption now follows evidence, not source.
  • Near-duplicate detection stems, so one intent is one article.
  • Removed a fabricated case study from one of our own posts. It claimed “within 45 days, 11 of the 18 targeted queries moved into positions 2 through 5” and attributed it to an anonymous “Site X”. It was not true. We replaced it with the real numbers above. We scanned all 66 of our articles and it was the only fabricated outcome claim, which is one more than acceptable.
  • Repaired 11 dead internal links. One pointed at an article that was still sitting unpublished in the queue.
  • Removed 27 tool pages from our index that targeted head terms owned by Grammarly and QuillBot and were never going to rank.

Related workflow: use the internal linking tool to connect revised pages, then start a free Seobase trial only after the page, evidence, and review gate are ready.

What we do not know yet

We have not recovered. Nothing in this post should be read as a recovery case study.

Recovery from an algorithmic spam demotion requires Google to recrawl and re-evaluate the site, and it takes months. We are publishing our baselines now so that we cannot quietly move the goalposts later:

Measure Baseline, 10 June to 7 September
Page and query pairs at position 20 or better 5, of which 3 are brand or flukes
Non-brand blog clicks 0
Share of pairs past position 50 89%

We will re-measure against equal windows and report what happened either way.

What we would tell you

If you publish with automation, do not equate a high internal score with a ranking outcome. Our internal score measures structure; it does not measure authority, intent fit, or Google’s evaluation. A safer workflow starts with a small canonical set, a review gate, and a Search Console baseline. Use the SEO roadmap template and content brief generator to make those decisions explicit.

Three things we would check in your position:

  1. Check the date first. Search your drop date for a confirmed Google update before auditing anything internal.
  2. Look at your publishing velocity as Google sees it, not as you intended it. Count what actually went live per week. We intended one a day and shipped 24 in a week without deciding to.
  3. Stop treating a difficulty score as permission. Open the results page. If every result is a decade-old domain, the fruit is not low hanging, whatever the tool says.

Put this on autopilot

Seobase runs the whole loop for you: it finds the keywords worth ranking for, writes and publishes the articles, and reports back from Search Console on what actually moved.

Start a free Seobase workflow

Related guides

An SEO content brief with keyword targets and writer instructions
Mehdi Abou6 min read

SEO Content Brief Generator: Build Better Article Plans (2026)

An SEO content brief generator turns a target query into an editorial plan before anyone spends time drafting. The useful output is not a list of keywords: it is a clear reader, intent, angle, outline, proof requirements, questions, internal links, and a definition of done.

Read article
An SEO content automation workflow from keyword research to publishing
Mehdi Abou8 min read
seo automation software

SEO Automation Software (2026): AI SEO Content Workflow

Short answer: SEO content automation connects keyword research, briefs, drafting, review, publishing, and performance measurement into one repeatable workflow. The useful test is not how many words a tool can generate; it is whether the workflow helps you publish a page that satisfies a real query, keeps a human approval step, and gives you evidence for the next revision.

Read article

Your next customer is searching right now.

Start today and your first articles can be live this week, on your site and in your voice, quietly picking up keywords while you get on with everything else.

3 days free · Cancel anytime