Mobile-First Indexing Audit: Diagnosing Chewy's Redesign Regression
Objective: Diagnose a 22% organic traffic drop for Chewy following a responsive site redesign. Run a Search Console indexing audit, a content parity check, and structured data validation to isolate crawling and indexing bottlenecks.
You are the Senior Technical SEO specialist at Chewy (CHWY). Shortly after launching a major site-wide responsive redesign aimed at improving load speeds, organic traffic to Chewy's core product category pages dropped by 22%. Search Console logs indicate that Google transitioned the crawl agent to mobile-first indexing. You have been handed a Search Console indexing export and the HTML source of a sample product page from both desktop and mobile layouts. You must identify why organic rankings collapsed.
Analyze Chewy's Google Search Console page indexing data and compare the desktop vs. mobile HTML source code. Identify the parity and indexing defects that led to ranking losses, verify schema validation failures, and write engineering tickets to resolve them.
Which of several plausible causes actually explains a 22% organic traffic drop after a mobile-responsive redesign?
Before you start
What you'll need
- —Familiarity with Google Search Console's indexing reports
- —Basic understanding of robots.txt, canonical tags, and structured data (schema)
- Canonical Tag
- an HTML tag telling search engines which URL is the definitive version of a page when duplicate or near-duplicate URLs exist.
- Rich Results
- enhanced search listings (star ratings, prices, availability) generated from a page's structured data markup.
Free path (everything below is enough to finish)
Provides direct diagnostic confirmation of how Google's mobile crawler parses the page
Quickly extracts content word counts and navigation links across both templates in bulk
Paid upgrades (optional, faster/deeper)
This audit is complete on the free path: the GSC export and a Screaming Frog crawl are both free-tier. Ahrefs is worth it only for ongoing trend-monitoring after the fix ships, never for finishing the audit itself.
Useful to correlate index parity fixes with recovery in organic traffic over time
The process
3 steps
Step 01 of 03
Google Search Console's page indexing reports track why pages fail to enter the index. Under mobile-first indexing, Google crawls using the mobile user-agent. If your mobile user-agent is blocked by robots.txt rules, or if mobile parameters create duplicate canonical confusion, pages will drop out of Google's index entirely.
Review the Search Console page indexing export data (gsc-indexing-export.csv). Isolate the two primary reasons that explain why pages were blocked from indexing after the redesign, citing specific numbers for each, and explain their impact on the mobile crawler.
Procedure
- Open the exported gsc-indexing-export.csv file in a spreadsheet.
- Examine the 'reason' column and note the page counts for 'Blocked by robots.txt' and 'Duplicate, no user-selected canonical'.
- Identify if the 412 pages blocked by robots.txt are due to mobile crawler rules and trace if they overlap with high-value category pages.
- Examine the 182 canonical duplication errors to see if mobile tracking parameters on the links are causing index fragmentation.
Google Search Console Indexing Audit - Chewy ------------------------------------------ Total Pages Audited: 5,280 Indexed: 3,891 Not Indexed: 1,389 Top Issues: 1. Blocked by robots.txt: 412 pages - Cause: Legacy 'Disallow: /m/*' and mobile-specific user-agent rules block mobile crawlers from product category pages. 2. Duplicate, no user-selected canonical: 182 pages - Cause: Navigation links on mobile insert '?ref=mobile-nav' dynamically, but these lack self-referential canonical tags. 3. Crawled - currently not indexed: 690 pages - Cause: Product tabs are loaded via client-side JavaScript on mobile but server-rendered on desktop.
Healthy
All high-value search pages are 'Indexed'. No robots.txt directives restrict Googlebot-Mobile from accessing resource directories. Canonical URLs are identical and self-referential on both mobile and desktop views.
Unhealthy
412 pages are blocked due to legacy robots.txt rules that restrict mobile user-agents, and 182 pages are flagged as duplicate because mobile-specific parameters confuse the canonical definition.
What this means
Under mobile-first indexing, robots.txt blocks targeting the mobile user-agent are critical errors. If Googlebot-Mobile is disallowed from crawling a directory, that content is permanently excluded from indexation, even if desktop search crawlers are allowed.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| 412 product category pages are excluded from index due to robots.txt blocks on mobile agents | Update robots.txt to remove legacy mobile-agent exclusions and allow Googlebot to crawl all user-facing directories | 5 min |
| 182 pages are flagged as duplicate because mobile navigation appends query parameters without canonical targets | Add a self-referential canonical tag on all product detail page variations to resolve parameter duplicates | 30 min |
Step 02 of 03
Google ranks and indexes based on the mobile page. If your mobile page drops copy or links that exist on desktop, those items are invisible to Google. Common parity errors include removing navigation links or truncating description copy for mobile readability.
Compare the HTML source code of the desktop page against the mobile viewport layout. Identify which content components and internal links were removed from the mobile DOM and calculate the word count discrepancy.
Procedure
- Crawl the URL using Screaming Frog, setting the user-agent to Googlebot-Desktop and then Googlebot-Mobile.
- Compare the word counts for the '#product-info' container in both crawls.
- Examine the list of outlinks from the main header and footer navigation on the mobile DOM compared to desktop.
- Identify any missing blocks of text or navigation links on the mobile version.
HTML Parity Comparison: Chewy Dog Food Page ------------------------------------------ DESKTOP CONTENT METRICS: - Word Count: 420 words (includes full feeding guide, nutritional chart, ingredients) - Internal Outlinks: 48 links (including sub-categories: Dry Food, Wet Food, Treats) MOBILE CONTENT METRICS: - Word Count: 120 words (description is truncated; displays a 'Read details on desktop' fallback) - Internal Outlinks: 12 links (hamburger menu drops 36 sub-category links from mobile DOM) PARITY GAP ANALYSIS: - Missing words: 300 words (71% text reduction) - Missing links: 36 internal links (75% navigation reduction)
Healthy
Text, description modules, and internal links match exactly in the HTML of both desktop and mobile page layouts.
Unhealthy
The mobile layout removes 300 words of description and drops 36 internal links from the DOM, causing search engines to miss these keywords and crawl pathways.
What this means
Google's indexing engine reads ONLY the mobile HTML. If you truncate descriptions or drop category links on mobile to save layout space, search engines cannot index those terms or pass link equity to those category targets.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| 300 words of keyword-rich product description are missing from the mobile template DOM | Add the full product description to the mobile HTML; use a CSS-based visual expander to keep the UI clean if needed | 30 min |
| 36 sub-category links are omitted from the mobile hamburger menu HTML | Ensure the mobile navigation template renders all 36 sub-category links in the DOM, even if hidden visually before tap | half day |
Step 03 of 03
Structured data markup (schema) must exist on both desktop and mobile templates. If schema is only injected on desktop, Google will fail to read it on mobile-first indexing, stripping star ratings, reviews, and prices from search engine results pages.
Validate the structured data on Chewy's mobile version. Identify which schema properties are missing from the mobile HTML block that exist in the desktop version.
Procedure
- Input the product URL into Google's Rich Results Test tool, selecting the mobile user-agent.
- Compare the identified schema types and properties against the desktop validator output.
- Flag any schema blocks that are missing or incomplete on the mobile view.
Rich Results Audit: Chewy Product Page ------------------------------------- DESKTOP SCHEMA RESULTS: - Product (Name, Brand, SKU, Image) - Offer (Price: $24.99, Currency: USD, Availability: InStock) - AggregateRating (RatingValue: 4.8, ReviewCount: 312) MOBILE SCHEMA RESULTS: - Product (Name, Brand) - [MISSING] Offer schema block - [MISSING] AggregateRating schema block Parity Status: FAILED. Prices and reviews are missing from the mobile schema payload.
Healthy
Identical JSON-LD schema blocks (Product, Offer, and AggregateRating) are present in the HTML header of both desktop and mobile views.
Unhealthy
Offer and AggregateRating schema blocks are omitted from the mobile template, stripping stars and pricing from mobile search results.
What this means
Because Google indexing is mobile-first, any schema missing from the mobile HTML is ignored. Rich snippets on search results pages will be stripped if rating and offer schemas are absent on mobile.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| Stars and price details disappeared from mobile search result snippets | Modify the template file to inject complete Offer and AggregateRating schema blocks into the mobile head HTML | dev ticket |
Analyze your findings
What to look for
- Scale of impact
- How many pages does each indexing issue affect (412 versus 182 versus 690)?
- Mobile-only vs both
- Does the problem exist only on mobile, or does it affect desktop too?
- Root cause vs symptom
- Is a robots.txt rule or missing schema the actual cause, or just where the symptom shows up?
- Fix complexity
- Is this a 5-minute config change or a dev-ticket-level template fix?
Make the call
Search Console shows 412 pages blocked by robots.txt, 182 flagged as duplicate with no user-selected canonical, and 690 'crawled - currently not indexed'. Which issue should be fixed first?
Recommendation · Priority: High
“The redesign's mobile-first indexing collapse traces to three separate defects, all needing developer tickets: legacy robots.txt rules blocking Googlebot-Mobile from 412 category pages, 182 pages fragmented by mobile-only tracking parameters lacking self-referential canonicals, and Offer and AggregateRating schema present on desktop but missing from the mobile HTML head, stripping stars and pricing from mobile search results. Fix the robots.txt block first, since it prevents any crawling at all; the canonical and schema fixes can proceed in parallel once crawling is restored.”
Common mistakes
What trips people up
Assuming a traffic drop after a redesign is caused by one thing — the Chewy case has three independent, compounding causes; fixing only one leaves the others suppressing traffic.
Treating a robots.txt block the same priority as a content parity gap — a full crawl block is more severe than a content or schema gap, since nothing can be indexed at all until crawling is restored.
Confusing 'crawled - currently not indexed' with a robots.txt block — these are distinct problems in the Search Console report requiring different fixes, not interchangeable line items.
Validating schema only with a desktop user-agent — checking structured data on desktop misses exactly the failure mobile-first indexing causes; the mobile user-agent must be checked directly.
Final deliverable
A technical specification document for developers listing all mobile-first content parity bugs and GSC indexing problems, along with the corrected code snippets.
See a reference example
=== MOBILE-FIRST SEO FIX SPECIFICATION: SQUARESPACE ===
Audited Domain: Squarespace.com Portfolio Pages
Issue: Redesign dropped portfolio metadata and schema on mobile.
TICKET 1: RESTORE CONTENT PARITY IN HTML DESCRIPTION
- Problem: Desktop page description has 350 words of copy describing design features. Mobile page drops this to a 50-word summary to make room for images.
- Fix: Inject the full 350-word description into the mobile HTML DOM. Wrap it in a collapsible container if visual space is needed:
<div class="mobile-accordion-content" style="display:none;">[Full Description]</div>
- Priority: High
TICKET 2: ADD OFFER & RATING SCHEMA TO MOBILE HEAD
- Problem: Product rating schema is generated dynamically by a desktop-only widget, omitting markup on mobile.
- Fix: Update the mobile template head to inject schema:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Squarespace Custom Portfolio Theme",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "148"
}
}
</script>
- Priority: CriticalSuccess criteria
You're done when you can:
- Identify specific indexing blockages and duplicate pages from Search Console data.
- Compare mobile and desktop DOMs to locate dropped links and compute word count parity discrepancies.
- Verify structured data presence on the mobile template.
- Translate SEO parity issues into structured developer tasks with clear fixes.
Key takeaway
A single traffic drop after a redesign can have multiple independent causes stacked on top of each other, a crawl block, a canonicalization gap, and a schema gap, each needing its own fix. Reading the Search Console data by root cause, not just by page count, is what turns a vague 'traffic dropped' report into a prioritized set of developer tickets.