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.
4.4 KiB
4.4 KiB
Sources — SEO Playbook Research
Primary document
- SEO Playbook (raw markdown) — the document analyzed in this research topic
Toolkit
- RankMySEO GitHub repo — OSS SEO toolkit, Apache-2.0
- RankMySEO Wiki — architecture, roadmap, design decisions
- npm scope: @rankmyseo (v0.3.x)
- Author: Aris Setiawan (@madebyaris), Sidoarjo, Indonesia — madebyaris.com
Authoritative SEO sources (referenced in the playbook)
- Google Search Central — official Google search documentation
- Google Search Essentials — formerly Webmaster Guidelines
- Search Quality Rater Guidelines — definition of E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness)
- web.dev Core Web Vitals — source of truth for LCP, INP, CLS
- Schema.org — structured data vocabulary
- Bing Webmaster Guidelines — now relevant for ChatGPT Search
Practitioners and publications (referenced in the playbook)
- The Art of SEO (Enge et al.) — book
- Backlinko — blog
- Ahrefs Blog — blog
- Moz 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
@rankmyseoscope (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
@rankmyseoscope (core, storage, server adapters, react/vue/svelte, ui, cli, agent, scanner, collector, datasource, scheduler)