Shopify SEO Breakthrough: Solving 'Crawled, Currently Not Indexed' & JSON-LD Errors
Hey fellow store owners! Let's talk about something that can be incredibly frustrating for any of us trying to get our products seen: Google indexing. Specifically, that head-scratching situation where Google says your pages are "Crawled – currently not indexed." It feels like Google's giving you a half-nod and then walking away, right?
I recently followed a fascinating discussion on the Shopify community forums where a merchant, TimberOps, was battling this exact problem. They had pages that looked identical – same structure, same template, same metadata – yet some were indexed perfectly, and others were just... sitting there, unindexed. What started as a suspicion about Shopify's sitemap behavior and CDN issues turned into a really insightful deep dive with the help of some sharp community minds.
Understanding 'Crawled, Currently Not Indexed': It's Google's Choice
One of the first, and most crucial, takeaways from the thread was the need to separate two distinct issues. As Roman79 and Francesco Guiducci from IFG eCommerce both emphasized, "Crawled – currently not indexed" means Google successfully fetched your page. It saw it, read it, and then made a conscious decision not to put it in its index. This isn't a technical block like a 'noindex' tag or a crawl error; it's a quality or relevance decision by Google.
So, what makes Google decide a page isn't worth indexing, even if it looks structurally perfect to you? The community highlighted several reasons:
- Thin or Duplicate Content: Are your product descriptions unique? If you're using supplier copy, or if pages are just slight variants with minimal unique text, Google might see them as low value or too similar to other pages. Roman79 specifically suggested pulling ignored products and comparing them to indexed ones for shared descriptions or thin content.
- Crawl Budget & Demand: Google has a finite "crawl budget" for your site. It prioritizes pages it deems most valuable, has strong internal links to, or sees user demand for. As ahsandoesntcare pointed out, identical templates don't make pages equal to Google; it weighs demand, link strength, and unique value.
- Internal Linking Prominence: How strongly are these ignored pages linked from elsewhere on your site, especially from high-traffic pages? Strong internal linking signals importance to Google.
The Sitemap Saga: A Separate, But Important, Battle
TimberOps initially suspected intermittent timeouts on subordinate sitemaps (like /sitemap_products_1.xml) were preventing discovery. While the community clarified that a page already "Crawled" wasn't *directly* suffering from a sitemap timeout (since Google clearly found it), the sitemap issue itself is still critical. Mustafa_Ali explained that inconsistent sitemap fetching means Google might not be reliably *discovering* some pages in the first place, or getting timely updates for recrawling.
Maximus3 initially pointed out that putting a sitemap URL into Google Search Console's URL Inspection tool isn't the right way to test it. Instead, you should check the Sitemaps report directly in Search Console. If you're seeing intermittent timeouts there, as TimberOps eventually confirmed, that's definitely something to push Shopify Support on. As IFGeCommerce suggested, providing exact timestamps of failed loads gives Shopify's team concrete data to correlate with their CDN logs.
A Critical Breakthrough: The JSON-LD Error
Here's where the discussion took a very actionable turn. TimberOps later updated the thread, reporting new structured data issues: an "Invalid top level element 'string'" in the JSON-LD output on some product pages. This was a huge clue!
V.marychenka jumped in with a brilliant diagnosis and fix. This error means your product's structured data, which helps Google understand your products better for rich snippets, is being output as a single quoted string instead of a proper JSON object. This can absolutely hinder indexing and rich snippet eligibility.
How to Fix the 'Invalid Top Level Element 'String'' JSON-LD Error:
This fix involves a small code edit in your Shopify theme. Always duplicate your theme as a backup before making any code changes!
- In your Shopify admin, go to Online Store > Themes.
- Find your current theme, click Actions > Edit code.
- In the code editor, search all files for
structured_data. - Look for the line within an
tag where your product JSON-LD is generated. You're likely looking for something that includesproduct | jsonor similar. - If you see the
jsonfilter applied after the product object within that script tag (e.g.,{{ product | structured_data | json }}), that| jsonpart is adding the extra quotes, causing the error. - Remove just the
| jsonfilter. Thestructured_datafilter already outputs valid JSON. - Save your changes.
After making this change, Buddingbuilder recommended using Google Search Console's Merchant listings and Product snippets reports. These reports group product URLs by structured data errors, allowing you to validate the fix across many pages quickly and track the re-indexing process.
Your Action Plan: Diagnosing and Fixing Indexing Issues
Putting all these community insights together, here's a clear path forward if you're facing similar indexing headaches:
-
Separate the Issues Mentally
Remember, "Crawled – currently not indexed" is Google's quality judgment. Sitemap timeouts are a discovery/recrawling issue. Don't let one confuse your diagnosis of the other.
-
Leverage Google Search Console
- URL Inspection Tool: For specific problematic pages, use this tool. Compare an unindexed page to an indexed one from the same collection/template. Check the Google-selected canonical, last crawl date, rendered HTML, and whether crawling/indexing are allowed.
- Sitemaps Report: Check this regularly for your main
sitemap.xmland any subordinate sitemaps. Look for "Success" status and recent "Last read" dates. If you see fetch errors or timeouts, document them with timestamps. - Merchant listings & Product snippets: These are your go-to for structured data errors. Check for issues like the "Invalid top level element 'string'" and use the "Validate fix" option after implementing changes.
- Indexing > Pages: This report gives you an overview of your site's indexing status and reasons why pages might not be indexed.
-
Audit Your Content & Internal Linking
For pages stuck in "Crawled – currently not indexed," critically evaluate their content. Is it unique, substantial, and truly valuable to a user? Strengthen internal links to your priority products from high-traffic pages on your site. Don't be afraid to make content improvements.
-
Address Structured Data Errors Promptly
If you find any JSON-LD errors, especially the 'string' issue, follow the theme code editing steps above. Structured data is crucial for Google to understand your products and display rich results, so fixing this is a high priority.
-
Communicate with Shopify Support for Platform-Level Issues
If you can consistently reproduce sitemap fetch errors or timeouts, keep your Shopify Support ticket open. Provide them with detailed timestamps and specific sitemap URLs that are failing. This helps them investigate potential CDN or server-side issues.
-
Manually Request Indexing (Strategically)
Once you've diagnosed and fixed the underlying issues (content, structured data, etc.), you can manually request indexing for your most important pages via the URL Inspection tool. As benalvi mentioned, this can help Google pick them up faster after your changes.
This whole discussion really highlights that SEO, especially with Google, often isn't a single switch. It's a combination of technical health, content quality, and consistent monitoring. By separating these complex issues and tackling them systematically, as the Shopify community showed TimberOps, you can get your store's pages the visibility they deserve.