seo-kit
Skill3 starsChanged 5 months agoMITView on GitHub
Generate a complete SEO/GEO implementation kit for JS-rendered websites (Lovable, Vercel, Bolt, React SPAs, Next.js). Produces a Cloudflare Worker (prerender + configurable robots.txt + spec-compliant llms.txt + JSON-LD schema injection + optional meta tag injection), sitemap.xml, implementation checklist, and setup guide. Use when: user says "generate SEO kit", "set up SEO", "fix SEO for my site", "make my site indexable", "GEO optimization", "AI search visibility", "prerender setup", "schema markup", or mentions that their JS-rendered site isn't being indexed by Google or AI crawlers.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Yahiasherif002/claude-skillstheir own version, first seen Jun 26, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- Yahiasherif002/claude-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository67 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- optimize-contextSkill
- a11y-checkSkill
- api-contractSkill
- backend-patternsSkill
- build-fixSkill
- checkpointSkill
- clickhouse-ioSkill
- code-review-eccSkill
- code-reviewSkill
- coding-standardsSkill
- config-auditSkill
- continuous-learning-v2Skill
- create-prdSkill
- deps-auditSkill
- e2eSkill
- eval-harnessSkill
- evalSkill
- evolveSkill
- executeSkill
- execution-reportSkill
- extract-sharedSkill
- firecrawlSkill
- frontend-designSkill
- frontend-patternsSkill
- golang-patternsSkill
- golang-testingSkill
- implement-fixSkill
- init-projectSkill
- instinct-exportSkill
- instinct-importSkill
- instinct-statusSkill
- iterative-retrievalSkill
- lazySkill
- learnSkill
- orchestrateSkill
- perf-profileSkill
- plan-eccSkill
- plan-featureSkill
- postgres-patternsSkill
- primeSkill
- project-guidelines-exampleSkill
- projectSkill
- prompt-auditSkill
- python-patternsSkill
- python-reviewSkill
- python-testingSkill
- rcaSkill
- refactor-cleanSkill
- releaseSkill
- security-reviewSkill
- set-working-dirSkill
- skill-createSkill
- strategic-compactSkill
- supadataSkill
- system-reviewSkill
- tddSkill
- tdd-workflowSkill
- test-coverageSkill
- testSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 5 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 55
Create an output directory (e.g.
- Very specific: line 59
Read assets/worker-template.js and customise by replacing all __PLACEHOLDER__ values:
- Very specific: line 69
Read references/checklist-template.md and customise with the user's domain.
- Distinctive: line 75
Remove custom domain from hosting platform (prevents redirect loops)
- Very specific: line 76
Create Cloudflare Worker (seo-prerender), add secrets (PRERENDER_TOKEN, ORIGIN_URL)
- Distinctive: line 82
Verify Google Search Console (DNS TXT record)
- Distinctive: line 88
After user deploys, run:
- Very specific: line 105
Worker secret names: Must use underscore (PRERENDER_TOKEN), not space.
- Distinctive: line 106
SSL mode: Must be "Full" or "Full (strict)" — "Flexible" causes loops.
- Distinctive: line 109
Duplicate meta tags: If SPA already sets OG tags client-side, don't enable MetaInjector (creates duplicates).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SEO/GEO Kit Generator (v2)
Originally created by AAA Accelerator. v2 enhanced by Nick Martin, PatriotAgentic LLC.
Generate a production-ready SEO/GEO kit for JS-rendered websites. Proven pattern deployed on live sites.
Architecture
Browser/Human --> Cloudflare Worker --> Upstream Origin
Bot/AI Crawler -> Cloudflare Worker --> Prerender.io --> Full HTML returned
Static SEO files (/sitemap.xml, /robots.txt, /llms.txt) served by Worker
Schema markup injected into HTML via Cloudflare HTMLRewriter
Optional: Meta tags (OG, canonical, Twitter Cards) injected via HTMLRewriterWorkflow
Phase 1: Gather Info
Collect from the user (ask if not provided):
| Field | Example | Required |
| Domain | example.com | Yes |
| Upstream URL | https://my-app.example.app | Yes |
| Prerender.io token | your-prerender-token-here | Yes |
| Business name | Acme Ltd | Yes |
| Business description | One-line summary | Yes |
| Services (list) | Name + short description each | Yes |
| Contact (email, phone, address) | Full details | Yes |
| Founder/team names + titles | For Person schema | Yes |
| Site routes | List of live pages/paths | Yes |
| AI crawler policy | Allow All / Search Only / Custom | Yes |
| Opening hours | e.g. Mon-Fri 9-17 | Optional |
| Geo coordinates | lat/lng | Optional |
| Social media URLs | LinkedIn, X, etc. | Optional |
| OG image URL | https://example.com/og-image.png | Optional |
| Key use cases | For llms.txt sections | Optional |
Phase 2: Generate the Kit
Create an output directory (e.g. seo-kit/) with these files:
1. Cloudflare Worker (worker.js)
Read assets/worker-template.js and customise by replacing all __PLACEHOLDER__ values:
- Build
SITEMAP_XMLfrom the user's route list - Build
ROBOTS_TXTusing the user's AI crawler policy preference — seereferences/robots-txt-template.mdfor the three presets (Allow All, Search Only, Custom). Replace__AI_CRAWLER_POLICY__and__AI_CRAWLER_RULES__accordingly. - Build spec-compliant
LLMS_TXTwith H1, blockquote, H2 sections (Services, Use Cases, Key Facts, Contact, Optional) from business info - Build schema objects from gathered info — see
references/schema-patterns.md - Build
getSchemasForPath()mapping each route to appropriate schemas - Optionally enable MetaInjector if user wants OG/canonical injection — see
references/meta-injection-patterns.md. Uncomment the MetaInjector class and its usage in handleRequest(), then customisegetMetaForPath()with route-specific meta data.
2. Checklist (checklist.md)
Read references/checklist-template.md and customise with the user's domain.
3. Setup Guide (setup-guide.md)
Deployment instructions:
- Move DNS to Cloudflare
- Remove custom domain from hosting platform (prevents redirect loops)
- Create Cloudflare Worker (
seo-prerender), add secrets (PRERENDER_TOKEN,ORIGIN_URL) - Paste worker code, deploy
- Attach custom domains (root + www)
- Disable Cloudflare "Managed robots.txt" (Security > Bots > AI Crawl Control) — blocks AI crawlers by default
- Configure AI crawlers per user's chosen policy in AI Crawl Control
- Set SSL/TLS to Full (strict)
- Verify Google Search Console (DNS TXT record)
- Submit sitemap
- Test with
curl -A "googlebot" https://domain.com
Phase 3: Verify
After user deploys, run:
curl -s https://DOMAIN/sitemap.xml | head -10 # Sitemap served
curl -s https://DOMAIN/robots.txt # Clean, shows crawler groups
curl -s https://DOMAIN/robots.txt | grep -c "AI Crawler" # AI section present
curl -s https://DOMAIN/llms.txt # Spec-compliant (H1 + blockquote)
curl -s https://DOMAIN/llms.txt | head -5 # Should show H1 + blockquote
curl -A "googlebot" https://DOMAIN | head -50 # Full rendered HTML
curl -s https://DOMAIN/ | grep -c 'ld+json' # Schema count > 0
curl -s -o /dev/null -w "%{http_code}" https://DOMAIN # HTTP 200, no loopsKey Gotchas
- Cloudflare Managed robots.txt: Blocks AI crawlers by default. Must disable under Security > Bots > AI Crawl Control.
- Redirect loops: Custom domain configured in BOTH hosting platform AND Cloudflare. Remove from hosting first.
- Worker secret names: Must use underscore (
PRERENDER_TOKEN), not space. - SSL mode: Must be "Full" or "Full (strict)" — "Flexible" causes loops.
- HTMLRewriter: Cloudflare Workers only. Uses
element.prepend()on<head>tag. - AI crawler trade-off: Allowing AI crawlers improves ChatGPT/Perplexity/Claude visibility but content may be used for model training. Default to "Search Only" preset for client work.
- Duplicate meta tags: If SPA already sets OG tags client-side, don't enable MetaInjector (creates duplicates).
References
- Schema patterns:
references/schema-patterns.md— JSON-LD templates for Organization, LocalBusiness, Person, FAQ, Breadcrumb, WebApplication, Product, HowTo - Checklist template:
references/checklist-template.md— Implementation checklist with all priorities - Worker template:
assets/worker-template.js— Complete Cloudflare Worker with placeholders to customise - Robots.txt configuration:
references/robots-txt-template.md— Crawler groups, trade-offs, and three preset configurations - Meta injection patterns:
references/meta-injection-patterns.md— HTMLRewriter patterns for OG, canonical, Twitter Cards
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

