
Product
Introducing Manifest Alerts
Socket now detects supply chain risks in project manifests, starting with missing lockfiles that can make dependency installs non-reproducible.
seo-pro-max
Advanced tools
Production-grade SEO setup skill for Claude Code, Cursor, Windsurf, Cline, Roo Code, GitHub Copilot, Aider, Continue.dev, and Zed. Analyzes your project first, asks before writing, then implements exactly what you confirmed.
⭐ If this skill saved you a day of SEO wiring, please star the repo. Stars help other developers find it and tell me which features matter most.
Production-grade SEO setup skill for AI coding agents. Analyzes your project first, asks the right questions, then implements exactly what you confirmed — nothing more.
The skill is an executor, not a decision-maker. It does not silently pick frameworks, file locations, database schemas, or admin-panel placements. You decide; it implements.
SEO setup is full of small, opinionated decisions — title strategy, canonical rules, schema choices, where the admin UI lives, how the DB stores per-page overrides, whether to emit keywords meta, what to do about FAQPage after Google deprecated it, how to handle hreflang for a TR-first / EN-second site. Every project answers them differently.
AI coding agents tend to either:
seo-pro-max fixes both: it analyzes your project, asks you the decisions the agent shouldn't make alone, and only then writes code. The policies it enforces are tracked against current Google / Bing / WCAG / Schema.org documentation — FAQPage deprecation (May 7, 2026), rel="prev/next" deprecation, IndexNow support boundaries, soft-404 detection, and BCP 47 hreflang validation are all encoded so the agent doesn't recommend dead patterns.
Once the npm package is published (coming with v1.0):
npx seo-pro-max install
The installer auto-detects Claude Code, Cursor, Windsurf, Cline, Copilot, Aider, Continue, or Zed and drops the skill in the right place.
Until then, manual install per platform is one curl (or Invoke-WebRequest) per platform — see Install below.
keywords policy per target market)Retry-After for maintenance, branded friendly-404 UXrobots.txtllms.txt — included with the explicit disclaimer that Google does not use it for AI ranking (source)alt enforcement (refuses empty / auto-filled / placeholder alt), color contrast, keyboard reachability, landmarks, heading hierarchy (single <h1>, no skipped levels), focus management, prefers-reduced-motion, axe-core CI gatefetchpriority; font preloadsrcset + sizes, explicit width/height (CLS prevention), lazy/eager policyServer / X-Powered-Bydocument.title and head tags must update on client-side route changesGoogle removed FAQ rich results on May 7, 2026 and is dropping the FAQ rich-result report and Rich Results Test support in June 2026. Search Console API support ends in August 2026. (source)
This skill does not emit FAQPage JSON-LD for new builds. Brand-authored FAQ content is rendered as plain accessible HTML. Real community Q&A pages use QAPage instead.
npx seo-pro-max install
Auto-detects platform, asks for confirmation, and copies the right file in. Use --target to install on a specific platform (claude, cursor, windsurf, cline, roo, copilot, aider, continue, zed, all).
macOS / Linux:
mkdir -p ~/.claude/skills/seo-pro-max
curl -L https://raw.githubusercontent.com/aycanozarpaci/seo-pro-max-skill/main/SKILL.md \
-o ~/.claude/skills/seo-pro-max/SKILL.md
Windows (PowerShell):
New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\skills\seo-pro-max" | Out-Null
Invoke-WebRequest `
-Uri "https://raw.githubusercontent.com/aycanozarpaci/seo-pro-max-skill/main/SKILL.md" `
-OutFile "$env:USERPROFILE\.claude\skills\seo-pro-max\SKILL.md"
mkdir -p .cursor/rules
curl -L https://raw.githubusercontent.com/aycanozarpaci/seo-pro-max-skill/main/platforms/cursor/seo-pro-max.mdc \
-o .cursor/rules/seo-pro-max.mdc
New-Item -ItemType Directory -Force ".cursor\rules" | Out-Null
Invoke-WebRequest `
-Uri "https://raw.githubusercontent.com/aycanozarpaci/seo-pro-max-skill/main/platforms/cursor/seo-pro-max.mdc" `
-OutFile ".cursor\rules\seo-pro-max.mdc"
curl -L https://raw.githubusercontent.com/aycanozarpaci/seo-pro-max-skill/main/platforms/windsurf/.windsurfrules \
-o .windsurfrules
Invoke-WebRequest `
-Uri "https://raw.githubusercontent.com/aycanozarpaci/seo-pro-max-skill/main/platforms/windsurf/.windsurfrules" `
-OutFile ".windsurfrules"
curl -L https://raw.githubusercontent.com/aycanozarpaci/seo-pro-max-skill/main/platforms/cline/.clinerules \
-o .clinerules
mkdir -p .github
curl -L https://raw.githubusercontent.com/aycanozarpaci/seo-pro-max-skill/main/platforms/copilot/.github/copilot-instructions.md \
-o .github/copilot-instructions.md
curl -L https://raw.githubusercontent.com/aycanozarpaci/seo-pro-max-skill/main/platforms/aider/CONVENTIONS.md \
-o CONVENTIONS.md
aider --read CONVENTIONS.md
Re-run the same install command. Files are overwritten with the latest main (or the version you pin in the URL).
# npx
npx seo-pro-max update
# Manual (Claude Code, macOS/Linux)
curl -L https://raw.githubusercontent.com/aycanozarpaci/seo-pro-max-skill/main/SKILL.md \
-o ~/.claude/skills/seo-pro-max/SKILL.md
Pin to a tagged release instead of main if you want reproducibility: replace main with v1.0.0 in any raw URL.
# npx
npx seo-pro-max uninstall --target cursor
# Manual
rm -rf ~/.claude/skills/seo-pro-max # Claude Code
rm .cursor/rules/seo-pro-max.mdc # Cursor
rm .windsurfrules # Windsurf
rm .clinerules # Cline
rm .github/copilot-instructions.md # Copilot (or remove the section if you have other rules in the file)
curl -I, real 404 probe, JSON-LD parse, sitemap fetch, alt-text audit, heading audit, Lighthouse CWV).Full protocol and all 23 surfaces: SKILL.md.
| Platform | File |
|---|---|
| Claude Code | platforms/claude-code/seo-pro-max/SKILL.md |
| Cursor | platforms/cursor/seo-pro-max.mdc |
| Windsurf | platforms/windsurf/.windsurfrules (short form) |
| Cline | platforms/cline/.clinerules |
| Roo Code | platforms/roo/.roo/rules/seo-pro-max.md |
| GitHub Copilot Chat | platforms/copilot/.github/copilot-instructions.md |
| Aider | platforms/aider/CONVENTIONS.md |
| Continue.dev | platforms/continue/config-snippet.json |
| Zed AI | platforms/zed/settings-snippet.json |
| Plain LLM / Custom GPT | platforms/plain-llm/system-prompt.md |
All platform files are auto-generated from SKILL.md by scripts/build-platforms.mjs. Edit SKILL.md only.
seo-pro-max | next-seo / @nuxtjs/seo / astro-seo / Spatie SEO | Lighthouse / Pa11y | Hand-rolled | |
|---|---|---|---|---|
| Asks before deciding | ✅ | ❌ library | ❌ auditor | depends |
| Multi-framework | ✅ | ❌ framework-specific | ✅ | depends |
| Multi-IDE (Claude / Cursor / …) | ✅ | n/a | n/a | n/a |
| Schema.org type recommendation | ✅ project-aware | ❌ | ❌ | ❌ |
| WCAG 2.2 AA enforcement | ✅ | ❌ | partial (audit) | ❌ |
| HTTP status / soft-404 detection | ✅ | ❌ | partial | depends |
| Tracks current Google deprecations (FAQPage, prev/next, sitemap ping) | ✅ | drifts | ✅ | drifts |
| Admin-panel UI scaffolding | ✅ | ❌ | ❌ | depends |
| Database schema decision | ✅ | ❌ | ❌ | depends |
This skill is not a replacement for next-seo / astro-seo / Spatie SEO — if any of them is already in your project, the skill detects and extends them rather than re-implementing. It's the workflow layer above the library.
Is this just a long prompt?
Yes, and intentionally so. The artifact is SKILL.md. The value is in (a) the executor-not-decider protocol that prevents the agent from silently picking opinionated defaults, and (b) the encoded current state of Google / Bing / Schema.org / WCAG policies as of 2026 (FAQPage deprecation, IndexNow boundaries, BCP 47 rules, soft-404 patterns, CWV thresholds). Treat it as a living spec, not a magic incantation.
Why is it so opinionated about things like keywords meta or FAQPage?
Because most SEO drift comes from agents and developers shipping patterns that used to work. Google quietly retires features (FAQPage May 2026, rel="prev/next" 2019, sitemap ping 2023); without an active opinion, AI agents recommend them for years afterward. The skill bakes in a refusal-list with sources so you can argue from facts in code review.
Will it conflict with next-seo / @nuxtjs/seo / astro-seo / Spatie SEO?
No. Phase 0 detects them. If present, the skill extends them (writes config / per-route metadata into the library's API) instead of hand-rolling tags. The skill also asks before installing any new dependency.
Does it actually write files, or just suggest? It writes — but only after Phase 3 prints the full plan and you confirm. Every write is reported as path + 1-line description. No silent file creation.
My site is Turkish. How does it handle ş, ğ, ı, ç in slugs?
Surface 19 makes you pick: A) ASCII-fold (şarküteri → sarkuteri), B) UTF-8 percent-encode, or C) ASCII-fold + 301 from Unicode form (recommended default). The skill never silently strips characters; you decide once and it enforces everywhere.
Does it optimize for Google AI Overviews / AI search?
No, because there is currently no public, verifiable lever for that. Google has explicitly stated that llms.txt is not used for AI surfaces (source). The skill includes llms.txt as an opt-in with that disclaimer printed verbatim. Strong fundamentals (semantic HTML, real schema, accurate metadata) are what AI Overviews actually surface — and the skill covers those.
Why is the skill in English when the author is Turkish? To reach a global user base on Claude Code / Cursor / Windsurf. The skill itself works on projects of any language and explicitly handles multilingual content rules (Surface 14). My personal docs (publishing notes, NPM publishing guide) are in Turkish and gitignored.
How do I add a new Surface or improve an existing one?
Edit SKILL.md, run node scripts/build-platforms.mjs, open a PR. See CONTRIBUTING.md.
npx seo-pro-max install — one-line installer with auto-detection (shipped in v1.0.0)QAPage) (v1.0.0)platforms/ (v1.0.0)SoftwareApplication + Offer + AggregateRating with real-data guard)Open an issue if you want to vote on or add to this list.
seo-pro-max-skill/
├── SKILL.md # Single source of truth
├── README.md
├── CONTRIBUTING.md
├── LICENSE
├── package.json # npm package metadata (name, bin, files)
├── .gitignore
├── .gitattributes # LF line endings for .mjs / shebang safety
├── .markdownlint-cli2.jsonc
├── bin/
│ └── seo-pro-max.js # CLI entry — `npx seo-pro-max <cmd>`
├── cli/
│ ├── install.mjs # install command
│ ├── update.mjs # update command
│ ├── uninstall.mjs # uninstall command
│ ├── doctor.mjs # diagnostic command
│ ├── detect-platform.mjs # auto-detection of IDE / agent
│ ├── targets.mjs # per-platform paths & metadata
│ ├── prompt.mjs # zero-dep interactive prompts
│ └── version.mjs # reads version from package.json
├── scripts/
│ └── build-platforms.mjs # Regenerates platforms/* from SKILL.md
├── examples/
│ ├── seo.config.md # Example output the skill writes after Phase 3
│ └── json-ld/ # Validated JSON-LD samples
├── platforms/ # Auto-generated, do not edit by hand
│ ├── claude-code/seo-pro-max/SKILL.md
│ ├── cursor/seo-pro-max.mdc
│ ├── windsurf/.windsurfrules
│ ├── cline/.clinerules
│ ├── roo/.roo/rules/seo-pro-max.md
│ ├── copilot/.github/copilot-instructions.md
│ ├── aider/CONVENTIONS.md
│ ├── continue/config-snippet.json
│ ├── zed/settings-snippet.json
│ └── plain-llm/system-prompt.md
└── .github/
└── workflows/
├── lint.yml # markdownlint + JSON parse + CLI smoke test (Linux/macOS/Windows × Node 18/20/22)
├── sync-platforms.yml # Rebuilds platforms/ on push to main
└── npm-publish.yml # Publishes to npm on tag push (OIDC + provenance)
See CONTRIBUTING.md. Short version: edit SKILL.md (the single source of truth), regenerate platform files with node scripts/build-platforms.mjs, open a PR. Framework corrections, Google / Bing policy updates, and new Schema.org types are especially welcome.
If seo-pro-max saved you time on a real project:
Can Özkan Özarpacı — LinkedIn
Feedback, bug reports, and feature suggestions are best sent via GitHub Issues. For collaboration or consulting inquiries, LinkedIn DMs are open.
MIT — see LICENSE.
FAQs
Production-grade SEO setup skill for Claude Code, Cursor, Windsurf, Cline, Roo Code, GitHub Copilot, Aider, Continue.dev, and Zed. Analyzes your project first, asks before writing, then implements exactly what you confirmed.
We found that seo-pro-max demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket now detects supply chain risks in project manifests, starting with missing lockfiles that can make dependency installs non-reproducible.

Research
/Security News
The trojanized extensions use TinyGo-compiled WebAssembly and Solana transaction memos to resolve command-and-control infrastructure.

Security News
Anthropic says the directive cited national security concerns over a narrow jailbreak, but offered no specific technical details.