Cobra · Multi-hypothesis debugging + technical SEO
GSC diagnostic + JOIN Stories JSON-LD fix + BigQuery setup
Context
Google Search Console was flagging 7 cobra.fr product pages with "product snippets" errors: @type: Product entities with no offers or aggregateRating. The culprit wasn't obvious. In parallel, the GSC → BigQuery export via Airbyte had been broken since around April 2026.
What was built
- Root cause: JOIN Stories injects an
ItemList/VideoObjectblock where eachCliphas anaboutcontaining product URLs — Google interprets these as implicit Product entities snippets/join-stories-schema-patch.liquid: removes theaboutfrom allClipobjects at runtime + deduplicatesItemListentrieslayout/theme.liquidupdated in both themes, 7 URLs re-submitted to GSC- BigQuery setup:
claude-bq-readerservice account, Data Viewer + Studio User roles - Airbyte diagnostic: 3 streams with 3 different cutoff dates
What was tricky
- Judge.me false lead: its JS calls
addProductJldondocument.readybefore the widget loads →undefined. Had to read the JS source to rule it out - Three Airbyte streams, three cutoff dates: progressive reconnection errors, invisible without a direct
MAX(date)query
Stack
Liquid (Shopify snippets), vanilla JavaScript, JSON-LD/Schema.org, Python (google-cloud-bigquery), BigQuery SQL, Google Search Console, Airbyte.
What this shows
Structured multi-hypothesis debugging (Judge.me → theme → JOIN Stories) with each hypothesis invalidated by reading the JS source. Minimal, non-invasive, reversible fix. Illustrates what happens when Airbyte runs unmonitored.