Portfolio · Discover & organic recovery · 6 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. A correlation this page keeps recording, not a promise from Google. Which is why every number here is one the client could re-run.

08 · 6 recovery files · 2023 → today

Six 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.

Read the full case study

"Solved all the CWV issues I had and passed CWV."
Publisher, gfcnieuws.com · Upwork 4.85

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.

"Excellent work! We hired Milan to improve our core web vitals - he was super efficient and did an amazing job!"
Sweetn · Upwork 5.0

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.

"They have taken our site from 50% to over 95% compliant in Google Search Console. Traffic has increased during that time as well."
Daniel H., Coffee Bros · Upwork 5.0

FILE 05

airlinegeeks.com (Firecrown)

Aug–Sep 2025 · fixed-price

Phase 1 · The drop

TTFB >900 ms mobile

AdSense Auto Ads CLS on top of a slow origin

An aviation news site failing Core Web Vitals two ways at once: a slow origin, with mobile TTFB above 900 ms, and layout shifts from AdSense Auto Ads loading unsized. On a news site, Discover readers on mobile are the audience that feels both first.

Phase 2 · The fix · Aug 28 – Sep 10, 2025

  • Ad space reserved up front, ending the AdSense Auto Ads layout shift
  • Autoloaded options cleaned up and WP-Cron disabled, cutting server load
  • WP Rocket and Cloudflare cache rules, so visitors arriving from email campaigns with tracking parameters hit the cache too
  • Font Awesome and Disqus lazy-loaded off the critical path
  • Cloudflare APO approved and enabled; cached traffic expected to rise from 39% toward 90%

Phase 3 · The recovery

TTFB <600 ms mobile

Majority-green LCP in RUM within two weeks

Real-user monitoring showed most sessions green on LCP by mid-September, with mobile TTFB under 600 ms. Weeks in, the client's own report: Google Discover traffic on the site was already increasing after the changes.

FILE 06

St. Johns Citizen (sjcitizen.com)

2025 – ongoing

Phase 1 · The drop

CWV deep red

Google News admission blocked

A local news site failing Core Web Vitals across the board, with a hidden plugin glitch silently blocking its admission to Google News. Three previous developers had missed the blocker.

Phase 2 · The fix · 2025 · roughly one month to green

  • Full Core Web Vitals remediation, deep red to solid green in about a month
  • The blocking plugin glitch found and fixed; the Google News admission obstacle removed
  • Email deliverability and SSL issues resolved alongside the vitals work

Phase 3 · The recovery

CWV solid green

News admission unblocked

Core Web Vitals solid green in roughly a month, the Google News admission path cleared. The engagement continues.

"In just month, Milan transformed our site’s Core Web Vitals from deep red to solid green. He also uncovered a hidden plugin glitch—missed by three previous developers—that was blocking our admission to Google News. Milan is razor-sharp, lightning-fast, and an invaluable partner for anyone who needs an SEO and CWV expert. Thank you, Milan, for your terrific work!"
Rebecca R., Co-founder · St. Johns Citizen (LinkedIn)

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
airlinegeeks.comTTFB >900 ms mobile · AdSense CLSAug–Sep 2025TTFB <600 ms · majority-green LCP · client-reported Discover liftRUM · client report
sjcitizen.comCWV deep red · News admission blocked2025, ~1 monthCWV solid green · admission unblockedpublic LinkedIn testimonial

Dates from the engagements themselves; outcomes from Search Console, CrUX, and client-visible RUM at the time; quotes from public Upwork feedback and one owner-approved public LinkedIn testimonial (#70). Recovery narratives are paraphrased from project records, never pasted from private correspondence.

What clients said about the recovery work.

Verbatim from public feedback — Upwork and LinkedIn, unedited.

  • "Excellent work! We hired Milan to improve our core web vitals - he was super efficient and did an amazing job!"

    SweetnCWV for Discover · 2026
  • "Milan delivered the pilot task efficiently and in line with the outlined requirements. He deployed the WordPress environment, configured Trafficmind properly, and implemented the necessary protection and caching rules. Post-testing, he provided clear documentation and screenshots. Overall, a smooth process with good communication throughout."

    Castellum Marketing LimitedTraffic-spike readiness · 2026
  • "In just month, Milan transformed our site’s Core Web Vitals from deep red to solid green. He also uncovered a hidden plugin glitch—missed by three previous developers—that was blocking our admission to Google News. Milan is razor-sharp, lightning-fast, and an invaluable partner for anyone who needs an SEO and CWV expert. Thank you, Milan, for your terrific work!"

    Rebecca R., St. Johns CitizenNews admission + CWV · 2025

4.9/5 average across 306 Upwork reviewsSee all reviews on Upwork ↗

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