seo-audit
- Repo stars 0
- Author repo skills-registry
/seo-audit — SEO + AEO + LLM Readiness Audit
Run a comprehensive audit of cc4.marketing for search engine optimization, answer engine optimization, and AI/LLM discoverability.
Arguments
/seo-audit — full audit (default)
/seo-audit quick — check only critical items
/seo-audit [url] — audit a specific page (e.g. /seo-audit /blog/my-post)
Instructions
Phase 1: Parallel Page Audits
Launch parallel agents to audit pages. For each page, check:
Meta Tags:
- Title tag (unique, under 60 chars, includes primary keyword)
- Meta description (unique, 150-160 chars, includes CTA)
- Meta keywords (page-specific, not generic defaults)
- Canonical URL (correct, no duplicates)
- robots (index, follow)
Open Graph / Social:
- og:title, og:description, og:image (absolute URL, 1200x630 PNG)
- og:type (website for pages, article for posts/lessons)
- twitter:card (summary_large_image), twitter:image
Structured Data (JSON-LD):
- Homepage: WebSite, Course, BreadcrumbList
- Blog index: CollectionPage (no Course schema, no base BreadcrumbList)
- Blog posts: BlogPosting with headline, description, datePublished, dateModified, author (Person), publisher (Organization with raster logo), mainEntityOfPage, breadcrumb
- Authors: AboutPage with Person schemas
- Lesson pages: should NOT have Course schema duplicated
- Check for duplicate/conflicting BreadcrumbList schemas
Content Quality:
- H1 count (exactly 1 per page)
- Internal links have trailing slashes
- Images have alt text and dimensions
Phase 2: Site-Wide Checks
robots.txt:
- Fetch https://cc4.marketing/robots.txt
- Check if AI bots are allowed: GPTBot, ClaudeBot, Claude-Web, PerplexityBot, Google-Extended
- CRITICAL: Check for Cloudflare managed block prepended before custom rules — this overrides your Allow directives
- Verify sitemap and llms.txt references
llms.txt:
- Fetch https://cc4.marketing/llms.txt
- Follows llms.txt spec (title, blockquote summary, structured sections)
- Covers all site sections: homepage, blog, modules, changelog
- Links to llms-full.txt
llms-full.txt:
- Fetch https://cc4.marketing/llms-full.txt
- Full course structure with all 17 lessons
- Blog section with post URLs
- Changelog API endpoints
Sitemap:
- Fetch https://cc4.marketing/sitemap-index.xml
- All pages included (homepage, blog posts, module lessons, changelog, download, brand-guide, authors)
- Priorities correct (homepage 1.0, blog/download 0.9, modules 0.8-0.9, changelog 0.8)
- No orphaned pages (pages in sitemap that 404)
Phase 3: AEO-Specific Checks
- FAQ schema — do any blog posts have Q&A sections that should use FAQPage?
- HowTo schema — do any blog posts have step-by-step instructions that should use HowTo?
- Featured snippets — are H2/H3 headings phrased as questions for featured snippet targeting?
- Entity clarity — is the Organization entity consistent across all schemas?
- Breadcrumb depth — do all pages have proper breadcrumb chains (Home > Section > Page)?
Phase 4: Report
Output a table:
| Area | Status | Issues |
|-------------------|--------|--------|
| Meta tags | PASS/FAIL | ... |
| OG / Social | PASS/FAIL | ... |
| Structured data | PASS/FAIL | ... |
| robots.txt | PASS/FAIL | ... |
| llms.txt | PASS/FAIL | ... |
| Sitemap | PASS/FAIL | ... |
| AEO readiness | PASS/FAIL | ... |
Then list fixes by priority:
- Critical — blocks indexing or AI discovery
- High — affects SERP appearance or rich results
- Medium — optimization opportunities
- Low — nice-to-have
For each fix, show the exact file and line to change, or the exact code change needed.
Key Files
src/layouts/BaseLayout.astro— global meta tags, JSON-LD schemassrc/pages/blog/[slug].astro— BlogPosting schemasrc/pages/blog/index.astro— CollectionPage schemasrc/pages/blog/authors.astro— AboutPage schemaastro.config.mjs— sitemap config with customPagespublic/robots.txt— bot directivespublic/llms.txt— AI discoverypublic/llms-full.txt— extended AI referencewrangler.jsonc— Cloudflare config
Known Gotchas
- Cloudflare prepends a managed AI bot block to robots.txt at the edge — your
public/robots.txtAllow rules get overridden. Fix in Cloudflare Dashboard > Security > Bots > AI Bots. - Blog posts are SSR from Emdash CMS — they must be manually added to
customPagesin the sitemap config. - The
showCourseSchemaandshowBreadcrumbprops on BaseLayout control which pages get Course/BreadcrumbList schemas.
<!-- tomevault:4.0:skill_md:2026-05-23 -->Source: cc4-marketing/site — distributed by TomeVault.
- Fluxly category
- Security
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @tomevault-io · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Unspecified
- Detected file/system behavior
-
- Read-only
- Detected network behavior
- External requests
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
The current SKILL.md does not define a fixed output example. Launch parallel agents to audit pages. For each page, check: Meta Tags: Title tag (unique, under 60 chars, includes primary keyword)
robots.txt: Fetch https://cc4.marketing/robots.txt Check if AI bots are allowed: GPTBot, ClaudeBot, Claude-Web, PerplexityBot, Google-Extended
FAQ schema — do any blog posts have Q&A sections that should use FAQPage? HowTo schema — do any blog posts have step-by-step instructions that should use HowTo? Featured snippets — are H2/H3 headings phrased as questions for featured snippet targeting?
Output a table: Then list fixes by priority: Critical — blocks indexing or AI discovery
# /seo-audit — SEO + AEO + LLM Readiness Audit
Run a comprehensive audit of cc4.marketing for search engine optimization, answer engine optimization, and AI/LLM discoverability.
## Arguments
`/seo-audit` — full audit (default)
`/seo-audit quick` — check only critical items
`/seo-audit [url]` — audit a specific page (e.g. `/seo-audit /blog/my-post`)
## Instructions
### Phase 1: Parallel Page Audits
Launch parallel agents to audit pages. For each page, check:
**Meta Tags:**
- Title tag (unique, under 60 chars, includes primary keyword)
- Meta description (unique, 150-160 chars, includes CTA)
- Meta keywords (page-specific, not generic defaults)
- Canonical URL (correct, no duplicates)
- robots (index, follow)
**Open Graph / Social:**
- og:title, og:description, og:image (absolute URL, 1200x630 PNG)
- og:type (website for pages, article for posts/lessons)
- twitter:card (summary_large_image), twitter:image
**Structured Data (JSON-LD):**
- Homepage: WebSite, Course, BreadcrumbList
- Blog index: CollectionPage (no Course schema, no base BreadcrumbList)
- Blog posts: BlogPosting with headline, description, datePublished, dateModified, author (Person), publisher (Organization with raster logo), mainEntityOfPage, breadcrumb
- Authors: AboutPage with Person schemas
- Lesson pages: should NOT have Course schema duplicated
- Check for duplicate/conflicting BreadcrumbList schemas
**Content Quality:**
- H1 count (exactly 1 per page)
- Internal links have trailing slashes
- Images have alt text and dimensions
### Phase 2: Site-Wide Checks
**robots.txt:**
- Fetch https://cc4.marketing/robots.txt
- Check if AI bots are allowed: GPTBot, ClaudeBot, Claude-Web, PerplexityBot, Google-Extended
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> Arguments → Instructions → Phase 1: Parallel Page Audits → Phase 2: Site-Wide Checks → Phase 3: AEO-Specific Checks → Phase 4: Report
terms -> Meta Tags · Open Graph / Social · Structured Data (JSON-LD) · Content Quality · robots.txt · CRITICAL · llms.txt · llms-full.txt
files/cmd -> /seo-audit · /seo-audit quick · /seo-audit [url] · /seo-audit /blog/my-post · src/layouts/BaseLayout.astro · src/pages/blog/[slug].astro · src/pages/blog/index.astro · src/pages/blog/authors.astro
body sha256 -> d45a20f3594a
Decide Fit First
Design Intent
How To Use It
Boundaries And Review