seo-checklist
SEO and GEO (Generative Engine Optimization) checklist for web projects.
Skill by ek33450505
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ek33450505-seo-checklist
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, ml, marketing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/seo-checklist
What's inside
- Skill name
seo-checklist- Description
- SEO and GEO (Generative Engine Optimization) checklist for web projects. Load when reviewing page metadata, structured data, technical SEO, Core Web Vitals, and generative-engine optimization. Covers classic search visibility and LLM-crawler optimization.
- License
- MIT
- Instructions
- 60 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (1)
- SKILL.md
SKILL.md (first lines)
# SEO & GEO Checklist
## Metadata Basics
- **Page `<title>`:** Unique, descriptive, ≤60 characters (fits Google SERP). For React/Next: use dynamic `<title>` tag or Next.js `metadata` export.
- **Meta description:** 120–160 characters, clearly summarizes page value. Should answer "why visit this page?"
- **Canonical URL:** Prevents duplicate-content penalties. Set `<link rel="canonical" href="...">` or via Next.js `metadata.metadataBase`.
- **Open Graph tags:** For social sharing and preview cards. Include `og:title`, `og:description`, `og:image` (1200×630 px recommended), `og:url`, `og:type`.
- **Twitter Card tags:** `twitter:card`, `twitter:title`, `twitter:description`, `twitter:image` for Twitter/X sharing preview.
## Structured Data (JSON-LD)
- **Format:** Use JSON-LD in `<script type="application/ld+json">` blocks (preferred by both Google and modern LLM crawlers).
- **Schema types:** Choose applicable types: `Organization` (company info), `Article` (blog posts/news), `Product` (e-commerce), `BreadcrumbList` (site navigation), `FAQPage` (Q&A content).
- **Why it matters:** Enables Google rich results (star ratings, recipes, job listings) AND helps LLM crawlers understand semantic structure for more accurate citations/excerpts.
- **Validation:** Test with [schema.org](https://schema.org) examples and Google's Rich Results Test.
## Technical SEO
- **Sitemap.xml:** Submit to search engines via robots.txt or Search Console. For Next.js: use `next-sitemap` or manually generate and serve from `/public/sitemap.xml`.
- **robots.txt:** Define crawl budget and disallowed paths. Basic rule: `User-agent: *` + `Allow: /`. For Vercel: robots.txt auto-generated; check `/robots.txt`.
- **Semantic HTML:** Single `<h1>` per page, no skipped heading levels (h1 → h2/h3, not h1 → h4). Use `<header>`, `<main>`, `<nav>`, `<article>`, `<section>` landmark elements. Overlaps with accessibility-first HTML — see `typescript-conventions` Accessibility section.
- **Duplicate content:** Avoid multiple URLs serving identical content. Use canonical tags to point to preferred version.
- **Index coverage is a separate question:** Everything above is "is the page well-formed". Whether a URL is actually *in* Google's index — and why not — is diagnosed differently: `Discovered – currently not indexed` is a crawl-budget signal, `Crawled – currently not indexed` is a content-quality verdict, and only GSC URL Inspection reports either. For that, plus the inspection quota arithmetic, stratified sampling, sitemap segmentation for per-family coverage, and the soak-window rule, load `seo-index-census`.
## Core Web Vitals (CWV)
Target thresholds (Google's metric for rank/user experience):
- **LCP (Largest Contentful Paint):** ≤2.5s. Optimized images, preload critical resources.
- **INP (Interaction to Next Paint):** ≤200ms. Break long JavaScript tasks, defer non-critical work.
- **CLS (Cumulative Layout Shift):** ≤0.1. Reserve space for late-loading fonts/ads, set image dimensions.
Common React/Vite culprits:
- Unoptimized images (use `<img>` with `width`/`height` or lazy-load). In Next.js, use `next/image` for automatic optimization.
- Late-loading web fonts (specify `font-display: swap` or preload via `<link rel="preload">`).
- JavaScript bundle size; code splitting with dynamic imports for route-based or intersection-observer-based chunks.
- Hydration cost on initial page load (minimize render work in client-side React, consider streaming SSR).
## GEO (Generative Engine Optimization)
- **llms.txt:** An emerging convention (not universally adopted yet) analogous to robots.txt for AI crawlers. Place at `/.well-known/llms.txt` or `/llms.txt`. Specifies which content is quotable/extractable and any usage policies. Example: `Allow: /blog/*` (LLMs may cite blog posts). Check [llms.txt specification](https://llmstxt.org) for current status before relying on it.
- **Quotable content:** Structure facts and claims clearly near the top of the page. LLMs prioritize declarative, extractable statements over marketing fluff. Avoid burying key information in prose; use lists, tables, or Q&A formats.
- **Q&A sections:** Direct question-answer content maps well to LLM-answer-engine excerpting. Pair each Q with a concise A. Markup with `<dl>` + schema `FAQPage` or `QAPage` JSON-LD for best results.
- **Byline and metadata:** Attribution, publication date, author expertise signals improve trustworthiness in LLM citations.
## Next.js-Specific
- **Metadata export:** Use Next.js 13+ `metadata` export in `page.tsx` instead of HTML `<meta>` tags.
```typescript
export const metadata: Metadata = {
title: "Page Title",
description: "Page description",
openGraph: { title: "...", description: "...", images: [{ url: "..." }] },
};
```
- **Sitemap and robots.txt:** Auto-generated by Next.js. Customize in `app/sitemap.ts` and `app/robots.ts` (App Router).
- **next/image:** Always use for images to enable automatic format negotiation, responsive sizing, and lazy-loading (improves CWV).
- **Dynamic routes:** If using `generateStaticParams()`, ensure all variants are covered for SEO discoverability.From ek33450505/claude-agent-team, MIT.
More from ek33450505/claude-agent-team
- 0.626score
git-activity
ek33450505
Scan project repositories for yesterday's git activity.
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
briefing-writer
ek33450505
Assemble morning briefing sections into a structured markdown file.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
plan
ek33450505
Activate the heavy planner→/orchestrate chain — write a structured plan file with Agent Dispatch Manifest, then invoke the /orchestrate skill to execute it in…
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
wizard
ek33450505
Multi-step workflow with human-approval gates before destructive operations.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
merge
ek33450505
Git merge, rebase, and conflict resolution specialist.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
deep-research
ek33450505
Deep research harness — fan-out web searches, fetch sources, adversarially verify claims, synthesize a cited report.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
typescript-conventions
ek33450505
TypeScript, React, and UI accessibility conventions for CAST projects.
SkillAFreshness: A★ 8Claude Code +9 - 0.620score
agent-registry
ek33450505
Full CAST agent registry with model assignments.
SkillAFreshness: A★ 8Claude Code +9 - 0.620score
orchestrate
ek33450505
Execute a CAST plan by reading the Agent Dispatch Manifest and dispatching agents in dependency order — parallel batches simultaneously, sequential batches…
SkillAFreshness: A★ 8Claude Code +9 - 0.620score
stack-reference
ek33450505
Full tech stack reference and dev command cheatsheet.
SkillAFreshness: A★ 8Claude Code +9 - 0.620score
project-catalog
ek33450505
Full project catalog — project paths, stacks, remotes, and runtime paths.
SkillAFreshness: A★ 8Claude Code +9 - 0.620score
laconic
ek33450505
Terse output mode.
SkillAFreshness: A★ 8Claude Code +9
Signals
- Stars
- 8
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Sep 26, 2026 (1 month ago)
- Last release
- Oct 16, 2026 (14 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ek33450505/claude-agent-team
- Website
- castframework.dev
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ek33450505
- 0.626score
git-activity
ek33450505
Scan project repositories for yesterday's git activity.
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
briefing-writer
ek33450505
Assemble morning briefing sections into a structured markdown file.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
wizard
ek33450505
Multi-step workflow with human-approval gates before destructive operations.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
merge
ek33450505
Git merge, rebase, and conflict resolution specialist.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
deep-research
ek33450505
Deep research harness — fan-out web searches, fetch sources, adversarially verify claims, synthesize a cited report.
SkillAFreshness: A★ 8Claude Code +9 - 0.623score
typescript-conventions
ek33450505
TypeScript, React, and UI accessibility conventions for CAST projects.
SkillAFreshness: A★ 8Claude Code +9
Cite this page
seo-checklist skill. Agent Mart. https://agentmart.dev/skills/ek33450505-seo-checklist (last updated 2026-10-24)