Seo master
Complete SEO + GEO (Generative Engine Optimization) + AEO (Answer Engine Optimization) playbook for 2026. Covers traditional search ranking, how AI engines + coding agents (ChatGPT/Bing, Claude+Claude Code/Codex/OpenClaw/Brave, Gemini/Google, Perplexity) discover/rank/cite pages, framework-aware implementation (Next.js App Router Metadata API + React SPA prerender), structured data, technical SEO, titles/meta, content strategy, IndexNow, Google + Bing Search Console, competitor analysis, the 2026 I/O + core-update changes, and a prioritized checklist. Use when optimizing any website for search engines and AI answer engines, planning content/SEO strategy, adding structured data, fixing titles/meta, getting cited by AI chatbots/agents, or setting up Search Console.From its SKILL.md
npx -y skills add shihabshahrier/seo-master-skill --skill seo-masterAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
8.2 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it
SEO Master Skill (SEO + GEO + AEO, 2026)
Battle-tested playbook distilled from optimizing a real SaaS (letx.app, a collaborative LaTeX editor) against AI-native competitors. Everything here is applied knowledge, not theory.
The one-paragraph mental model
In 2026 there are two audiences: classic search crawlers (Google, Bing) and AI answer engines (ChatGPT, Claude, Gemini, Perplexity, Copilot). They overlap but differ. SEO ranks you in a list of links. GEO/AEO gets you cited inside an AI's generated answer. A solid SEO foundation is required for both; AEO/GEO adds: answer-first writing, dense structured data (especially FAQPage), fact density, freshness, and being present where each AI grounds its search. Critically — each AI uses a different search index, so "getting indexed" is not one task but several.
How to use this skill
- Detect the stack first (
package.json→ Next.js App/Pages Router, React SPA, Astro, Remix…). Implementation differs by render model. Seereferences/framework-seo.md. - Read
references/ai-engines-and-indexes.md— determines where to optimize. Wrong index = invisible to that AI. (Coding agents like Claude Code / Codex / OpenClaw / Hermes mostly ground on Brave.) - Skim
references/whats-new-2026.mdfor the I/O 2026 + May core-update context (AI Mode on Gemini 3.5 Flash; "AEO/GEO is still SEO"; llms.txt is optional). - Run the audit in
references/implementation-checklist.mdagainst the site. - Fix in priority order: indexing reach → structured data → answer-first content → titles/meta → content moat.
- Use
references/search-console-setup.mdfor Google + Bing + IndexNow, andreferences/structured-data.md/references/content-and-aeo.mdas copy/paste references while implementing.
Reference files (read as needed)
| File | What's in it |
|---|---|
references/ai-engines-and-indexes.md | Which index each AI + coding agent uses (Brave/Bing/Google), how each cites, per-engine tactics |
references/framework-seo.md | Detect the stack; Next.js App Router Metadata API (metadata/generateMetadata, sitemap/robots/OG conventions, render modes) + Pages Router + React SPA |
references/whats-new-2026.md | Google I/O 2026, May 2026 core update, "AEO/GEO still SEO", llms.txt contested, AI-Mode query shift |
references/structured-data.md | Every schema type with ready JSON-LD: FAQPage, HowTo, Course, SoftwareApplication, Article, Breadcrumb, ItemList, Product. Policy rules (fake ratings). |
references/titles-and-meta.md | Title formula, the brand-suffix decision, meta description, OG/Twitter, canonical |
references/content-and-aeo.md | Answer-first writing, fact density, FAQ pattern, content hubs, the "problems/errors" play, courses |
references/technical-seo.md | Prerendering SPAs, sitemap, robots.txt + Content-Signals, llms.txt, code-splitting, Core Web Vitals, canonical/redirects |
references/search-console-setup.md | Google Search Console, Bing Webmaster Tools + AI Performance, IndexNow (Cloudflare + script), submission steps |
references/competitor-and-positioning.md | How to research competitors, find the open lane, off-site listicle strategy |
references/implementation-checklist.md | Prioritized, copy-paste audit + execution checklist |
references/gsc-diagnostics-and-recovery.md | Diagnose a site FROM Search Console data: brand/non-brand segmentation, striking-distance vs page-2 cohorts, slash-pair detection, the prerendered-SPA canonical trap + fix recipe, CTR surgery that still works in 2026, CLS quick wins, verification curl checks |
Hard rules (learned the hard way)
- Never fabricate
aggregateRating/reviews in schema. Google structured-data policy violation → manual action. Only use rating schema backed by visible, real on-page reviews. UsefeatureList/ plain claims instead. - Never copy a competitor's stat. ("20M users" belonged to Overleaf, not us — caught and removed.) Every claim must be true and yours.
- Title ≤ 60 chars or Google truncates. Long brand descriptors don't fit on
content pages — use a short
| Brandsuffix there. - FAQ schema requires the FAQ to be visible on the page. Schema-only FAQ = policy risk. Always render the questions AND emit JSON-LD.
- Code-split heavy content (course data, KaTeX, etc.) so the main JS bundle every visitor downloads stays small. Prerendered HTML keeps full content for SEO regardless.
- IndexNow does NOT notify Google — only Bing/Yandex/DuckDuckGo/etc. Google uses its own crawl + Search Console.
- Detect the framework before implementing. Next.js App Router uses the
Metadata API (
metadata/generateMetadata) — not helmet, not prerender. Only hand-rolled React SPAs need the Puppeteer prerender. Wrong tool = wasted work. - Don't over-optimize for AI citations. The May 2026 core update appears to demote shallow answer-bait. Depth + real E-E-A-T + genuine fact density win; thin Q&A spam is now a risk, not a hack.
- llms.txt is optional, low priority — Google says it "isn't needed for AI Search." Add it only if cheap; never before content/schema/indexing.
- Exactly ONE canonical per page, verified with curl on the deployed site. Prerendered SPAs bake the static index.html canonical into every page and helmet adds a second — both wrong. The crawler reads baked HTML, not your DevTools. (Found live on a 500-user product; suppressed the whole site.)
- Trailing slash: standardize on whatever the HOST redirects to (Cloudflare Pages 308s to slash). Canonicals, sitemap, og:url, and internal hrefs must all use that one form, or GSC splits impressions across slash pairs.
- Segment GSC before concluding anything. Blended CTR/position lie: split brand vs non-brand, pos 4–15 (snippet problem) vs pos >15 (content-depth problem). New-content launches drop blended metrics mechanically — mix shift, not a penalty.
- FAQ rich results no longer show for normal sites (gov/health only since 2023). Keep FAQPage for AI citation; for SERP CTR use title/meta rewrites and ItemList-with-images on collection pages instead.
- Don't merge "duplicates" reflexively. Two pages at pos 5–6 for one query = double SERP presence (keep + differentiate); and near-identical slugs may be genuinely different products — verify content before 301ing.
The priority order (highest ROI first)
- Indexing reach — be in Google, Bing, and Brave indexes; wire IndexNow. (Feeds ChatGPT via Bing, Claude via Brave.)
- Structured data — FAQPage on every page that can carry it (~3.2× AI Overview citation). Plus SoftwareApplication/Product/Article/HowTo.
- Answer-first content — direct answer in first 40–60 words; 134–167-word self-contained passages.
- Titles/meta — consistent, keyword-first, ≤60 chars.
- Content moat — guides/tutorials/error-fix hub targeting the long-tail the competitor monetizes.
- Off-site — get listed in the "alternatives" listicles AI engines cite.
What ships with it: 12 files
69.6 KB alongside SKILL.md
references/
- ai-engines-and-indexes.md6.3 KB
- competitor-and-positioning.md4.1 KB
- content-and-aeo.md5.2 KB
- entity-and-personal-seo.md5.1 KB
- framework-seo.md7.7 KB
- gsc-diagnostics-and-recovery.md9.9 KB
- implementation-checklist.md4.4 KB
- search-console-setup.md4.5 KB
- structured-data.md6.5 KB
- technical-seo.md5.6 KB
- titles-and-meta.md3.6 KB
- whats-new-2026.md6.8 KB
Gives 0 of the 12 instructions most marketing audience skills give in ~1.8k tokens
Counted across 690 of the 894 authors here whose files we hold, read 2026-08-07
- Apply Poppins font to headingsin 41 of 690, across 6 files
- Apply Lora font to body textin 41 of 690, across 6 files
- Use Arial fallback for headingsin 39 of 690, across 4 files
- Use Georgia fallback for body textin 39 of 690, across 4 files
- Maintain text hierarchy and formattingin 39 of 690, across 4 files
- Use accent colors for non-text shapesin 38 of 690, across 3 files
- Use RGB values for precise color matchingin 38 of 690, across 3 files
- Use brand colors for primary text and backgroundsin 36 of 690, across 1 file
- Read product marketing context file before asking questions, starting, or auditingin 35 of 690, across 23 files
- Use active voice instead of passive voicein 26 of 690, across 10 files
- Implement or generate appropriate JSON-LD structured datain 24 of 690, across 17 files
- Prioritize clarity over clevernessin 22 of 690, across 8 files
Said here and by no other author read
- detect the framework before implementing seo
- fix indexing reach before other optimizations
- add visible FAQ content alongside FAQ schema
- segment search console data by brand and position
- build content moats targeting competitor long-tail keywords
- get listed in off-site listicles
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.