Portfolio · Discover & organic recovery · 4 engagements

The firehose went dark. We turned it back on.

Google Discover can send a publisher a thousand clicks a day, then one core update takes all of it, overnight. Nobody outside Google can force Discover back. In every engagement below, the fixable part was engineering: failing Core Web Vitals, broken image feeds, jumpy layouts. When those went green, traffic followed.

Discover clicks per day: plateau → core-update cliff to zero → recovery after CWV green.1k clicks/day0, Discover zeroCORE UPDATE · AUG 2023CWV GREEN · NOV 1RETURNING · NOV 7
Shape of the gfcnieuws.com recovery, drawn to scale from the client's Search Console graph. Every story below follows this arc.

Why this works, in three beats.

  1. 01

    The update strips eligibility.

    Core updates routinely pull Discover visibility even from sites whose content survived. gfcnieuws lost a four-figure daily stream in August 2023; bolde.com had its audience geo-flipped in April 2026. You cannot appeal that.

  2. 02

    The fixable part is on your side.

    Failing Core Web Vitals, 404ing feed images, shifting layouts, these are engineering defects, visible in Search Console and CrUX before Google's eyes. They are the half of the equation you control.

  3. 03

    Green first, traffic after.

    In these engagements, passing CWV validation preceded the traffic return, gfcnieuws by six days, bolde within weeks of CLS and INP validating. Correlation we have now seen four times, not a promise from Google. Which is why every number here is one the client could re-run.

07 · 4 recovery files · 2023 → today

Four files, one arc.

The drop in red, the work in ink, the recovery in green. Same order every time, because that is the order it actually happened in.

FILE 01

gfcnieuws.com

Oct 2023 – 2025 · 3 contracts

Phase 1 · The drop

1k+ → 0 clicks/day

August 2023 core update

A Dutch news site that had never drawn fewer than about a thousand Discover clicks a day watched the graph fall to absolute zero when the August 2023 core update landed, and stay there for two months while everything else in Search Console looked clean. The publisher had already spent six months optimizing for Discover. The only thing left failing was Core Web Vitals.

Phase 2 · The fix · Oct 19 – Nov 2023

  • LCP: hero image pulled out of lazy-loading and preloaded with high fetch priority
  • Icon-font diet: 78 KB of icon webfont down to 1 KB of glyphs actually used
  • CLS: CSS min-height reserved on every ad slot, so banners stopped shoving the layout
  • Taboola widget deferred; ad-inserter JS error cleared; WP-cron moved to a system cron

Phase 3 · The recovery

Back in 6 days

Mobile CWV green Nov 1 · traffic returning Nov 7

Mobile Core Web Vitals passed on November 1; the first returning Discover clicks showed up six days later. Desktop validation followed on November 13. The relationship continued through 2024 holding CLS green against a floating video player, a load-more button, and new ad units, with DebugBear RUM installed to catch shifts before Google's 28-day averages did.

FILE 02

Bolde.com (Sweetn)

Feb 2026 – ongoing · retainer active

Phase 1 · The drop

INP 257ms · CLS 0.15

CrUX mobile, failing since mid-Jan 2026

A Discover-dependent publisher whose real-user data had been failing interaction latency since mid-January and layout shift for far longer. Taps on headlines froze the page for a quarter second; content jumped as ads loaded. The audit traced it to a tag-manager container blocking the main thread for 440 ms at load and ad-refresh scripts re-freezing the page every few seconds while people read.

Phase 2 · The fix · Feb 2026 · six weeks to green

  • GTM diet: stale marketing scripts removed from the critical path
  • Raptive/AdThrive ads moved to delayed loading, ending recurring 118 ms freezes mid-read
  • Homepage hero grid converted from CSS backgrounds to real images with priority hints
  • DebugBear RUM installed so regressions surface in hours, not at the next CrUX refresh

Phase 3 · The recovery

CLS ✓ Feb 23 · INP ✓ Mar 1

GSC validation passed · CLS stabilized near 0.05

Search Console validated CLS nine days after work started; INP went green a week later and settled under the 200 ms threshold with CLS near 0.05. The first contract closed April 1; a second, literally titled "Technical SEO Expert for Google Discover Help", is an open retainer covering Discover classification, including the April 2026 update that shifted the site's Discover distribution toward the UK.

FILE 03

tech4gamers.com

Jan 2024 – 2025 · 2 contracts

Phase 1 · The drop

Featured images 404

Every newly published article, from ~Mar 31 2024

The sized crops of every new featured image started returning 404, only the full-resolution original existed. Fresh articles reached Google's feed with broken images, raising Search Console errors and costing the site its Discover performance exactly where new content lives. For a news-driven tech site, invisible new posts are an existential problem.

Phase 2 · The fix · Jan 2024 + same-day fix May 3, 2024

  • Jan: 3.7 s average TTFB cut with Cloudflare APO and crawler control; most pages to 80+ PSI within three weeks
  • May 3: image pipeline repaired in a day, the -1280 and -800×600 crops regenerating on publish again
  • Cache-purge wiring so homepage and category archives refresh the moment an article goes live

Phase 3 · The recovery

Errors cleared

Discover feed healthy on new posts again

The Discover errors cleared with the 404s. The relationship continued through 2024, cache crashes under image-optimization batch jobs, a WAF-blocked AJAX call, and renewed in 2025. This is the unglamorous half of Discover work: the feed is only as good as the publishing pipeline behind it.

FILE 04

Coffee Bros (coffeebros.com)

Apr–Jun 2023 · 2024 follow-up contract

Phase 1 · The drop

~50% URLs failing

Page Experience report, Google Search Console

Not a publisher, proof the same mechanism hits stores. A Shopify coffee roaster whose mobile CLS left half its URLs non-compliant in the Page Experience report, with pages visibly jumping as they loaded and organic traffic slipping alongside.

Phase 2 · The fix · Apr 24, 2023 → validation within weeks

  • Mobile CLS remediation across product, collection, and page templates
  • Validation requested in Search Console the same week; every page audited as verification rolled in

Phase 3 · The recovery

50% → 95%+ compliant

All pages passing by Jun 22 2023

CLS validation passed on May 12, 2023 and every flagged page was green by June 22. The client's public feedback records the outcome in one line: traffic increased during that time. A 2024 follow-up contract cleared a giveaway widget that had re-triggered CLS on collection pages.

The ledger.

EngagementSignal lostWhenOutcomeEvidence
gfcnieuws.comDiscover 1k+/day → 0drop Aug 2023 · fix Oct–Nov 2023Returning ~6 days after mobile CWV greenGSC · public feedback 4.85
bolde.comINP 257 ms · CLS 0.15 mobileFeb–Mar 2026GSC validation passed (CLS, INP) · CLS ≈0.05CrUX + GSC · public feedback 5.0
tech4gamers.comNew-post featured images 404Mar–May 2024Pipeline fixed same-day · feed errors clearedGSC errors · project records
coffeebros.com~50% URLs failing Page ExperienceApr–Jun 202395%+ compliant · traffic upGSC · public feedback 5.0

Dates from the engagements themselves; outcomes from Search Console, CrUX, and client-visible RUM at the time; quotes from public Upwork feedback. Recovery narratives are paraphrased from project records, never pasted from private correspondence.

Your Discover graph is the next file.

Traffic gone after an update? Free audit: what failed, what it costs, whether it is fixable. Honest answer either way.

Get a free audit