01-projects/printables-product/reviews

Growth / SEO / GEO review, 2026-09-24

2026-09-24·studio-review·status: gate-fixes-applied

1. Reviewed

2. Findings

  1. scribbleworks.co is attached since 09-14; the dispatch said it was not (seo.js:1-4). Home byte-identical to pages.dev; robots.txt allows crawling. pages.dev Disallow: / is deliberate (robots.js:20-22). 09-10 gaps shipped.
  2. Head gaps: home title brand-only; /{faq,planner,shopper,privacy,terms}/ lack canonical and Open Graph tags (no seo prop; faq.astro:8). /planner/ is sitemapped (sitemap.xml.ts:10) despite "Home is canonical" (planner.astro:2-6). Internal links: /browse/ → 43 live; 4 related per game; home → none.
  3. Spanish: lang="en" hard-coded (Base.astro:46) against JSON-LD es; 0 hreflang (21 responses, src). No field pairs EN/ES siblings (variant_of marks customization variants).
  4. Only flips add game pages. main: 43 live, 48 pending-review; only live render (games.js:117-118). Last flip 09-14 (1bd4b2f). All 7 open game PRs add only pending-review, so merges add none; flipping 48 takes 43→91. Founder-only (:390). Guides add pages too (#359, 09-23).
  5. Discovery unmeasured: no Search Console/Bing verification artifact (TXT: SPF only; no meta, analytics or repo trace). Inference: sitemap never submitted.
  6. GEO: spoofed GPTBot/ClaudeBot/PerplexityBot/OAI-SearchBot user agents get 200 on .co. No llms.txt; skipped (inference: unproven).

Inference: flips and Search Console outrank SEO builds. Bear: guides and #336 add pages without flips; wrong if indexed games earn ~0 impressions.

3. Proposed queue.md changes

Autonomous, PR-gated (charter §2:48-51); after R16.

+## 2026-09-24 review (reviews/2026-09-24-growth-seo-geo.md)
+ R17. [engineering, S] `seo` prop on /{faq,privacy,terms}/; /{planner,shopper}/ canonical `/`; /planner/ out of sitemap.xml.ts:10.
+ R18. [engineering, XS] Base.astro:46 `lang` from game.language.
+ R19. [product, S] Optional EN+ES `translation_of` field, distinct from `variant_of`.
+ R20. [engineering, S] Reciprocal hreflang once both R19 ends are live.
+ R21. [growth, XS] Home title "Printable games for kids 2–10" (Base.astro:52).

4. Decisions needed

  1. Flip sitting (:390): default this week, dibuja-un-animal and draw-an-animal first; cost: live stuck at 43, ~+2 unreviewed/day (:415).
  2. Search Console + Bing (:273): default go; cost: no index data.
  3. pages.dev 301 to .co (:274; still 200): default yes; cost: indexed pages.dev URLs stay robots-blocked, unmerged.
  4. #336 type pages: default go on phase 1 (matching 8, cut_paste 7 live; voice and skills-claim questions open), thin types after flips (6 of 10 ≤4 live); cost: type searches stay on client-filtered /browse/. #324, #333-#335 unchanged.