SEO/GEO part 2: keyword targeting, content depth, blog, structured data - #12
Merged
Conversation
Ran seo.loop (audit -> fix -> re-audit) over docs/: - add self-referential absolute canonical to all 30 pages - add Open Graph + Twitter card to 26 keyword pages, game.html, workshop.html - add meta descriptions to game.html and workshop.html - add JSON-LD: WebSite (home), WebApplication (playground), BreadcrumbList (keywords) - add robots.txt, sitemap.xml (30 URLs), llms.txt - fix invalid unescaped <X> in use-method.html <title> - repoint 26 keyword pages' broken ../tutorial.html links to ../index.html - add visually-hidden <h1> to game.html Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- inject privacy-friendly Plausible analytics tag into all 30 docs pages (keys off data-domain=loopflow.live; records once the account is created) - add docs/tools/check_content.py — content-depth gate for keyword pages (>=220 words, >=2 examples, a pitfalls section, related links) - add seo-content.loop — expands the thin keyword reference pages until the content checker passes and a human approves (quality gate, no padding) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… manifest) Optimize the homepage to rank for the terms people actually search and to be citable by AI search (Claude/ChatGPT/Perplexity): - rewrite <title> and meta description around "self-correcting AI coding loops" (was "LoopFlow — the tutorial", targeting a zero-volume coined term) - weave "AI coding agents / AI coding workflow / one-shot prompts" into the hero copy (homepage went from 0 -> 7 mentions of the target cluster) - add a visible FAQ section + FAQPage JSON-LD (rank for the queries AND give LLMs quotable Q&A to cite) - strengthen llms.txt with a one-line definition, the synonym cluster, and FAQ - add branded 404.html (noindex) and site.webmanifest + theme-color Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…+ GEO Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Ran seo-content.loop (parallelized across 5 agents): each keyword page now has substantive prose explaining what the keyword does and why, >=2 worked examples, and a "Common mistakes" section — grounded in AGENTS.md for accuracy. Content depth: median 153 -> 508 words/page (min 72 -> 421). All 25 pages now clear docs/tools/check_content.py. Thin pages don't rank; this is the biggest remaining on-page lever for the keyword reference section. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New indexable ranking + GEO assets, each targeting a real search query and grounded in AGENTS.md (runnable .loop examples, links into the docs): - what-is-an-ai-coding-loop — definitional (opens with a quotable definition for LLM citation); targets "AI coding loop" - make-claude-code-self-correct — how-to; targets "make Claude Code self-correct" - one-shot-prompts-vs-self-correcting-loops — comparison; targets "prompt vs loop" Each page is SEO-complete (canonical, OG, Twitter, BlogPosting JSON-LD, analytics, one H1) and 1000+ words. Adds blog/index.html (Blog schema), links it from the homepage nav, and registers all 4 URLs in sitemap.xml (30 -> 34). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Convert the existing docs/blog/i-was-the-for-loop.md draft into a full, SEO-complete blog page (canonical, OG, Twitter, BlogPosting JSON-LD, analytics); add it to the blog index (now 4 posts) and sitemap.xml (34 -> 35 URLs). The markdown source is kept. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deeper AI-search / structured-data coverage: - homepage: add SoftwareApplication JSON-LD (entity signal — LoopFlow as a developer tool, free/Apache-2.0) alongside the existing WebSite + FAQPage - blog: add BreadcrumbList schema to all 4 posts; add blog/rss.xml + <link> it - IndexNow: add key file + docs/tools/indexnow.sh to push all sitemap URLs to Bing (which powers ChatGPT search) for near-instant indexing post-deploy 39 JSON-LD blocks site-wide, all valid. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts: # docs/index.html # docs/llms.txt # docs/sitemap.xml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completes the SEO work that PR #11 didn't capture (it was merged early, at the analytics commit). Merged latest master in — Loop market work preserved, only 2 trivial conflicts (kept both nav links; kept the fuller llms.txt/sitemap).
Brings to production:
Verified: no duplicate meta tags, content checker green, 39 JSON-LD blocks valid.
🤖 Generated with Claude Code