SEO optimization. Meta tags, structured data, Core Web Vitals, sitemap, robots.txt, Open Graph.
From godmodenpx claudepluginhub arbazkhan971/godmodeThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
/godmode:seo, "SEO audit", "meta tags"# Check for sitemap and robots.txt
curl -sf https://example.com/sitemap.xml | head -5
curl -sf https://example.com/robots.txt
# Lighthouse SEO audit
npx lighthouse https://example.com \
--only-categories=seo --output=json
SEO DISCOVERY:
Target: <URL / entire site>
Framework: <Next.js | Nuxt | SvelteKit | static>
Rendering: SSR | SSG | CSR | ISR | hybrid
TITLE: 50-60 chars, unique per page,
primary keyword near beginning, brand at end
DESCRIPTION: 150-160 chars, unique, has CTA
CANONICAL: every page, self-referencing,
trailing slash consistent, no canonical to 404
MINIMUM META TAGS PER PAGE:
<title>, <meta description>, <link canonical>
OG: og:type, og:title, og:description,
og:image (1200x630), og:url, og:site_name
Twitter: twitter:card, twitter:title,
twitter:description, twitter:image
JSON-LD structured data
Page type -> Schema.org type:
Homepage: Organization (name, url, logo, sameAs)
Blog posts: Article (headline, author, date)
Products: Product (name, price, availability)
FAQ: FAQPage (Question/Answer pairs)
Breadcrumbs: BreadcrumbList (position, name)
Search: WebSite + SearchAction
IF structured data present: validate with
Google Rich Results Test (0 errors required)
IF structured data missing: add for page type
WHEN data doesn't match visible content: fix
(mismatch = manual penalty risk)
SITEMAP:
Location: /sitemap.xml, XML format
Check: missing pages, dead URLs, non-canonical
Limits: 50MB / 50K URLs -> split
Reference in robots.txt
ROBOTS.TXT:
Allow important pages
Block admin/login/API/internal
Block duplicate params (?sort=, ?filter=)
NEVER block CSS/JS (engines need to render)
TARGETS: LCP <2.5s, INP <200ms, CLS <0.1
LCP FIXES: preload LCP image, responsive srcset,
WebP/AVIF, inline critical CSS, reduce TTFB,
defer non-critical JS, fetchpriority="high"
CLS FIXES: explicit width/height on images/videos,
aspect-ratio CSS, reserve space for ads/embeds,
preload fonts, font-display:optional/swap
INP FIXES: break long tasks (>50ms) with yield,
requestIdleCallback, web workers,
debounce inputs, minimize DOM (<1500 elements)
OG Image: min 1200x630, JPG/PNG <8MB,
absolute URL, publicly accessible
Test: Facebook Debugger, Twitter Card Validator
Track weekly: organic traffic, impressions/clicks,
keyword rankings, crawl errors
Track per deploy: Lighthouse CI scores
Assert: performance >=0.9, seo >=0.9,
LCP <2500, CLS <0.1
Track monthly: CWV field data (CrUX)
SEO AUDIT -- {target}:
Meta: {status} ({N} pages)
Canonical: {status}, Sitemap: {status}
CWV: LCP {N}s, INP {N}ms, CLS {N}
Structured data: {N} types, valid: {yes|no}
Lighthouse SEO: {N}/100
Verdict: PASS (>=90) | NEEDS WORK (>=70) | FAIL
Commit: "seo: {target} -- fix {N} issues"
grep -r "next-seo\|react-helmet\|vue-meta" \
package.json 2>/dev/null
ls public/sitemap.xml public/robots.txt 2>/dev/null
grep -r "JsonLd\|json-ld\|application/ld+json" \
src/ --include="*.tsx" --include="*.vue" -l 2>/dev/null
Append to .godmode/seo-results.tsv:
timestamp\tpage\taction\tmetric\tbefore\tafter\tstatus
Print: SEO: Lighthouse {N}/100. CWV: LCP {N}s, INP {N}ms, CLS {N}. Verdict: {verdict}.
KEEP if: Lighthouse SEO >= previous AND CWV held
AND structured data validates
DISCARD if: SEO dropped OR CWV regressed
OR structured data errors
STOP when:
- Lighthouse SEO >= 95 AND all CWV good
- All pages have titles/descriptions/canonicals
- Valid structured data on all page types
- User requests stop OR max 10 iterations