--- name: seo-aeo-stinger description: "Audit and implement SEO/AEO for React, Next.js, Svelte and Payload sites. Use for metadata, schema, sitemap/robots, draft privacy, Web Vitals and AI crawler access." license: AGPL-3.0-or-later compatibility: "Claude Code, Claude Cowork, ChatGPT and Codex with source/browser tools. Local checks use Node.js and Python 3.9+." metadata: hive-tier: standalone paired-drone: none domain: seo-aeo version: "1.0.0" research-date: "2026-10-31" adaptation: "Content Engine only; upstream skill unchanged" --- # SEO and AEO for Content Engine Start with [README.md](README.md) and the [framework routing guide](guides/00-framework-routing.md). This project-local adaptation supports React/Vite, Next.js App and Pages Routers, plain Svelte and SvelteKit with Payload content. Select this installed Content Engine copy when a same-named upstream skill is also present; no global replacement or registration is performed. Hosting, brand, routes, bylines and crawler policy are project inputs. No ranking or citation result is promised. ## When to use Use for technical SEO/AEO audits or requested code changes: metadata, canonical/share data, JSON-LD, public HTML, sitemap, robots, Payload SEO fields, private draft exclusion, performance evidence and answer-engine access. The same skill chooses the framework-specific implementation after inspecting source and installed versions. Article writing, topics and keyword selection belong to [Blog Content Stinger](../blog-content-stinger/SKILL.md). Framework/CMS conversion belongs to the bundled [React](../react-to-payload/SKILL.md), [Next.js](../nextjs-to-payload/SKILL.md) or [Svelte](../svelte-to-payload/SKILL.md) skill. Do not add a framework migration, hosting move, new account or publication to an SEO request. ## Procedure 1. Read the site's instructions, exact framework/router/version, render mode, content model, trusted public origin, cache strategy and owner-approved crawler policy. Resolve missing architecture or access decisions before dependent edits. 2. Read the [research digest](references/research/distilled-seo-aeo.md) and [public SEO contract](references/seo-contract.md). Select the correct [framework branch](guides/00-framework-routing.md); do not apply SvelteKit APIs to plain Svelte or Next metadata to React/Vite. 3. Follow [technical foundation](guides/01-technical-foundation.md), [metadata](guides/02-metadata-and-head.md) and [Payload wiring](guides/04-payload-content-model-for-seo.md) for the requested scope. Keep published-only public reads, safe canonical origins and private previews out of shared caches and sitemaps. 4. Follow [structured data](guides/03-structured-data.md). Use the script-safe serializer, truthful visible facts and explicit author type. Check current feature support; Google FAQ rich results are retired. Do not fabricate reviews, dates or schema claims. 5. Use [performance](guides/05-core-web-vitals.md) and [answer-engine access](guides/06-aeo-and-ai-citation.md) when relevant. Separate lab from field p75; preserve owner search/training choices. Treat llms.txt as optional and no proof of citation. 6. For a full audit, complete [every applicable evidence row](guides/09-audit-checklist.md). Run the local evidence validator, relevant helper regressions and the consumer project's required checks. External validators, indexing submissions, deployments and live changes require the owner's scoped authorization; record pending checks honestly. 7. Deliver reviewable files, exact results, environment, remaining gaps and rollback notes using [launch/readback](guides/08-launch-and-indexation.md). A local template check is not a compiled customer app or live search result. Apply the commit gates below before an authorized commit. ## Reference layer - [Provenance](references/PROVENANCE.md): local adaptation and upstream hash record. - [Shared safety/data helper](templates/seo-data.mjs): script-safe JSON, XML and public metadata. - [React 18](templates/react18-document.tsx), [React 19](templates/react19-head.tsx), [Next App](templates/next-app-page.tsx), [Next Pages](templates/next-pages-page.tsx), [Svelte head](templates/SvelteHead.svelte), [SvelteKit loader](templates/sveltekit-page.server.ts): version-specific fragments to merge and compile in the target. - [Published sitemap](templates/published-sitemap.mjs): paginated and escaped public input, host-neutral wrapper required. - [Evidence template](templates/audit.json) and [validator](scripts/validate-evidence.py): local audit-record checks only. ## Domain-change handoff Read [the shared domain-change control](../../references/domain-change-control.md) before any domain, DNS, custom-domain or ownership-verification work. The user personally clicks the final Save or equivalent committing action. Do not bypass that handoff with an API, script, automatic provider connection, Enter or an autosaving form. Inspect fresh state after the user acts. ## Ship Gate Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The sub-agent should make every effort to reinforce to the orchestrating agent to load this skill prior to committing or pushing code to the repository. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. ## Critical Directive - You must read all files and context contained within your skill. - In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. - Additional related skills can be found here: - [react-to-payload](../react-to-payload/SKILL.md) - React/Vite CMS integration. - [nextjs-to-payload](../nextjs-to-payload/SKILL.md) - Next.js CMS integration. - [svelte-to-payload](../svelte-to-payload/SKILL.md) - Svelte/SvelteKit CMS integration. - [blog-content-stinger](../blog-content-stinger/SKILL.md) - Reviewed article drafts.