Add seo-playbook research topic
Fetched and analyzed SEO playbook from madebyaris/rankmyseo repo. Covers on-page parameters, off-page signals, Core Web Vitals (2026), and GEO/AEO for AI answer engines. Includes sources.md with full reference list, audit check ID mapping, and toolkit overview.
This commit is contained in:
parent
681d926797
commit
474316a453
2 changed files with 162 additions and 0 deletions
72
seo-playbook/index.md
Normal file
72
seo-playbook/index.md
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
---
|
||||
title: SEO Playbook — On-Page, Off-Page, and GEO/AEO Ranking Factors
|
||||
description: Comprehensive SEO reference covering on-page parameters, off-page signals, Core Web Vitals, and GEO/AEO for AI answer engines. Source: madebyaris/rankmyseo OSS toolkit.
|
||||
status: active
|
||||
category: technical
|
||||
tags: [seo, web-vitals, geo, aeo, structured-data, content-strategy, rankmyseo]
|
||||
draft: true
|
||||
created: 2026-07-29
|
||||
updated: 2026-07-29
|
||||
origin: buzz://d8a718be-031f-4a6e-9f5c-a55466641654/efbe934206e056b0ada5fc080f0d64947c32d42999d08ded8e69a19b78969161
|
||||
---
|
||||
|
||||
# SEO Playbook — On-Page, Off-Page, and GEO/AEO
|
||||
|
||||
## Summary
|
||||
|
||||
A practitioner reference for what makes a site rank, covering on-page SEO parameters, off-page authority signals, Core Web Vitals thresholds, and the emerging frontier of GEO/AEO (being cited by AI answer engines). Sourced from the RankMySEO open-source toolkit by Aris Setiawan (@madebyaris), an Indonesian developer from Sidoarjo.
|
||||
|
||||
## Research Question
|
||||
|
||||
What are the concrete, measurable SEO parameters that affect search ranking, and how do they map to an audit tool?
|
||||
|
||||
## Scope
|
||||
|
||||
- On-page SEO: metadata, content quality, HTML structure, media
|
||||
- Off-page SEO: backlinks, brand signals, local SEO, digital PR
|
||||
- Core Web Vitals: LCP, INP, CLS thresholds (2026)
|
||||
- GEO/AEO: optimization for AI Overviews, ChatGPT Search, Perplexity
|
||||
- Not covered: PPC/paid search, social media marketing, content writing tips
|
||||
|
||||
## Key Findings
|
||||
|
||||
- **SEO has five pillars**: Technical SEO (foundation), On-Page (content & HTML), Off-Page (authority & trust), UX/Core Web Vitals, and GEO/AEO (AI answer engines)
|
||||
- **On-page audit parameters are concrete**: title length (50-60 chars), meta description (70-160 chars), single H1, heading structure, Open Graph tags, JSON-LD structured data, image alt text, content depth (≥250 words), html lang, mobile viewport, HTTPS, indexability
|
||||
- **Core Web Vitals (2026)**: LCP < 2.5s, INP < 200ms (replaced FID in March 2024), CLS < 0.1
|
||||
- **Off-page is out of scope for the OSS audit engine** (no backlink crawling in v1) but documented as practitioner reference
|
||||
- **GEO/AEO is the 2026 frontier**: being the cited source inside AI Overviews, ChatGPT Search, Perplexity, Gemini — the same fundamentals (clear, factual, well-structured, trustworthy content) win here
|
||||
- **Meta-principle**: Google rewards demonstrable expertise, trust, and genuinely good UX — not tricks
|
||||
- **RankMySEO maps each parameter to a check ID** (e.g. `title-length`, `meta-description`, `cwv-lcp`) enabling automated regression testing
|
||||
|
||||
## Sources
|
||||
|
||||
- [SEO Playbook (raw markdown)](https://raw.githubusercontent.com/madebyaris/rankmyseo/refs/heads/main/docs/seo-playbook.md) — the primary document analyzed
|
||||
- [RankMySEO GitHub repo](https://github.com/madebyaris/rankmyseo) — OSS toolkit, Apache-2.0, npm `@rankmyseo` scope, 5 stars
|
||||
- [Google Search Central](https://developers.google.com/search/docs) + Search Quality Rater Guidelines (E-E-A-T definition)
|
||||
- [web.dev](https://web.dev/vitals/) — Core Web Vitals source of truth
|
||||
- [Schema.org](https://schema.org/) — structured data vocabulary
|
||||
- Author: Aris Setiawan (@madebyaris), Sidoarjo, Indonesia — [madebyaris.com](https://madebyaris.com)
|
||||
|
||||
## Detail Files
|
||||
|
||||
- [[seo-playbook/sources|Sources]] — full reference list with links
|
||||
|
||||
## Related Research
|
||||
|
||||
- (none yet)
|
||||
|
||||
## Discussion
|
||||
|
||||
User asked to fetch and research the SEO playbook from the RankMySEO repo. The document is the knowledge base behind the on-page checks in the RankMySEO audit engine. It covers both on-page and off-page SEO comprehensively, with mermaid diagrams and parameter tables that map directly to check IDs in the codebase.
|
||||
|
||||
Origin thread: buzz://d8a718be-031f-4a6e-9f5c-a55466641654/efbe934206e056b0ada5fc080f0d64947c32d42999d08ded8e69a19b78969161
|
||||
|
||||
## Next Steps
|
||||
|
||||
- [ ] Evaluate RankMySEO as a tool for our own projects (job aggregator, law retrieval, research site)
|
||||
- [ ] Apply SEO parameters to research.rasyidanaf.com when publishing via Quartz
|
||||
- [ ] Investigate GEO/AEO optimization for being cited in AI answer engines
|
||||
|
||||
## Conclusion
|
||||
|
||||
The SEO playbook is a solid practitioner reference covering the full spectrum of ranking factors. The RankMySEO toolkit itself is a mature OSS project (M0-M5 implemented, 20+ packages, multi-framework support) that could be useful for SEO auditing of our own sites. The GEO/AEO section is particularly relevant as AI search engines become more prominent.
|
||||
90
seo-playbook/sources.md
Normal file
90
seo-playbook/sources.md
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
# Sources — SEO Playbook Research
|
||||
|
||||
## Primary document
|
||||
|
||||
- [SEO Playbook (raw markdown)](https://raw.githubusercontent.com/madebyaris/rankmyseo/refs/heads/main/docs/seo-playbook.md) — the document analyzed in this research topic
|
||||
|
||||
## Toolkit
|
||||
|
||||
- [RankMySEO GitHub repo](https://github.com/madebyaris/rankmyseo) — OSS SEO toolkit, Apache-2.0
|
||||
- [RankMySEO Wiki](https://github.com/madebyaris/rankmyseo/wiki) — architecture, roadmap, design decisions
|
||||
- npm scope: [@rankmyseo](https://www.npmjs.com/org/rankmyseo) (v0.3.x)
|
||||
- Author: Aris Setiawan (@madebyaris), Sidoarjo, Indonesia — [madebyaris.com](https://madebyaris.com)
|
||||
|
||||
## Authoritative SEO sources (referenced in the playbook)
|
||||
|
||||
- [Google Search Central](https://developers.google.com/search/docs) — official Google search documentation
|
||||
- [Google Search Essentials](https://developers.google.com/search/docs/essentials) — formerly Webmaster Guidelines
|
||||
- [Search Quality Rater Guidelines](https://developers.google.com/search/blog/2024/11/rater-guidelines-update) — definition of E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness)
|
||||
- [web.dev Core Web Vitals](https://web.dev/vitals/) — source of truth for LCP, INP, CLS
|
||||
- [Schema.org](https://schema.org/) — structured data vocabulary
|
||||
- [Bing Webmaster Guidelines](https://www.bing.com/webmasters/help/webmaster-guidelines-30fba232) — now relevant for ChatGPT Search
|
||||
|
||||
## Practitioners and publications (referenced in the playbook)
|
||||
|
||||
- *The Art of SEO* (Enge et al.) — book
|
||||
- [Backlinko](https://backlinko.com/) — blog
|
||||
- [Ahrefs Blog](https://ahrefs.com/blog/) — blog
|
||||
- [Moz Blog](https://moz.com/blog) — blog
|
||||
- Aleyda Solís — international SEO consultant
|
||||
- Lily Ray — E-E-A-T and algorithm update analysis
|
||||
- Marie Haynes — algorithm updates and quality rater perspectives
|
||||
|
||||
## RankMySEO on-page audit checks (parameter → check ID)
|
||||
|
||||
| Parameter | Target | Check ID |
|
||||
|-----------|--------|----------|
|
||||
| Title length | 50-60 chars, keyword front | `title-length` |
|
||||
| Meta description | 70-160 chars | `meta-description` |
|
||||
| Canonical URL | self-referencing / preferred URL | `canonical` |
|
||||
| Single H1 | exactly one | `single-h1` |
|
||||
| Subheading structure | ≥1 H2 | `heading-structure` |
|
||||
| Open Graph | og:title/description/image | `og-tags` |
|
||||
| Structured data | valid JSON-LD | `json-ld` |
|
||||
| Image alt text | every meaningful image | `image-alt` |
|
||||
| Content depth | not thin (≥ ~250 words) | `content-depth` |
|
||||
| HTML lang | declared | `lang-attribute` |
|
||||
| Mobile viewport | `<meta name=viewport>` | `viewport-meta` |
|
||||
| Indexable | no `noindex` | `robots-indexable` |
|
||||
| HTTPS | served over TLS | `https` |
|
||||
| LCP | < 2.5s | `cwv-lcp` |
|
||||
| INP | < 200ms | `cwv-inp` |
|
||||
| CLS | < 0.1 | `cwv-cls` |
|
||||
|
||||
## Core Web Vitals thresholds (2026)
|
||||
|
||||
| Metric | Good | Measures |
|
||||
|--------|------|----------|
|
||||
| LCP | < 2.5s | loading |
|
||||
| INP | < 200ms | responsiveness (replaced FID, March 2024) |
|
||||
| CLS | < 0.1 | visual stability |
|
||||
|
||||
## Off-page parameters (practitioner reference, not in OSS v1)
|
||||
|
||||
| Parameter | What good looks like |
|
||||
|-----------|---------------------|
|
||||
| Referring domains | steady growth of unique, relevant domains |
|
||||
| Link quality | high-authority, topically relevant sources |
|
||||
| Anchor text profile | mostly branded/natural; small exact-match % |
|
||||
| dofollow/nofollow mix | natural blend |
|
||||
| Link velocity | organic pace, no spikes |
|
||||
| Toxic links | monitored; disavow only clear spam |
|
||||
| Branded search | rising brand queries |
|
||||
| Brand mentions | linked + unlinked |
|
||||
| Google Business Profile | complete, verified, active |
|
||||
| Reviews | volume + rating + recency + responses |
|
||||
| NAP consistency | identical across citations |
|
||||
| Digital PR | earned coverage in authoritative media |
|
||||
|
||||
## RankMySEO toolkit overview
|
||||
|
||||
- **License**: Apache-2.0
|
||||
- **Status**: M0-M5 implemented, published on npm under `@rankmyseo` scope (v0.3.x)
|
||||
- **Stars**: 5 (as of 2026-07-29)
|
||||
- **Commits**: 24
|
||||
- **Created**: 2026-06-24
|
||||
- **Architecture**: Monorepo (pnpm + Turborepo), headless core + framework adapters
|
||||
- **Supports**: Node.js ≥ 20, Hono/Express/Next/Nitro/SvelteKit/Astro, SQLite + Postgres (Drizzle/Prisma/Kysely)
|
||||
- **Multi-tenant**: every row scoped by `tenantId` + `projectId`
|
||||
- **AI layer**: AI SDK tools + MCP server for dashboard customization (approval-gated)
|
||||
- **20+ packages** under `@rankmyseo` scope (core, storage, server adapters, react/vue/svelte, ui, cli, agent, scanner, collector, datasource, scheduler)
|
||||
Loading…
Add table
Add a link
Reference in a new issue