Skip to content

SEO/GEO part 2: keyword targeting, content depth, blog, structured data - #12

Merged
tickets-forge-dev merged 10 commits into
masterfrom
seo/loopflow-docs
Jul 5, 2026
Merged

SEO/GEO part 2: keyword targeting, content depth, blog, structured data#12
tickets-forge-dev merged 10 commits into
masterfrom
seo/loopflow-docs

Conversation

@tickets-forge-dev

Copy link
Copy Markdown
Owner

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:

  • Homepage retitled around "self-correcting AI coding loops" + visible FAQ + FAQPage/SoftwareApplication schema
  • All 25 keyword pages expanded to real depth (median 153 → 508 words)
  • New /blog with 4 SEO-targeted posts (BlogPosting + BreadcrumbList schema) + RSS
  • 404.html, site.webmanifest, IndexNow key + submit script
  • sitemap.xml now 35 URLs

Verified: no duplicate meta tags, content checker green, 39 JSON-LD blocks valid.

🤖 Generated with Claude Code

tickets-forge-dev and others added 10 commits July 5, 2026 00:20
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
@tickets-forge-dev
tickets-forge-dev merged commit 2ddbed9 into master Jul 5, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant