TL;DR: A US custom blinds store on Shopify lost 70%+ of its organic traffic over seven months. The audit found five causes stacked together: two collection pages noindexed on purpose, 348 dead URLs including trust pages, 232 pages Google crawled but would not index, 40+ thin pages published during the December 2025 core update, and a backlink gap. Two of the five were self-inflicted.
I asked ChatGPT what a $2M Shopify store should do after a 70% organic drop. It gave me a clean seven-part framework (visibility, technical, content, SERP changes, demand, measurement) and its best “case study with numbers” was Shopify’s own Growth Services write-up. Useful. But it could not point to a single independent audit that showed the actual URL counts behind a real drop.
So here is one. The store sells made-to-measure blinds, it ran a four-month engagement with me, and every number below comes from its own Google Search Console and crawl data.
Download the Shopify organic traffic drop audit (PDF)
Why this matters for your store
- A drop that size is almost never one penalty, so fixing the first cause you find usually recovers a fraction of the traffic.
- Two of the five causes here came from decisions made inside the business, which means an agency “SEO retainer” would have kept making them.
- The store’s blog and product schema were still earning 97,000+ clicks combined, so the audit also had to say what not to touch.
What did the traffic drop look like?
Organic traffic had fallen more than 70% across seven months. It was not a cliff on one day, which ruled out the usual first suspects: a theme launch, a domain change, or a robots.txt edit that blocks the whole store.
A slow bleed like that usually means several things going wrong at once. So I did not start with a theory. I started with the Search Console Pages report, sorted by lost clicks, and worked backwards from the URLs that actually lost traffic.
One check came first, before any SEO work. Was the drop real, or was it a tracking change? GA4 sessions can fall because of consent banners or a broken tag while Google clicks hold steady. On this store, Search Console clicks fell too, so the drop was real. If your GA4 and Search Console disagree, read why sales suddenly drop first, because you may have a tracking problem, not a traffic one.
Cause 1: why were two collection pages noindexed?
This was the biggest single finding, and it was deliberate. An earlier SEO decision had noindexed two core collection pages to “consolidate ranking power” into other pages. Both pages had significant impression volume before the change.
Noindex does not consolidate anything. Google’s noindex documentation says that once Googlebot reads the tag, Google will “drop that page entirely from Google Search results, regardless of whether other sites link to it.” The rankings did not move to the sibling pages. They left.
The fix split in two. One page got a 301 redirect to the collection that should own its keywords. The other had its noindex removed, and Google has since re-indexed it. If you want to consolidate two pages, redirect or canonicalize them. The canonical and duplicate URL guide covers when each applies on Shopify.
Cause 2: how did 348 URLs end up dead?
I spot-checked the store’s redirects and 28% were broken. Some pointed at paths left behind when a third-party app was removed. Worse, two trust pages (About Us and Shipping Information) returned 404. The full export came to 348 URLs to fix.
My first audit notes filed this under crawl budget waste. I want to be precise here, because it is the most repeated myth in Shopify SEO. Google’s crawl budget guide is written for sites with 1 million+ pages, or 10,000+ pages changing daily. This store is nowhere near that.
The real damage was different. Backlinks pointing at dead URLs pass nothing. A shopper who lands on a 404 Shipping page from Google does not buy blinds. And Shopify has a quirk: its URL redirect feature only fires on broken URLs, so a redirect you set up on a path that still loads a page silently does nothing.
Cause 3: why would Google crawl a page and not index it?
The Search Console Page indexing report showed 232 pages under “Crawled, currently not indexed” that should have been indexed. Google’s definition is blunt: the page was crawled but not indexed, and it “may or may not be indexed in the future.”
Resubmitting does not fix this status. Google read the page and decided it was not worth a slot. On this store the pattern was pages too similar to each other, with thin copy and weak internal links. The fix is content and linking, page by page, which is why the audit shipped a spreadsheet rather than a single recommendation.
Cause 4: did the December 2025 core update cause it?
Partly, and I cannot prove how much. The store published 40+ new pages with minimal content while Google’s December 2025 core update was rolling out. That update started on December 11, 2025, and took 18 days to finish.
Timing is not causation. Google’s core update guidance compares rankings to a best-restaurants list: the ones that move down “aren’t necessarily ‘bad’” because other pages now serve the query better. It points you to its helpful content questions instead. So I treated the thin pages as a quality problem to fix on its own merits, not as a penalty to appeal. Improve, merge, or remove them.
Cause 5: was it also a backlink problem?
Yes, and this one no code change can fix. The store had not built links since an ownership change. Its Moz Domain Authority sat at 38 with about 1,500 backlinks. Direct competitors sat at 39 to 44 with 6,000+ backlinks.
That gap caps everything else. You can fix every technical issue above and still land at the bottom of page one. I wrote it into the plan as a separate, owner-led workstream so nobody expected the technical fixes to close it.
What was already working, and why did that matter?
This is the part most audits skip. The store’s blog was its strongest organic asset: 52,000+ clicks across 233 URLs, with a 0.73% click-through rate against 0.37% for collection pages. Product schema was driving 45,000+ clicks from 8.6 million impressions through merchant listings. Server response time was under 100ms.
That told me three things. The domain was not penalized. The foundation was sound. And the fix list must not break the blog or the product structured data. A consultant who “cleans up” old blog posts during a traffic drop can delete the only part still working.
Where was the upside hiding?
186 keywords sat on page two, at positions 11 to 20, with 2.69 million combined impressions. Page two gets almost no clicks, so every one of those that moves up is new traffic, not recovered traffic.
The plan mapped each keyword to one landing page: 207 commercial terms and 14 informational ones. One page per keyword stops two of your own pages from competing, which is the same mistake the noindex decision was trying (wrongly) to fix. Page speed was part of the same engagement: mobile PageSpeed went from 38 to 81, written up in the Core Web Vitals case study.
What does this case study not prove?
I am publishing the audit, not a recovery chart, and the difference matters. The two collection pages are fixed and one is confirmed back in the index. The 30-day plan went to the owner with deadlines and spreadsheets for the 348 dead URLs and 232 unindexed pages. The link-building gap is an ongoing job.
So this post shows what caused the drop and what the fix list looked like. It does not show a “traffic recovered 120%” chart, and I would be suspicious of anyone selling a recovery on a timeline. Google recrawls on its own schedule.
How to check your own traffic drop in 10 minutes
- In Search Console, compare the last 28 days with the 28 days before the drop, open the Pages tab, and sort by clicks difference. Write down the top 10 URLs that lost clicks.
- Run each of those 10 through the URL Inspection tool. Look for “Excluded by noindex”, a 404, or a canonical pointing somewhere else.
- Open Page indexing and count “Crawled, currently not indexed” and “Not found (404)”. Then paste your
robots.txtinto the robots and crawler checker to rule out a blocked path.
If step 2 finds a noindex or a 404 on a page that used to rank, you have found at least one of your causes.
Should you hire someone for a traffic drop?
Hire for the diagnosis if the drop is over 30% and step 1 does not point to one obvious URL. Ask for a URL-level loss map and a ranked list of causes with evidence, not a 50-page checklist. My CRO audit cost breakdown shows what each price tier should include, and the hiring questions help you spot someone who will guess.
Be wary of anyone who promises a recovery date, or who wants to rewrite your best-performing pages first.
The takeaway
- Confirm the drop in Search Console before touching GA4, tags or content.
- Sort pages by lost clicks and diagnose the URLs, not the sitewide average.
- Stop using noindex to consolidate pages; redirect or canonicalize instead.
- Protect the blog posts and schema that are still earning clicks while you fix the rest.
- Treat backlinks as their own workstream, because no theme fix closes that gap.
I am Kaspian Fuad, a Shopify developer and CRO consultant. I publish the real counts from my audits, including the parts that are not fixed yet. If your organic traffic has been sliding for months, send me your store URL and the date it started, and I will tell you which report to open first.