--- name: seo description: "Run a broad SEO audit across technical SEO, on-page SEO, schema, sitemaps, content quality, AI search readiness, and GEO / Audit SEO menyeluruh (Technical, On-Page, Schema, Sitemap, E-E-A-T, GEO)" author: "Roedy Rustam" version: "4.4.2" --- # SEO Expert (2026 — AI Mode & Core Web Vitals Edition) [English](#english) | [Bahasa Indonesia](#bahasa-indonesia) --- ## English ### Orchestration & Integration - **Upstream Orchestrators**: Works under `brainstorming` and `zero-to-prod-orchestrator` (Phase 6 - SEO, Discovery & Launch Optimization) to maximize organic discovery and AI search citations. - **Downstream Cooperating Skills**: - `performance-web-vitals` — Ensure Core Web Vitals (LCP, INP, CLS) comply with search ranking criteria. - `senior-frontend` — Implement semantic HTML5 hierarchy, JSON-LD structured data, and metadata APIs. - `nextjs-app-router-expert` — Generate dynamic `sitemap.ts`, `robots.ts`, and Open Graph tags. - `app-promo-media-expert` — Generate high-converting `og:image` social preview banners. - `session-memory-manager` — Store target keyword maps, SEO audit findings, and `/llms.txt` configurations. ### Description Comprehensive SEO audit covering technical SEO, on-page optimization, structured data, sitemaps, Core Web Vitals, E-E-A-T signals, and **Generative Engine Optimization (GEO)** for AI-powered search (Google AI Mode, ChatGPT Search, Perplexity). ### Trigger Conditions - Running a full SEO audit on an existing web application. - Optimizing technical SEO for a new Next.js / Astro site. - Adding structured data (JSON-LD) for rich results and AI citation. - Optimizing Core Web Vitals (LCP, INP, CLS). - Preparing a site for Google AI Mode and ChatGPT Search indexing. - Setting up a sitemap and `robots.txt`. ### 2026 SEO Landscape Changes | 2024 (Old) | 2026 (Current) | |---|---| | AI Overviews (SGE) | **Google AI Mode** — integrated AI answers | | FID metric (deprecated) | **INP** (Interaction to Next Paint) | | Keyword density focus | **Topical authority + E-E-A-T** | | Backlinks only | **Citations in AI responses** | | `robots.txt` only | `robots.txt` + **`/llms.txt`** | ### Technical SEO Checklist #### Core Web Vitals (2026 Targets) ``` LCP (Largest Contentful Paint) < 2.5s INP (Interaction to Next Paint) < 200ms ← replaced FID CLS (Cumulative Layout Shift) < 0.1 TTFB (Time to First Byte) < 600ms ``` **INP Optimization** (the new critical metric): ```typescript // INP is degraded by long tasks blocking the main thread // Solution: Use React's useTransition to defer non-critical updates import { useTransition } from 'react'; function SearchInput() { const [isPending, startTransition] = useTransition(); const handleChange = (e: React.ChangeEvent) => { startTransition(() => { // Defer the expensive filtering to not block INP setFilteredResults(filterData(e.target.value)); }); }; return ; } ``` #### Crawlability & Indexing ```typescript // Next.js 15 — metadata API for complete SEO // app/layout.tsx export const metadata: Metadata = { metadataBase: new URL('https://myapp.com'), title: { default: 'My SaaS — One-line value proposition', template: '%s | My SaaS', }, description: '150 characters max. Include primary keyword naturally.', openGraph: { type: 'website', url: 'https://myapp.com', siteName: 'My SaaS', images: [{ url: '/og.png', width: 1200, height: 630 }], }, twitter: { card: 'summary_large_image', creator: '@handle' }, robots: { index: true, follow: true }, alternates: { canonical: 'https://myapp.com' }, }; ``` ```typescript // Dynamic sitemap.ts (Next.js App Router) // app/sitemap.ts import { MetadataRoute } from 'next'; export default async function sitemap(): Promise { const posts = await getBlogPosts(); return [ { url: 'https://myapp.com', lastModified: new Date(), changeFrequency: 'weekly', priority: 1 }, { url: 'https://myapp.com/features', lastModified: new Date(), changeFrequency: 'monthly', priority: 0.8 }, ...posts.map(p => ({ url: `https://myapp.com/blog/${p.slug}`, lastModified: new Date(p.updatedAt), changeFrequency: 'monthly' as const, priority: 0.6, })), ]; } ``` ### Structured Data (JSON-LD) for AI Citation ```html ``` ### GEO — Google AI Mode Optimization Google AI Mode (formerly AI Overviews) now powers the top of search results: - **Be the source**: Write comprehensive, authoritative content on your core topics. - **Q&A format**: Structure content as questions and answers — AI Mode quotes these directly. - **AEO Extraction Sentence**: Write one 25–40 word sentence that answers "What is [product]?" immediately after the H1. This is the sentence AI engines extract. - **Factual and specific**: Include statistics, named entities, and dates. - **Speed**: AI Mode favors fast-loading pages (TTFB < 600ms). #### The 2026 AI Search Landscape | AI Engine | Source | Citable Content | Key Signal | |---|---|---|---| | **Google AI Mode** | Google index + Gemini | Yes — with source links | E-E-A-T, structured data | | **ChatGPT Search** | Bing index + GPT-5.6 Sol | Yes — with citations | Bing ranking, freshness | | **Perplexity** | Real-time web crawl | Yes — prominent citations | Authority, specificity | #### `/llms.txt` — AI Indexing Protocol Add an `/llms.txt` file at your domain root: ``` # /llms.txt # AI-friendly site map for LLM indexers ## Product - [Features](/features): Complete feature list with pricing ## Content - [Blog](/blog): Technical articles ``` #### Landing Page SEO/AEO Narrative Arc Follow this exact order for landing pages: 1. Hero — H1 + AEO sentence + CTA 2. Problem — Audience pain, no product mention yet 3. Solution — Introduce product as the answer 4. Features as Benefits — Table format 5. Social Proof & FAQ (under 50 words each) ### On-Page SEO Standards ``` H1: One per page — primary keyword, compelling, < 60 chars H2: Section headers — secondary keywords H3: Sub-sections — long-tail keywords, FAQ answers Meta Title: < 60 chars — keyword + brand Meta Description: < 155 chars — keyword + CTA + benefit URL: lowercase, hyphens, keyword-in-slug, < 5 segments Images: Descriptive alt text, WebP format, lazy loading Internal links: 3-5 per long-form page to related content ``` ### Sovereign Execution, Token Efficiency & Invariants | Dimension | Sovereign Mandate & Deterministic Contract | | :--- | :--- | | **Frontier Model Cascade** | Medium / High (`GPT-5.6 Sol Medium`, `Gemini 4 Argon`, `Claude Sonnet 5.5 High`, `Grok 4.7 High Fast`) | | **Availability Fallback** | `Gemini 4 Argon/Pro` -> `Gemini 3.8 Flash`; `Claude Opus 5.5` -> `Claude Opus 4.6` (Zero unhandled missing-model errors) | | **KV-Cache & Token Protocol** | Pin static instructions & schemas at prompt prefix (`kv-cache-prefix-optimizer`); pass surgical `CONTEXT_MAP.md` slices (<250 tokens/call) during Swarm Fan-Out | | **SaaT CLI & MCP Dispatch** | CLI: `vibes skill exec seo ` / MCP: `vibes_skill_dispatch`, `vibes_ast_query`, `vibes_compile_cache`, `vibes_optimize_budget`, `vibes_verify_gate` | | **NFR & Anti-Slop Invariants** | P99 API Gateway Latency < 85ms, OpenAPI 3.1 / TypeSpec strict schema parity, RFC 9457 Problem Details error contracts, Idempotency-Key enforcement; 100% complete zero-placeholder output verified via `node scripts/check-anti-slop.js --strict` | --- --- ## Bahasa Indonesia ### Integrasi Orkestrasi - **Orkestrator Hulu**: Beroperasi di bawah arahan `brainstorming` dan `zero-to-prod-orchestrator` (Fase 6 - SEO, Discovery & Optimasi Peluncuran) untuk memaksimalkan pencarian organik dan sitasi AI search. - **Skill Hilir & Kerja Sama**: - `performance-web-vitals` — Menjamin Core Web Vitals (LCP, INP, CLS) memenuhi kriteria ranking mesin pencari. - `senior-frontend` — Menerapkan hierarki HTML5 semantik, data terstruktur JSON-LD, dan Metadata API. - `nextjs-app-router-expert` — Pembuatan dinamis `sitemap.ts`, `robots.ts`, dan tag Open Graph. - `app-promo-media-expert` — Menghasilkan banner preview media sosial `og:image` berkonversi tinggi. - `session-memory-manager` — Menyimpan peta kata kunci target, temuan audit SEO, dan konfigurasi `/llms.txt`. ### Deskripsi Audit SEO komprehensif mencakup SEO teknikal, optimasi on-page, data terstruktur, sitemap, Core Web Vitals, sinyal E-E-A-T, dan **Generative Engine Optimization (GEO)** untuk pencarian bertenaga AI (Google AI Mode, ChatGPT Search, Perplexity). ### Kondisi Pemicu - Menjalankan audit SEO penuh pada aplikasi web yang ada. - Mengoptimalkan SEO teknikal untuk situs Next.js / Astro baru. - Menambahkan data terstruktur (JSON-LD) untuk rich result dan kutipan AI. - Mengoptimalkan Core Web Vitals (LCP, INP, CLS). - Mempersiapkan situs untuk indexing Google AI Mode dan ChatGPT Search. ### Perubahan Lanskap SEO 2026 | 2024 (Lama) | 2026 (Sekarang) | |---|---| | AI Overviews (SGE) | **Google AI Mode** — jawaban AI terintegrasi | | Metrik FID (dihentikan) | **INP** (Interaction to Next Paint) | | Fokus kepadatan keyword | **Otoritas topikal + E-E-A-T** | | Hanya backlink | **Kutipan dalam respons AI** | | Hanya `robots.txt` | `robots.txt` + **`/llms.txt`** | ### Checklist SEO Teknikal #### Core Web Vitals (Target 2026) - LCP < 2.5 detik - **INP < 200ms** ← menggantikan FID - CLS < 0.1 - TTFB < 600ms **Optimasi INP**: Metrik kritis baru yang mengukur responsivitas interaksi. Gunakan `useTransition` React untuk menunda pembaruan non-kritis agar tidak memblokir thread utama. #### Crawlability & Indexing Gunakan Metadata API Next.js 15 untuk SEO lengkap: `title`, `description`, `openGraph`, `twitter`, `robots`, `alternates.canonical`. Buat sitemap dinamis dengan `app/sitemap.ts` yang menyertakan semua halaman statis dan konten dinamis. ### Data Terstruktur (JSON-LD) untuk Kutipan AI Tambahkan schema `Organization` untuk membangun entitas merek dan schema `SoftwareApplication` untuk produk SaaS — termasuk `aggregateRating` jika tersedia. ### GEO — Optimasi AI Mode & Landing Page AEO Google AI Mode (sebelumnya AI Overviews) dan Perplexity sangat menyukai format berikut: - **Kalimat Ekstraksi AEO**: Buat satu kalimat ringkas 25–40 kata ("Apa itu [produk]?") di blockquote setelah H1. - Tulis konten Q&A dan sertakan statistik spesifik. - **Alur Narasi Landing Page**: Hero (H1+AEO) -> Problem -> Solution -> Features -> Social Proof -> FAQ (tiap jawaban <50 kata). - Tambahkan `/llms.txt` sebagai indeks situs yang dapat dibaca AI. - Kecepatan: Halaman harus memuat sangat cepat (TTFB < 600ms). ### Standar SEO On-Page H1 satu per halaman, H2 untuk header seksi, meta title < 60 karakter, meta deskripsi < 155 karakter, URL lowercase dengan tanda hubung dan keyword di slug, alt text deskriptif untuk semua gambar, 3-5 internal link per halaman long-form. ### Matriks Eksekusi Berdaulat, Efisiensi Token & Invarian | Dimensi | Mandat Berdaulat & Kontrak Deterministik | | :--- | :--- | | **Kaskade Model Frontier** | Medium / High (`GPT-5.6 Sol Medium`, `Gemini 4 Argon`, `Claude Sonnet 5.5 High`, `Grok 4.7 High Fast`) | | **Invarian Fallback Ketersediaan** | `Gemini 4 Argon/Pro` -> `Gemini 3.8 Flash`; `Claude Opus 5.5` -> `Claude Opus 4.6` (Bebas gagal saat model belum tersedia/kuota penuh) | | **Protokol Hemat Token & KV-Cache** | Kunci instruksi & skema statis di prefix awal (`kv-cache-prefix-optimizer`); kirim potongan `CONTEXT_MAP.md` (<250 token/panggilan) saat Fan-Out | | **Eksekusi SaaT CLI & MCP** | CLI: `vibes skill exec seo ` / MCP: `vibes_skill_dispatch`, `vibes_ast_query`, `vibes_compile_cache`, `vibes_optimize_budget`, `vibes_verify_gate` | | **Invarian NFR & Anti-Slop** | Latensi P99 API < 85ms, paritas skema ketat OpenAPI 3.1 / TypeSpec, kontrak error RFC 9457 Problem Details, penegakan Idempotency-Key; kode 100% tuntas tanpa placeholder diverifikasi melalui `node scripts/check-anti-slop.js --strict` |