On-Page Audit Live

Headings · Meta · Schema — the three pillars, audited across all four stores.

01Status

4-market on-page audit refreshed 2026-04-24 via incremental recrawl — UK 143 / US 86 / DE 100 / FR 118 = 447 pages. 494 FAQs cleaned + verified. All tools built. Nothing deployed to Shopify — paused at the REPLACE-not-AUGMENT deploy gate.

447 pages audited (refreshed) 494 FAQs swept + verified 58 FAQ edits banked (31 Ashwagandha → 0) 6 Liquid snippets written Entity graph v1.0 locked SOP v1.2 locked CANONICAL_PRE_READS.md in place Schema snippets not yet deployed Meta updates not yet applied FAQ sync not yet committed

02Recent Activity

Most recent audit + cleanup runs. Newest first.

DateWhat + WhyOutcome
2026-04-24
(evening)
Incremental recrawl + FAQ accuracy sweep.
Why: human team edited 158 products + 98 theme assets on UK since 2026-04-23 baseline. FAQ files still held 31 Ashwagandha + other hallucinations that could not ship.
Built new tools/seo_incremental_diff.py (Admin API updated_at_min + sitemap cross-check). Ran 180-URL selective recrawl across 4 stores. Dispatched 8 Sonnet agents (primary + verifier per market) for FAQ ingredient-accuracy cleanup against full_ingredients[sku] gate.
180/337 URLs recrawled 58 FAQ edits Ashwagandha 31 → 0 (US) Orphan GABA claims resolved
Dashboard commit a42a7de
2026-04-24
(day)
FAQ accuracy audit + SOP v1.1 pre-read gate.
Why: agent-generated FAQs referenced Ashwagandha / Bacopa / Withania / Lion's Mane / Rhodiola — none of which are in any Brainzyme® SKU. Near-shipped to customers.
Root cause: agents used _meta.false_ingredients (image-gen guardrail) instead of full_ingredients[sku] (copy gate).
CANONICAL_PRE_READS.md created (402 lines) SOP bumped to v1.1 Cleanup deferred to evening sweep
2026-04-23 Deploy attempt HALTED correctly.
Why: Opus deploy agent discovered live theme state differs from March 2026 tech map — all 4 stores have embedded @graph JSON-LD in theme.liquid that would collide with new snippet.
Revised plan: REPLACE (remove embedded blocks) not AUGMENT (add alongside).
Halted pre-deploy — zero writes Forensic state documented 337-page baseline captured

Full chronology: marketing/seo/onpage-audit/CHANGELOG.md. Session state: memory/working-context/session-46-seo-schema-audit.md.

03Master Google Sheet

The full 4-market SEO plan — 337 rows across 4 tabs. This is what you approve before we deploy anything. (Rows are baseline-vintage 2026-04-23; newly-discovered URLs from 2026-04-24 recrawl don't yet have planned meta/schema entries.)

Open Full Site SEO Plan →

TabRowsNotes
UK — 101 pages10144 PDPs (4 main + 40 legacy SEO LPs) · 57 non-PDPs
DE — 90 pages90Native German · "Alternative zu…" positioning preserved per management exception
FR — 74 pages74Native French · same exception for "Alternative à…"
US — 72 pages72Native US English · FTC rules strict — no drug-comparison exception

04Headline Counts

Loading per-store counts…

05Canonical Paths

Workstream folderF:/Claude Root/marketing/seo/onpage-audit/
Master SOPSOP.md v1.2 (bumped 2026-04-25 — added Phase 1.5 incremental recrawl + Phase 2.5 FAQ verifier pattern)
ChangelogCHANGELOG.md — dated entries with deploy hashes
Entity graph SSoTconfig/entity_graph.json — v1.0 locked
FAQ content SSoTconfig/faqs/*.json
Canonical Liquid snippetssnippets/*.liquid — 6 files
Timestamped auditsaudits/{uk,de,fr,us}-*.jsonl + reports
Session trackingmemory/working-context/session-46-seo-schema-audit.md
Shopify deploy workflowShopify Publish SOP v1.6 — drift-check pre-flight mandatory

016-Phase Pipeline

What this workstream does, end-to-end. Phases 0–3 + 1.5 + 2.5 complete (1.5 + 2.5 added 2026-04-25 — see SOP v1.2). Phase 4 prep done; execution gated on your approval. Phase 5 (deploy to remaining 3 stores after UK green) is a repeat of Phase 4.

0
Recon
Sitemap enumeration · DOM spot-check · Shopify API token verification
Done
1
Extractor
tools/seo_audit_uk.py · async httpx + lxml + extruct · rendered HTML only · 337 pages crawled 2026-04-23 baseline · 447 pages refreshed 2026-04-24 (incremental — see Phase 1.5)
Done
1.5
Incremental Recrawl
Added 2026-04-25 (SOP v1.2). tools/seo_incremental_diff.py · Admin API updated_at_min + sitemap cross-check · outputs diff manifests + changed-URL lists · 180/337 URLs re-crawled 2026-04-24 after content team edited 158 products + 98 theme assets · ~60s vs ~45min for full recrawl
Done
2
Flag Report
tools/seo_audit_report.py · 22 flag codes · priority matrix · markdown + JSON outputs
Done
2.5
FAQ Verifier (primary + verifier agents)
Added 2026-04-25 (SOP v1.2). 8 Sonnet agents (primary + verifier per market) · ingredient-accuracy gate against full_ingredients[sku] · 58 edits applied 2026-04-24 evening · Ashwagandha 31→0 (US) · 6 rapid-onset FTC claims purged · 6 orphan ELITE-GABA claims now cite real adaptogens · CANONICAL_PRE_READS.md enforces this gate going forward
Done
3
Dashboard
This page · per-store findings render · entity graph + FAQ view · tabbed walkthrough (new)
Done
4
Gap-fix Deploy
6 Liquid snippets ready · FAQ + meta proposals in Sheet · FAQ sync tool dry-run-verified · awaiting your approval before any live deploy
Prep done
5
Verification Loop
Re-run extractor + report after deploy · Google Rich Results Test · confirm flags clear · log to CHANGELOG
Pending

02Key Decisions Locked

DecisionChoiceRationale
Extraction approachCustom Python pipelineRe-usable across markets, integrates with dashboard, free vs Screaming Frog license cap
Entity graph: NootropicKeep as topical Thing, never as Product.additionalTypeAI crawler signal preserved, compliance-safe product typing
Entity graph: NeuroenhancementRemove sitewideCompliance risk (wiki entity ties to cognitive-enhancement drugs)
Entity graph: per-product ThingsDopamine/Motivation on PRO pages · GABA/Stress management on ELITE pagesMatches 4-class lexicon mechanism bindings
Product typingAll Products additionalType: DietarySupplementAccurate category, compliance-safe
Judge.me syncUse native reviews.rating / rating_count metafields — no custom toolJudge.me already auto-syncs; saves a build step
Per-market @idStore-specific ({{ shop.url }}/#organization)Prevents entity conflation across markets
Category A/B/CA = dot-in-name core products · B = SEO LPs · C = exclusionsSingle-axis indexing rule; all A + B SEO-optimised, C noindex/redirect
FR/DE drug-comparison languagePermitted for FR + DE onlyManagement exception — positioning as "alternative to" not "substitute for"
US complianceFTC strict — NO drug-comparisonException does NOT extend to US
Sample packsPropose noindexFreebie seekers don't convert; dilutes product juice
2-pack bundlePromoted to Cat ACore commercial product

01What We Collected

The audit produced 8 distinct data layers, each with a specific purpose in the pipeline. Walk through each step to see what it is, where it lives, and how it feeds the final deploy.

01Sitemap URL lists (page discovery)
What: Every indexable URL on each Shopify store, harvested from sitemap.xml.
Where: audits/{uk,de,fr,us}-urls-2026-04-23.jsonl — 337 rows total.
How used: Feed list for the Phase 1 extractor. What Google actually indexes is the authoritative starting point.
Counts (baseline 2026-04-23): UK 101 · DE 90 · FR 74 · US 72 = 337.
Refreshed 2026-04-24: UK 143 · DE 100 · FR 118 · US 86 = 447 (after content-team edits — see Phase 1.5 incremental recrawl).
02Full-page extractor output (rendered HTML data)
What: Per-URL rendered HTML — status, title, meta description, H1/H2/H3 arrays, canonical URL, hreflang, all JSON-LD blocks parsed.
Where: audits/{uk,de,fr,us}-2026-04-23.jsonl.
How used: Baseline for audit flags. This is the "what the site looks like right now" ground truth.
Tool: tools/seo_audit_uk.py — async httpx + lxml + extruct, ~14 seconds to crawl 101 UK pages at 3 req/s.
03Flag report (audit findings)
What: 22 flag codes applied per row — missing H1, over-length meta, duplicate titles, schema gaps, compliance issues.
Where: audits/{store}-report-2026-04-23.{md,json}. Dashboard-copy at F:/brainzyme-git/onpage-audit/data/{store}.json.
How used: Priority queue for fixes. Drives the "Live Findings" tab.
Totals (baseline 2026-04-23): 588 UK · 391 DE · ~335 FR · 414 US.
Refreshed 2026-04-24: UK 839 (P0 203 / P1 374 / P2 262) · DE 430 (P0 45 / P1 329 / P2 56) · FR 614 (P0 64 / P1 455 / P2 95) · US 582 (P0 120 / P1 308 / P2 154). P0 delta driven by new PDPs inheriting embedded schema.banned_entity_neuroenhancement + PageFly H1 issues — both clear in the deploy step.
04Entity graph (topical Things SSoT)
What: Wikipedia-linked Thing entities that describe what each page is about — not what the product is.
Where: config/entity_graph.json (v1.0 locked).
How used: Baked into snippets/schema-jsonld.liquid. Per-product scoping (PRO adds Dopamine+Motivation, ELITE adds GABA+Stress management).
See: "Entity Graph" tab above.
05FAQ content SSoT (per-PDP Q&As)
What: SEO-optimised questions + answers, per PDP, per market. Generated by Sonnet agents with DataForSEO keyword-volume verification. Intent-first philosophy — volume as tiebreaker.
Where: config/faqs/*-faq.json (per-market, per-product). Merged at config/full_site_plan_all_markets.json.
How used: Human operator pastes into PageFly accordion on the PDP (so content is visible to users per Google policy). Then tools/seo_faq_sync.py writes to product.metafields.custom.faq_json. Then product-schema-block.liquid emits FAQPage JSON-LD from that metafield.
Totals: 494 Q&As across 4 markets (UK 165 · DE 105 · FR 135 · US 89). Cleaned 2026-04-24 — 58 edits applied via Phase 2.5 verifier sweep.
06Per-page plan (the Google Sheet)
What: Row per page, 35 columns: current meta, new meta, category (A/B/C), index/noindex, schema types, FAQ Q&As, compliance flags, priority.
Where: Brainzyme Full Site SEO Plan — 4 tabs.
How used: Owner reviews + approves. Canonical source before Phase 4 deploys.
07Liquid schema snippets (the generators)
What: 6 Liquid templates that emit JSON-LD at page-render time, reading live Shopify product/collection/article data.
Where: snippets/*.liquid (canonical source — deployed theme will mirror).
How used: schema-jsonld.liquid included once in theme.liquid before </head>. It delegates to per-template sub-snippets via {%- render ... -%}.
See: "Schema Snippets" tab above for the full list.
08Rendered schema snapshots (validation artefacts)
What: Sample JSON-LD outputs — what each template would emit for a representative page.
Where: audits/schema-snapshots/{store}-{page-type}-*.json.
How used: Manual eyeball check + Google Rich Results Test before Phase 4 deploy.
Tool: tools/seo_schema_render_samples.py.

01Entity Graph — @graph SSoT

Thing entities with sameAs Wikipedia. These are TOPICAL — "this page discusses X" — not product typing. Each Product block is typed additionalType: DietarySupplement regardless. Source of truth: config/entity_graph.json (v1.0).

Loading entity graph…

01FAQ Content — UK PDPs (live from on-page accordion)

Extracted from the PageFly "Additional Questions People Ask" accordion on each UK PDP. Feeds FAQPage JSON-LD emission (Phase 4). Re-run tools/seo_faq_extract.py when the content editor updates the on-page block.

Cleaned 2026-04-24 · 58 edits applied Ashwagandha 31→0 (US) 6 rapid-onset claims purged 6 orphan ELITE-GABA claims resolved "Motivated focus" cross-class compound corrected FAQ sync not yet committed to Shopify

Accuracy sweep verified all 494 Q&As against full_ingredients[sku] gate. Root cause of earlier ingredient hallucinations: agents had used _meta.false_ingredients (image-gen guardrail) as the validation list. CANONICAL_PRE_READS.md now enforces the correct gate sitewide.

Loading FAQs…

02FAQ Totals Across All Markets

Full site plan now includes FAQ Q&As for every content-heavy page across 4 markets.

MarketFAQ pagesTotal Q&AsLanguage
UK33165English (UK)
DE21105German (native)
FR27135French (native)
US2389English (US)
Total104494

All Q&As banked in the master Google Sheet — columns Q1/A1/V1 through Q5/A5/V5 per row, with monthly search volumes from DataForSEO.

01Scope (per store)

Use the store switcher at the top to flip between UK / DE / FR / US. Counts below reflect the selected store.

Loading scope counts…

02Findings — Live (per store)

Priority-ordered flag list, generated by tools/seo_audit_report.py from the rendered-side extractor. Re-run the tools to refresh.

Loading audit findings…

016 Liquid Schema Generators

Canonical source lives in marketing/seo/onpage-audit/snippets/. The deployed theme mirrors these files via the Shopify Publish SOP v1.6 workflow (drift-check pre-flight mandatory).

schema-jsonld.liquid
Parent snippet — emits Organization + WebSite + WebPage with topical about Things. Delegates per-template via {% render %}. Rendered once in layout/theme.liquid before </head>.
Emits: Organization, WebSite, WebPage, Thing[] · Per-store @id via {{ shop.url }}
product-schema-block.liquid
Per-PDP schema — full Product graph with Offer, BreadcrumbList, conditional AggregateRating + FAQPage.
Emits: Product, Offer, MerchantReturnPolicy (365 days), OfferShippingDetails (free UK delivery), BreadcrumbList, AggregateRating (if reviews.rating_count > 0), FAQPage (if custom.faq_json)
collection-schema-block.liquid
Per-collection page — CollectionPage + ItemList (first 12 products) + BreadcrumbList.
Emits: CollectionPage, ItemList[12], BreadcrumbList · Fires on template.name == 'collection'
blog-schema-block.liquid
Blog index pages — Blog + ItemList (up to 12 recent articles) + BreadcrumbList.
Emits: Blog, ItemList, BreadcrumbList · Fires on template.name == 'blog'
article-schema-block.liquid
Individual blog articles — Article (not BlogPosting — broader) + BreadcrumbList + author (Person) + publisher (Organization ref) + conditional FAQPage.
Emits: Article, BreadcrumbList, Person, Organization-ref, FAQPage (if article.metafields.custom.faq_json) · Fires on template.name == 'article'
cms-schema-block.liquid
/pages/* templates — auto-subtypes based on handle (about → AboutPage, contact → ContactPage, else WebPage) + BreadcrumbList + conditional FAQPage.
Emits: WebPage / AboutPage / ContactPage, BreadcrumbList, FAQPage (if metafield) · Fires on template.name == 'page'

02Rendered Schema Samples

Sample JSON-LD outputs from tools/seo_schema_render_samples.py — real Liquid rendering via python-liquid with realistic Shopify context. 17 schema blocks across 6 page types. 0 validation errors. Feed any block to Google Rich Results Test.

Page typeBlocksTypes emittedSnapshot
Homepage2Organization + WebSite · WebPage (5 Things)JSON →
PDP (Product)3Organization + WebSite · WebPage (7 Things — global + PRO-scoped) · Product + Offer + BreadcrumbList + FAQPageJSON →
Collection3Organization + WebSite · WebPage (5) · CollectionPage + ItemList + BreadcrumbListJSON →
Blog index3Organization + WebSite · WebPage (5) · Blog + ItemList + BreadcrumbListJSON →
Blog article3Organization + WebSite · WebPage (5) · Article + BreadcrumbList + FAQPage (author + publisher refs)JSON →
CMS page3Organization + WebSite · WebPage (5) · AboutPage (or WebPage/ContactPage) + BreadcrumbList + FAQPageJSON →

✓ All 17 blocks render without errors (validated 2026-04-23). Ready for Phase 4 deploy. Snapshots are pre-recrawl vintage — new PDPs added in 2026-04-24 incremental recrawl inherit the same product template and are covered by the PDP snapshot above.

03Multi-Market Handling

One Liquid codebase, four deploys. Per-store adaptations handled by Shopify's native Liquid variables at render time:

VariableUsed forPer-store resolution
{{ shop.url }}All @id references + internal linksbrainzyme.com / .de / .fr / .us
{{ cart.currency.iso_code }}Offer.priceCurrencyGBP / EUR / EUR / USD
{{ request.locale.iso_code }}WebPage.inLanguageen-GB / de / fr / en-US
{{ page_title }}WebPage.nameNative per market
{{ page_description }}WebPage.descriptionFrom SEO metafield per page

01Phase 4 Deploy Checklist

Everything below is ready — I'm standing by for your go-ahead before anything touches the live theme. Deploys go through Shopify Publish SOP v1.6 with mandatory drift-check pre-flight.

StepWhatStatusGate
0aResolve 4 ghost URLs on DE store (brainzyme-focus-{elite,original,pro}-fr + 1 more) — Admin API lists them but storefront returns 404blockedBefore any DE deploy
0bCapture theme drift baselines for US / DE / FR stores (shopify_theme_drift_check.py --store {us|de|fr} --init) — UK already syncedmissingRequired before SOP v1.6 §1.6 drift-check can pass
1Owner review of master Google Sheet (337 baseline rows; 110 newly-discovered URLs from 2026-04-24 recrawl not yet planned in Sheet)awaiting youYour approval
2Remove duplicate Organization + WebSite from sections/header.liquid (UK + US)readyPrerequisite for step 3
3Deploy 6 Liquid snippets to theme (all 4 stores)readyAfter step 2
4Wire {%- render 'schema-jsonld' -%} into layout/theme.liquid before </head>readyAfter step 3
5Apply 32+ UK legacy meta updates via Shopify Admin APIreadyAfter sheet review
6Human operator pastes FAQ Q&As into PageFly accordion on each PDPmanualAfter Sheet approval
7Run tools/seo_faq_sync.py --store uk --commit --i-mean-itreadyAfter step 6
8Re-run extractor + report per store — confirm flags clearedautomatedAfter each deploy
9Google Rich Results Test on main PDPs + homepage per storemanual spot-checkAfter step 8
10Log every deploy to CHANGELOG.md with hashreadyAutomated

02Compliance Items Requiring Your Decision

MarketIssueAction
UKfocus-starter-bundle-adhd — "Manage ADHD Symptoms" in title/desc/H1Compliance rewrite proposed in Sheet (P0)
UKfocus-for-neurodivergent — ASA ruling riskMeta rewrite proposed
UKfocus-supplements-smart-drug-pro / -speed"Smart drug" in URLs — 301 to canonical PRO
UK/pages/home-v2 + /pages/chat-widget-test-june-2025Indexed dev pages — noindex immediately
UKadhd-supplements-guide — meta description is a dev noteMeta rewrite in Sheet
US3 "Adderall Alternative" collections + "Smart Drug Pro" PDP301 to canonical (FTC strict — NO FR/DE exception on US)
USbrainzyme-focus-pro-copy draft indexednoindex + 301
FR+DE"Alternative à modafinil" / "Alternative zu Ritalin"Keep — management-approved exception

03Known Gaps (pre-deploy state)

The gap list the pipeline will close once Phase 4 deploys. All documented and tracked.

TierIssueCleared by
P0Duplicate Organization + WebSite in sections/header.liquidStep 2 (manual removal)
P0Product blocks are stubs (name only)Step 3 (new product-schema-block.liquid)
P0Neuroenhancement sameAs sitewide (UK + US)Step 3 (removed from entity graph)
P1BreadcrumbList missing on collection + blogStep 3 (new snippets emit it)
P1Judge.me AggregateRating client-side-onlyStep 3 (new snippet reads native metafields)
P1FAQPage schema absentSteps 6+7 (paste + sync)
P1hasMerchantReturnPolicy + ShippingDeliveryTime missingStep 3 (baked into new snippet)
P2Meta typos + overlengthStep 5 (Admin API updates)
P0New PDPs (2026-04-24) inherit embedded schema.banned_entity_neuroenhancement via theme.liquid — same compliance issue as the existing P0 above, different source (template inheritance, not header block). Driving the P0 delta in refreshed reports.Step 3 (same snippet deploy removes it sitewide)
P0PageFly-generated H1 problems on new PDPs (detected 2026-04-24 recrawl)Step 3 + Step 5 (heading + meta updates)

01Executive Summary — UK Schema Live Audit · 2026-05-01

Headline: the schema deploy your team did to the UK live theme on 28 Apr 2026 did not land what session 46's plan called for. Score: 1 / 10. The PDPs that earn the revenue have zero server-rendered Product schema, and the homepage still emits the banned Neuroenhancement entity.

Method: Opus 4.7 audit agent crawled 9 representative UK URLs (homepage · 4 main PDPs · 1 collection · 1 article · blog index · CMS page), extracted every <script type="application/ld+json"> block, and validated against the canonical Liquid snippets at marketing/seo/onpage-audit/snippets/. Raw HTML evidence at tmp/uk-schema-audit-2026-05-01/{01..09}-*.html. Full report at tmp/uk-schema-deep-audit-2026-05-01.md.

NEW · Codex 5.5 QC pass · 2026-05-02  Codex 5.5 second-opinion review added 11 deltas to this tab (4 P0 additions, 1 new recommendation, 3 corrections, 3 missed checks). Each is marked NEW below.

Refined root cause NEW · Codex QC: the deploy's specific failure is a snippet name mismatch, not just "canonical not deployed". theme.liquid renders {% render 'product-schema' %} but snippets/product-schema.liquid doesn't exist in the live theme — meanwhile our canonical file is named product-schema-block.liquid. Fix is either rename our file or deploy under the rendered name.

Decision needed: see "Four paths forward" at the bottom of this tab (Codex added Option D — Hybrid).

01bBrowser Re-Audit · 2026-05-02 evening · Team pushback reconciled NEW · MATERIAL CHANGE

The team's pushback was partially correct. They use Google's Rich Results Test + schema.org, both of which see post-JS rendered content. My original 2026-05-01 audit used curl only (raw HTML, pre-JS) — which is why it reported "zero server-rendered Product schema" on PDPs. I re-ran the audit with Playwright headless Chromium + Googlebot UA + networkidle. Findings below.

What changed: Judge.me injects a JS Product node with AggregateRating on all 4 PDPs post-render. Googlebot's WRS (Web Rendering Service) executes JS before indexing, so this IS surfaced to Google. Star-rating SERP snippets are eligible. The team is right about that.

What didn't change: the Judge.me JS block is a 4-field stub: @type, @id, name, aggregateRating. No offers/price (so no price-display rich result, no Shopping eligibility), no image, no description, no brand, no BreadcrumbList. The site-wide Organization/WebSite/WebPage entities are still absent on all PDPs post-render. Score updated from 1/10 → 4/10 — passes Google's minimum bar; fails commercial optimisation.

AggregateRating actually live (post-render)

PDPratingValuereviewCountSERP star-snippet eligible?
ELITE4.75726yes via Judge.me JS
PRO4.731,257yes via Judge.me JS
ORIGINAL4.63208yes via Judge.me JS
Bundle4.82589yes via Judge.me JS

Per-PDP commerce-field gap (still real)

FieldStatusWhat it unlocks
offers.price + priceCurrencymissingPrice display in SERP. Google Shopping eligibility. Biggest commercial loss.
imagemissingFull product card with image in rich results
descriptionmissingBetter SERP context
brandmissingKnowledge Graph linkage to Organization
BreadcrumbListmissingBreadcrumb path in SERP
hasMerchantReturnPolicy + shippingDetailsmissingRequired for Google Shopping FREE listings

Reconciliation — who was right, where

Audit evidence: tmp/uk-schema-browser-audit-2026-05-02/SUMMARY.md · per-URL post-render JSON-LD dumps + diff files in same folder · repeatable script browser_audit.py

02Per-URL Status NEW · counts updated post-render

URL ld+json blocks Schemas found Matches spec? P0 P1
/ (homepage) 1 server Organization + WebSite + WebPage (legacy embedded) partial 4 5
/products/brainzyme-elite 0 raw, 2 post-render FAQPage (JS) + Product stub w/ AggregateRating 4.75/726 (Judge.me JS) partial 3 2
/products/brainzyme-professional-stronger-formula 0 raw, 2 post-render FAQPage (JS) + Product stub w/ AggregateRating 4.73/1,257 (Judge.me JS) partial 3 2
/products/brainzyme-original-milder-formula 0 raw, 2 post-render FAQPage (JS) + Product stub w/ AggregateRating 4.63/208 (Judge.me JS) partial 3 2
/products/brainzyme-combo-set-...-original 0 raw, 2 post-render FAQPage (JS) + Product stub w/ AggregateRating 4.82/589 (Judge.me JS) partial 3 2
/collections/best-brain-supplements 0 none no 3 0
/blogs/neurodiversity-tips/adhd-supplements-guide 2 server Article + BlogPosting (both legacy, no @graph wrap) no 3 2
/blogs/neurodiversity-tips (blog index) 0 none no 2 0
/pages/about-us 0 none no 3 0

JS-injected FAQ block on PDPs has type="application/ld+json" but is created at runtime by assets/...js — search engines that don't render JS will not see it. Counted separately.

03What's Actually Live (Live Theme Snippets)

File in live themeStatusDetail
snippets/homepage-schema.liquiddeployedTheir custom v2 (post Rich-Results-Test, 28 Apr) — fires only on homepage via {% if template.name == 'index' %}. Has compliance issue: Organization.knowsAbout still lists Neuroenhancement + Nootropics, and WebPage.mentions includes a Neuroenhancement Thing entity.
snippets/faq-schema-generator.liquidJS-onlyNEW · Codex QC Reworded: not present in raw HTML and not reliable for non-rendered crawls or validator testing. Google does render JS, but server-side JSON-LD is more reliable + validates predictably. Additional risk: on homepage this JS creates a second @graph at runtime with isPartOf/about pointing to #website + #organization. If canonical server-side schema ships later, you'll have a server/client graph consistency conflict. Decide: server-render the FAQ or remove homepage FAQ injection from schema scope.
snippets/breadcrumbs.liquidexistsVisual breadcrumb component — not a schema renderer
snippets/product-schema.liquidmissingTheme.liquid calls {% render 'product-schema' %} but the file doesn't exist → silent fail → zero Product schema on every PDP. NEW · Codex QC Mismatch detail: our canonical equivalent is named product-schema-block.liquid. Two fixes available — either (a) rename our spec file to product-schema.liquid before deploy, or (b) deploy the canonical content under the name the theme already renders.
snippets/breadcrumbs.liquid NEW · Codex QCcautionAlready exists in live theme. If we deploy our canonical schema-jsonld snippet (which emits BreadcrumbList in the Product/Collection blocks), risk of duplicate BreadcrumbList on templates that already render this snippet. Verify before any deploy that the existing breadcrumbs.liquid does not also emit JSON-LD (visual breadcrumb only is fine).
snippets/schema-jsonld.liquid (ours)never deployedSite-wide @graph snippet from session 46
snippets/product-schema-block.liquid (ours)never deployedRich Product + BreadcrumbList + FAQPage
snippets/collection-schema-block.liquid (ours)never deployedCollection schema
snippets/article-schema-block.liquid (ours)never deployedArticle schema
snippets/blog-schema-block.liquid (ours)never deployedBlog index
snippets/cms-schema-block.liquid (ours)never deployedCMS pages

04P0 Issues — Blocking

  1. Canonical site-wide snippet not deployed. schema-jsonld.liquid exists at marketing/seo/onpage-audit/snippets/ but is absent in the live theme.
  2. Old embedded @graph still on homepage. The legacy block was supposed to be removed; instead a new homepage-only snippet was added alongside it (no consolidation).
  3. Incomplete Product schema on all 4 main PDPs. UPDATED · 2026-05-02 evening Browser-render confirmed Judge.me JS injects a 4-field Product stub with AggregateRating (so star snippets ARE eligible — team was right on this). But missing: offers/price, image, description, brand, BreadcrumbList, hasMerchantReturnPolicy, shippingDetails. Biggest commercial loss is now price-display + Google Shopping eligibility, not stars.
  4. Compliance violation on homepage. Organization.knowsAbout lists "Neuroenhancement" + "Nootropics" and WebPage.mentions includes a Neuroenhancement Thing entity. Banned for UK per onpage-audit/CLAUDE.md — only DE/FR have alternative-positioning exception, and even there it does NOT extend to the Neuroenhancement entity.
  5. #article fragment ID collision on the ADHD article PDP — two competing schemas (Article + BlogPosting), both legacy.
  6. NEW · Codex QC  Compliance risk in homepage Organization.description. Live snippet emits: "scientifically proven ingredients", "reduce brain fog", "promote dopamine and GABA production" in JSON-LD. Functional/structure-function claims become machine-readable in schema and warrant legal review. Replace with approved structure/function-safe wording from the product matrix before any deploy.
  7. NEW · Codex QC  Compliance risk in homepage WebPage.description. Live snippet repeats: "support focus, mental energy, mood and memory" and "help reduce brain fog". Same machine-readable claim risk as Organization.description. Legal sign-off required before deploying any tightened version.

05P1 Issues — Quality

06What Matches the Spec

That's it. Everything else is missing, wrong, or duplicated.

07Four Paths Forward — Your Decision NEW · Codex QC added Option D

Path What it means Effort Risk When to pick this
A. Replace Deploy our 6 canonical snippets from session 46 (replacing their work). Remove homepage-schema.liquid v2 and the broken {% render 'product-schema' %} reference. Wire {%- render 'schema-jsonld' -%} in theme.liquid before </head>. ~2 hours medium — the team will see their 28 Apr work overwritten If alignment with the canonical spec matters more than preserving their work. Cleanest end state but most disruptive to team.
B. Patch Keep their homepage-schema.liquid v2 (fix the Neuroenhancement + description compliance issues). Create the missing snippets/product-schema.liquid using our spec's product-schema-block content. Add the missing collection / article / blog / CMS snippets from our canonical set. ~1 hour low — additive, preserves their work Forward progress fast, two structures coexist (theirs + ours).
D. Hybrid NEW · Codex QC Keep their live snippet names (homepage-schema, product-schema, faq-schema-generator) — replace the internals with our canonical logic. theme.liquid already calls these by name; we just supply the implementations. No theme.liquid edits needed beyond compliance fixes. ~1.5 hours low — fewer moving parts than Option A, more spec-compliant than Option B Recommended. Faster + safer than Replace because theme.liquid already references the names; spec-compliant because internals come from our canonical files. Best of both A and B.
C. Stop Talk to the team that did the deploy. Find out what they intended, why our snippets weren't used, and what state they think the site is in. Decide together. 1 conversation none If you're not sure why our session 46 plan was bypassed and you want to understand the gap before writing more code. Safest if you suspect a process issue.

Urgent regardless of path NEW · re-prioritised after browser re-audit

  1. Deploy Product schema with commerce fieldsoffers.price + priceCurrency + image + description + brand + hasMerchantReturnPolicy + shippingDetails. Judge.me's stub gets stars; our canonical block unlocks price snippets + Google Shopping FREE listings. Biggest commercial win available right now. Ensure same @id as Judge.me's stub ({url}#product) so Google merges them as one node, not two competing.
  2. Remove "Neuroenhancement" from homepage-schema.liquid's knowsAbout array AND WebPage.mentions — UK compliance violation, fix today
  3. Tighten Organization.description + WebPage.description on homepage-schema.liquid — current wording emits machine-readable functional claims ("scientifically proven", "reduce brain fog", "promote dopamine and GABA production"). Get legal sign-off on structure/function-safe replacement copy from product matrix. NEW · Codex QC
  4. Fix the snippet-name mismatch — either create snippets/product-schema.liquid matching our canonical content, OR rename our spec file. theme.liquid calls {% render 'product-schema' %} but the file doesn't exist; canonical is product-schema-block.liquid.
  5. Server-render Product schema (don't rely on Judge.me JS). UPDATED · 2026-05-02 evening Judge.me's JS-injected stub IS visible to Googlebot (verified post-render) — so AggregateRating is already live. But: dependency on a 3rd-party app for revenue-page schema is brittle. App update / config change → schema breaks → SERP stars disappear. Server-render the canonical Product schema to own this asset.
  6. Interim zero-code option: check if Judge.me dashboard plan allows enabling price / image / description in the widget's Product node. If yes, you get a partial commercial win without a deploy. Worth checking before scheduling Option D.

08Cross-Page Consistency Checks

CheckResult
Organization @id consistency across pagesN/A — Org block only on homepage; PDPs have nothing
Duplicate Product across PDPsno — none on PDPs at all
Old embedded @graph still presentyes — homepage still has legacy block
AggregateRating populated on PDPs UPDATED 2026-05-02 eveningyes (post-render via Judge.me JS) — 4.63–4.82 across 4 PDPs, 2,780 total reviews. Star snippets eligible. Original "no" was curl-only.
BreadcrumbList present on PDPsno
FAQPage present on PDPs (server-rendered)JS-only — exists but client-injected, raw HTML visibility is the safer bar
Banned ingredient citationsnone — clean
Banned types (Drug / MedicalEntity)none — clean
nootropic typed as Product.additionalType or categoryno — only as topical Thing in WebPage.about (correct)
Solicited / paid-promoter Review schema risk NEW · Codex QCverify before deploy — AggregateRating from Judge.me's aggregate metafields is OK (mathematically derived). Do NOT emit individual Review schema entities unless review provenance is verified non-paid. Our spec correctly emits AggregateRating only.
Duplicate BreadcrumbList risk NEW · Codex QCcheck — live theme has snippets/breadcrumbs.liquid already. Confirm it does not also emit JSON-LD before deploying our canonical Product schema (which emits its own BreadcrumbList). Visual breadcrumbs only is fine.
PageFly schema injection on PDPs NEW · Codex QCverify with browser-render — PageFly is heavy on PDPs and may inject JSON-LD post-render. Raw curl misses this. Verify with a browser-based crawl (Playwright / Puppeteer) before assuming pre/post-deploy state from curl alone.

09Files to Reference

01Strategy summary — AI Content + Backlinks (post 2-video research, Codex-reviewed)

What: 16-month YouTube experiment + linkable-asset case study videos integrated with session 46 SEO audit findings. Codex 5.5 reviewed v1 framework and flipped it to v2 with 6 HIGH + 8 MEDIUM corrections. Bottom line for Brainzyme: AI content alone fails on YMYL supplement domain; needs 7 supports, with linkable assets as the strongest backlink mechanism (no link-scheme risk), magazines/PR as secondary, dormant-blog revival as a 2,723-article opportunity already sitting in the Shopify Admin API.

Source videos: video #1 — 16-month AI content experiment · video #2 — linkable assets case study. Files: F:/Agentic-OS/reference/video-transcripts/ (transcripts + insights v1 + insights v2 + Codex review).

A1The full strategy in one paragraph

Brainzyme's AI-content programme delivers one editorially-supervised article per week to the existing high-equity blog domains (UK/US/DE/FR), classified by content type (routine brain-nutrition / disease-adjacent / medication-comparison / market-exception), with each article passing the 5-step publish-gate stack. Backlinks come from two parallel tracks: (1) a stable of 3–5 linkable assets built once and earning citations for years, (2) HARO + targeted PR pitches for first-time legitimacy in supplement / wellness / parenting / student outlets. Compounding it: 2,723 dormant blog articles across the 4 stores get triaged for revival, with the strongest candidates (recent unpublishes, comparison content, neurodivergent tips) getting AI-content-v2 reactivation. Rhythm: 7 / 14 / 30 / 60 / 90-day staged check-ins on every published article. Pre-launch gate: 1,564 banked FAQs from session 46 must be triaged into 4 buckets before any article promotion.

A2Quick scan — what to consider

TrackEffortCostTime-to-impactBacklink qualityCompliance riskRecommended
AI Content v2 articlesMedium (7 supports per article)~£200–500/article (editor + medical reviewer)30–90 days per articleN/A (pulls links via supports)Medium (managed by gates)YES
Dormant blog revivalLow–Medium (content already exists)£100–300/article (refresh + fact-check)14–30 days for <6mo unpubInherits old equity (bonus)Low if pre-screenedYES — quick win
Linkable assets (3–5 stable)High upfront, 0 ongoing£500–3,000 each (vibe-code + design)3–12 months to peakHIGH (1,000s of inbound)Low if tool is functional, not claim-basedYES — strongest moat
HARO / PR pitchesLow (15min/day pitching)£0–£99/mo (HARO/Cision)2–8 weeks per landed citationHIGH (DA70+ outlets)Medium (each pitch needs compliance)YES — first-time legitimate
Paid link schemesLow££££ ongoingDaysOften penalisedHIGH (Google policy + ASA)NO — Codex blocked

Switch to the sub-tabs above to see specific options + sliding scales for each track.

B1The 7 supports AI content needs (transcript-extracted, Codex-corrected)

#SupportBrainzyme implementation
1BacklinksEarned citations only (HARO + linkable assets) — no count target. Codex blocked the original "2-3 links per article" framing.
2Credentialed named authorAuthor scope LIMITED to nutritional accuracy, ingredient-mechanism factuality, plain-language clarity. NOT medical endorsement. Schema author/reviewer only when human actually reviewed (no decorative E-E-A-T).
3Original data / first-handJudge.me as customer-experience signal ONLY (with sample-size context, never ingredient-efficacy proof). Manufacturing provenance (Scotland, GMP, batch-level). UK 16-month longitudinal data. Cited peer-reviewed studies (linked, not reworded).
4Internal linkingAnchor text must NOT pair condition + product (no "ADHD focus supplement [PRO]" anchors). Link to entity_graph.json clusters + PDPs via generic anchors only.
5Site structureAlways brainzyme.{com,us,de,fr}/blogs/ — never new subdomain. Hreflang reciprocity verified at day-7 check.
6Human editing + fact-check5-step publish-gate: copy_preflight + product_matrix --validate-copy + banned-grep + human-gate (medication/disease/structure-function) + post-publish curl+browser-render schema audit.
7Freshness cadenceSECONDARY benefit only — never publish sub-quality content to maintain rhythm. Quality + compliance + dedupe + intent gates first.

B24 content classes (different gates, different cadences)

ClassExamplesGateCadence
Routine brain-nutritionIngredient guides, sleep/focus tips, lifestyle articlesAuto preflight + lexicon validate + spot-checkWeekly OK
Disease-adjacentBrain fog mechanism, perimenopause focusHuman compliance + legal reviewSlow
Medication-comparisonRitalin / modafinil / Adderall alternative contentHuman compliance + legal + market-specific sign-offProject-based, never autonomous
Market-exception (DE/FR)"Alternative à modafinil" / "Alternative zu Ritalin"Same as medication-comparison + market-lensProject-based

B3Staged check-in cadence (replaces "wait 3 months")

DayCheckAction if failing
7Indexed? Schema (curl + render both)? Internal links? Canonical? hreflang reciprocity?Fix immediately
14Initial impressions? Banned-copy regression scan still clean?Fix or pull
30GSC indexed-pages? Internal-link graph populated? First citations?Strengthen if weak
60Early GSC query data — search intent matched?Re-write title/H1 if intent-mismatched
90Ranking trajectory? Earned citations? AI Overview observability? Cannibalisation check?Continue / refresh / consolidate / noindex

Pre-requisite gate (Codex-imposed): the 1,564 banked FAQs from session 46 must be triaged into 4 buckets — hero-support / FAQ-only / noindex/redirect / net-new article candidate — BEFORE any FAQ→article promotion. Otherwise we inherit clone-family duplication into the article programme.

C1The opportunity — 2,723 unpublished articles already in the Shopify Admin API

MarketBlogsPublishedUnpublishedRecovery viability
UK7192,675Massive — disproportionate to other markets
US51623Comparison articles with high commercial value (Vyvanse / Adderall / etc.)
DE34017Targeted
FR3238Targeted
TOTAL982,723

Age distribution (revival viability is highest when index entry hasn't dropped yet):

  • <6 months: 1,874 articles ← strongest revival candidates (URLs likely still in Google's index)
  • 6–18 months: 752 articles (recovery possible but slower — backlinks may have rotted)
  • 18–36 months: 6 articles (marginal — better to 301 the slug to a fresh article)
  • 36+ months: 91 articles (low — treat as canonical-asset inheritance, not revival)

C2Top revival candidates (by recency)

Days unpubMarketURLWhy
8US/blogs/focus-learning-center/qualia-mind-vs-magic-mind-vs-brainzyme-focus-compared-reviewedComparison content, high commercial value, very recent
10UK/blogs/supplements/buying-nootropics-uk-read-this-firstUK head-term commercial intent, very recent
10US/blogs/supplements/focus-factor-vs-mindful-advantage-vs-brainzyme-2026-guideComparison content, very recent
23UK/blogs/work-life-tips/how-to-clear-brain-fog-with-simple-walk-after-mealsLifestyle/wellness, recent
55US/blogs/supplements/what-is-choline-and-what-to-look-for-in-a-supplementIngredient-education, evergreen
60 (×12+)UK/blogs/neurodiversity-tips/...Batch-unpublished 60 days ago — investigate WHY before reviving (compliance? clone-family pruning?)

Full inventory: F:/Agentic-OS/reference/video-transcripts/dormant-blogs-trawl-2026-05-09.json

C3Revival decision rule

Before reviving any URL: (1) check why it was unpublished — if it was a compliance pull (e.g. ASA neurodivergent + functional claim), don't revive without rewrite. The 60-day batch unpublish on UK /neurodiversity-tips/ looks like a deliberate compliance / clone-family decision and needs human investigation first. (2) Cross-reference against GSC for historical impressions/clicks — only worth reviving URLs that ranked. (3) Check Wayback Machine for prior content quality (don't re-launch thin content). (4) If revival proceeds, refresh content using AI-Content-v2 supports + 5-step publish gate, then run staged check-ins per cadence.

The freshness-pump bonus: per video #1's March 2026 finding, simply ADDING new AI content to the same domain caused dormant pages to revive 17–19× — so the AI-content programme itself doubles as a freshness pump for the dormant inventory, even before we directly republish them.

D1Why linkable assets > everything else for backlinks

Per video #2 case studies: sleepyti.me (sleep cycle calculator) earned 35,000 backlinks from 4,500 domains. Canva color palette generator: 8,100 backlinks from 2,500 domains. donothingfor2minutes.com: 384,000 backlinks from 7,100 domains including Wired + TechCrunch. No link-building budget can replicate this — paid link schemes top out at hundreds; linkable assets earn tens-to-hundreds-of-thousands organically.

Two deployment patterns: (1) build on the brand domain (Canva model — direct juice), (2) build on a catchy standalone domain → 301 redirect to brand later (sleepyti.me → sleepopolis, donothingfor2minutes → calm — full juice transfers).

D215 candidate linkable assets for Brainzyme — sliding scale

Asset types prioritised (per video #2 prompt): tools, calculators, generators, visualizers, quizzes, databases, maps, trackers, micro apps. Cards below show effort/cost/risk so you can scan + pick. Tap or scroll to mark which to build.

D2.1 · Caffeine + L-Theanine Balance Calculator RECOMMENDED
Input daily caffeine intake (cups of coffee, tea, energy drinks). Output: optimal L-theanine dosing for "calm focus" effect (cited research: 2:1 L-theanine:caffeine ratio). Educational, science-backed, ties cleanly to ELITE's L-theanine content without claiming efficacy.
Effort
Cost
Compliance risk
Backlink potential
Vibe-code in 1 day · ~£300–800 to build + design · Launch Product Hunt + Betalist · pitch to wellness journalists
D2.2 · Brain Fog Quiz (productise existing) QUICK WIN
Brainzyme's existing Brain Fog Quiz (currently UK only) has potential as a standalone catchy domain (e.g. brainfogtest.com, amibrainfogged.com). Already built — package as embeddable widget for blogs, launch on Product Hunt with the catchy URL.
Effort
Cost
Compliance risk
Backlink potential
Reuse session 51 build · ~£150 for catchy domain + LP · Launch Product Hunt + Betalist · pitch to ADHD UK / ADDitude / Stylist
D2.3 · Exam-Week Routine Generator SEASONAL FIT
Input: exam dates, study hours/day available, current sleep schedule. Output: personalised study + sleep + nutrition routine. Ties cleanly into the existing exam-season city-LP campaign (UK Edinburgh/London/Manchester etc.). University students share heavily on Reddit, Discord, university Facebook groups.
Effort
Cost
Compliance risk
Backlink potential
Vibe-code in 2–3 days · ~£600–1,200 · seasonal launch (Apr/Sep/Dec) · pitch The Student Room, Save the Student, university comms teams
D2.4 · GABA Pathway Visualizer CONSIDER
Interactive diagram: how L-theanine + magnesium + B6 support GABA production in the brain. Educational, science-backed, supports ELITE positioning without claiming efficacy. Could be embedded as widget on partner science blogs.
Effort
Cost
Compliance risk
Backlink potential
Design-heavy (illustration + animation) · ~£1,500–3,000 · niche but cite-friendly for science blogs / Wikipedia editors
D2.5 · Dopamine Pathway Visualizer CONSIDER (pair with D2.4)
Same as D2.4 but for dopamine / motivation / PRO mechanism. Interactive: L-tyrosine → dopamine, plus precursors + cofactors. Pair-launch with D2.4 for full mechanism story.
Effort
Cost
Compliance risk
Backlink potential
Design re-uses D2.4 framework · ~£800–1,500 marginal cost
D2.6 · Focus Score Calculator VIRAL POTENTIAL
Quiz-style: 12 questions on sleep, caffeine, stress, exercise, screen time, diet → output Focus Score (0–100) + 3 personalised improvement actions. Highly shareable on social ("I got 42/100, what's yours?"). Self-deprecating humour angle (low scores get funny responses).
Effort
Cost
Compliance risk
Backlink potential
Vibe-code in 2 days · ~£400–800 · catchy domain like focusmeter.com · share-card OG image for social viral · launch Product Hunt
D2.7 · ADHD Task Chunking Calculator NICHE-VIRAL
Input: a daunting task (e.g. "write dissertation"). Output: ADHD-friendly chunks with time-blocks + transition rituals. Strong viral potential in ADHD community. Compliance note: tool functionality only (no supplement claim within the tool). Brand presence via subtle CTA.
Effort
Cost
Compliance risk
Backlink potential
~£400–900 build · launch into r/ADHD, ADDitude, ADHD UK · pitch to ADDitude as a tool feature
D2.8 · Menopause + Focus Symptom Tracker PARTNERSHIP-FIT
Track perimenopause focus / brain fog symptoms over 30 days; correlate with sleep / cycle data. Strong fit for women's-health publications (Stylist, Grazia, Refinery29) + perimenopause communities. Aligns with existing perimenopause-focus LP work.
Effort
Cost
Compliance risk
Backlink potential
~£800–1,500 build · partner with perimenopause coach for credibility · pitch women's wellness titles
D2.9 · "How Many Cups of Green Tea = 1 Coffee?" Converter PLAYFUL
Tiny micro-app: input number of coffees, output green tea equivalent (caffeine + L-theanine context). Catchy URL like greenteaequivalent.com. Playful, shareable, zero compliance risk.
Effort
Cost
Compliance risk
Backlink potential
Vibe-code in half a day · ~£100–300 · BuzzFeed-style virality potential
D2.10 · Brain Food Shopping List Generator CONSIDER
Input: dietary restrictions (vegan, gluten-free, etc.) + focus goals. Output: weekly shopping list optimised for brain-supportive nutrients (magnesium, B vitamins, omega-3, etc.). Could open partnership with HelloFresh / Mindful Chef. Compliance-friendly (talking about food, not supplements).
Effort
Cost
Compliance risk
Backlink potential
~£400–800 build · partnership angle with meal-kit services for cross-promotion
D2.11–D2.15 · Lower-priority candidates FUTURE QUEUE
D2.11 Sleep & Focus Score (combine sleep quality + focus indicators) · D2.12 NHS UK Focus Resource Database (directory) · D2.13 Stress-to-focus ratio meter · D2.14 Pomodoro + Focus-Drink timer (water/green-tea cycles synced to pomodoros) · D2.15 Brand Brain-Test ("which Brainzyme formula matches your routine?" — careful with implied efficacy claim, may need to be a softer wellness quiz).

D3Recommended starting point — pick 3 to launch first

Per video #2 launch playbook: ship to Product Hunt + Betalist + targeted journalists. Per video #1's 7 supports framework: every linkable asset must work whether or not the user clicks through to Brainzyme — the asset earns its own backlinks based on utility, not on conversion.

My recommended starting trio (best effort/value + risk balance):

  1. D2.6 Focus Score Calculator — highest viral potential, low compliance risk, vibe-code in 2 days
  2. D2.2 Brain Fog Quiz productisation — already built, just package + standalone domain + Product Hunt launch
  3. D2.7 ADHD Task Chunking Calculator — strong niche-viral in ADHD community + ADDitude relationship potential

E1HARO / PR pitch tracks (legitimate first-time path)

Codex flagged that paid link schemes are HIGH compliance + Google policy risk. But Calum is right that first-time PR push in legitimate publications is fine — Brainzyme has never done it, has nothing to hide, and editorial citations from real journalists are how brands earn DA70+ links sustainably.

E1.1 · HARO (Help a Reporter Out) — daily pitch flow START HERE
Free / Cision $99/mo. 3× daily emails with journalist queries. Brainzyme pitches on focus/cognition/wellness/parenting/student stories. ~5 quality pitches/week → typically 1–2 land per month → 12–24 high-DA backlinks per year.
Effort
Cost
Compliance risk
Backlink quality
15min/day to scan + pitch · every pitch needs compliance review (no treat/cure/prevent) · named human as pitch author
E1.2 · ResponseSource / Cision UK (UK-specific) ADD AFTER HARO
UK equivalent of HARO. £150/mo. Cision is the gold-standard PR-distribution + journalist-database tool. Better targeting for UK/EU outlets where HARO is US-skewed.
Effort
Cost
Compliance risk
Backlink quality
£150/mo · UK newsroom focus · pair with HARO for international coverage
E1.3 · Targeted journalist outreach (women's wellness) MENOPAUSE ANGLE
Direct pitches to: Stylist, Grazia, Refinery29, Red Magazine, Get The Gloss, Female First. Angle: perimenopause focus / brain fog (rising trend). Brainzyme has the perimenopause-focus LP + customer testimonials. Pitch a UK-original survey or data point per outlet.
Effort
Cost
Compliance risk
Backlink quality
DA60–80+ outlets · "expert quote" + "founder story" + "original data" angles · 2-3 landings/quarter realistic
E1.4 · ADHD / Neurodivergent media (US + UK) CORE MARKET
ADDitude (US, DA73), ADHD UK, ADHD Foundation, Different Brains, Neurodivergent Insights. Angle: nutrition for cognitive support (NOT treatment). Compliance-careful — never frame as ADHD treatment. Use plant-powered focus framing.
Effort
Cost
Compliance risk
Backlink quality
Pitch must be reviewed by compliance — ASA/FTC strict on ADHD + functional claim pairing · target: 1–2 placements/quarter
E1.5 · Student / exam media SEASONAL
The Student Room, Save the Student, UCAS, university comms teams. Angle: exam-week routine (links to D2.3 generator if built). Seasonal: April/May (UK final exams), September (start of year), December (mocks).
Effort
Cost
Compliance risk
Backlink quality
Pair with linkable asset D2.3 for max return · seasonal calendar already aligns with exam-city LP campaign
E1.6 · Trade press (industry recognition + B2B) LATER
Nutraceuticals Now, NPN (Natural Products News), Natural Products Magazine, Health Food Business. Lower DA but high industry credibility. Useful for retailer relationships + Amazon listings authority.
Effort
Cost
Compliance risk
Backlink quality
Quarterly pitch cadence · founder-led story angles · industry-event-tied news (Vitafoods, Natural Products Show)

E2Recommended PR sequence

  1. Month 1: Set up HARO + ResponseSource accounts. Build pitch templates per content class (compliance-pre-cleared).
  2. Month 2–3: Daily HARO pitching (15min/day). First wins typically land here.
  3. Month 4: Add direct outreach to E1.3 (women's wellness) + E1.4 (ADHD media) — based on which linkable assets shipped.
  4. Month 5–6: Layer in E1.5 (student / exam) for autumn/Christmas mocks season.
  5. Month 7+: Trade press (E1.6) + repeat cycle.

F1Existing Brainzyme canonicals — does this strategy conflict?

Existing ruleStrategy compatibilityNotes
feedback_protected_seo_assets_canonical.md (Tier 1/2/3)CompatibleTier 1 pages get full human pipeline; Tier 2 strengthened SOP; Tier 3 routine flow — all still apply on top of AI-content programme
feedback_honeypot_eeat_pattern.md (3-asset stack)Premium tierHoneypot pattern (25-FAQ + Cause Breakdown + Severity Index + named medical reviewers) is the premium tier of AI-content for Tier-1 high-equity recovery pages
feedback_schema_audit_curl_vs_render_canonical.mdInherited at day 7Day-7 check in staged cadence uses BOTH curl + browser-render per session 46 canonical
marketing/seo/onpage-audit/CLAUDE.md rule #8InheritedSame browser-render bar in v2 staged cadence
feedback_fr_de_alternative_positioning_exception.mdHonouredDE/FR alternative-positioning content lives in "medication-comparison" content class — human-gated always
4-class lexicon (matrix)Hard gateHard publish-gate via tools/product_matrix.py --validate-copy
Session 46 FAQ dedupe + clone designationsPre-requisite4-bucket FAQ triage rule builds on top of dedupe outputs (Codex blocker)

F2Things this strategy explicitly excludes / blocks

  • focus-for-neurodivergent + 4 focus-attention* URLs — blocked from any AI-content programme until ASA compliance queue clears
  • Paid link schemes — Codex blocked. No directory submissions, no PBNs, no link-buying
  • FAQ→article promotion without dedupe triage — pre-requisite gate before any expansion
  • Weekly cadence on disease-adjacent / medication-comparison content — different content class, different gate
  • Judge.me reviews as ingredient-efficacy proof — product-level customer-experience signal only
  • "Medical reviewer" framing that implies medical endorsement — scope limited to nutritional accuracy / factuality / clarity

F3Codex-imposed prerequisites before launch

  1. FAQ triage of 1,564 banked FAQs into 4 buckets (hero-support / FAQ-only / noindex / net-new candidate)
  2. Draft marketing/seo/onpage-audit/AI_CONTENT_SOP.md codifying v2 7-supports + 4-content-class table + staged-check-in cadence + publish-gate stack
  3. Pilot on 3–5 routine-brain-nutrition articles before declaring programme operational — read at days 7/14/30/60/90
  4. Resolve compliance queue for the 17 live-site items in pending_tasks_registry.md (ANSM/HWG/ASA/FTC) BEFORE article programme launches — otherwise programme inherits regulatory risk

01Decisions Needed — Push Live to Claude

Fill what you can — leave the rest blank. Press Send to Claude and the responses land in F:/Agentic-OS/inbox/onpage-audit/. Claude picks them up on the next session start.

All fields optional. You can send partial, then send again later. Each send is a fresh envelope — Claude treats the latest as authoritative.

1 · Schema deploy path

All 4 stores have embedded @graph in theme.liquid that collides with our canonical snippets. Pick the deploy strategy.

2 · UK compliance — Remove "Neuroenhancement"

From homepage-schema.liquid knowsAbout array AND WebPage.mentions. UK regulatory issue.

3 · Tightened Organization.description + WebPage.description

Current live wording emits machine-readable functional claims. Needs structure/function-safe replacement (legal sign-off).

4 · Snippet-name mismatch fix

theme.liquid calls {% render "product-schema" %} but the file does not exist; canonical is product-schema-block.liquid.

5 · focus-for-ND page — promote or canonical?

CLONE per dedupe analysis BUT has 63 organic 90d sessions (highest of any UK clone). Current state: leaving organic traffic under-monetised.

6 · free-trial-packs UK — keep or re-tag?

Family winner per agent BUT dedupe groups with amazon-loyalty-bonus (15 sessions only).

7 · P0 live compliance fixes — authorise each

Existing live meta has hard-banned claim language. Each tick = "yes, Claude can fix this live via Admin API on next deploy round". Untick = needs more review.

FR — ANSM regulatory violations

DE — HWG hard violations

UK — ASA combination-claim issue

US — FTC + market-mismatch

Banned cross-class compounds in live meta

8 · P1 production bugs — authorise each fix

Live SERP embarrassments. Tick = Claude can fix on next deploy round.

9 · 14 compliance-queue yellow-flagged slugs

8 UK + 6 US slugs flagged for personal review before deploy. Paste your verdicts here — format: slug : approve / reject / rewrite-to "new text" per line.

10 · Judge.me dashboard — interim zero-code option

Check whether the Judge.me dashboard plan allows enabling price / image / description in the widget's Product node. If yes = partial commercial win without a deploy.

11 · US / DE / FR drift baseline init

UK drift baseline is synced. US / DE / FR baselines are missing. Required prerequisite before any theme surgery.

12 · Additional notes / context for Claude

Anything else — context, priority changes, things to NOT touch, questions back to Claude.
Fill what you can — leave the rest. Partial sends are fine.