Skip to content

Commit 543c8b5

Browse files
committed
feat: homepage SEO meta, prerender guides, Pillar 4 verified research
- Add useSeoMeta() to homepage with optimized title/description - Enable crawlLinks: true for guide page prerendering - Add prerender: false route rules for dashboard/admin/account - Create verified Pillar 4 research (04-fix-indexing-problems-verified.md) - Flag fabricated stats from original research (62% AI, 100% API, fake Reddit quotes) - Update 2026 SEO strategy with verified data and revised page plan - Update Q1 checklist with completed items
1 parent 26673ed commit 543c8b5

File tree

371 files changed

+31584
-20999
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

371 files changed

+31584
-20999
lines changed

.claude/seo/2026-q1.md

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
# Q1 2026 SEO Plan — requestindexing.com
2+
3+
> Period: January - March 2026
4+
> Status: Pillar 3 shipped (March 4, 2026)
5+
> Source of truth for all SEO decisions this quarter.
6+
7+
---
8+
9+
## Q1 Objective
10+
11+
Ship Pillar 3 (Google Indexing API) — 6 pages targeting ~800/mo addressable volume at KD 15 avg. This is the lowest-difficulty, highest-authority pillar for the product.
12+
13+
Secondary: homepage SEO hardening + technical foundations for all future content.
14+
15+
---
16+
17+
## Baseline Metrics (March 4, 2026)
18+
19+
| Metric | Value |
20+
|--------|-------|
21+
| Organic traffic | ~138/mo |
22+
| Ranking keywords | 16 |
23+
| Indexed pages | 1 (homepage) |
24+
| Best position | #2 ("request indexing") |
25+
| Domain rating | Low (<10 est.) |
26+
27+
### Q1 Targets
28+
| Metric | Target |
29+
|--------|--------|
30+
| Indexed pages | 8+ (homepage + 6 pillar 3 + blog index) |
31+
| Ranking keywords | 30+ |
32+
| Organic traffic | 200+/mo by end of March |
33+
34+
---
35+
36+
## Deliverables
37+
38+
### 1. Technical SEO Foundation
39+
40+
Before publishing content, the site needs these in place. All pages benefit.
41+
42+
- [x] **Nuxt Content** — content infrastructure set up with `content/guides/` collection, `content.config.ts` with SEO schema
43+
- [x] **Dynamic sitemap** — via `@nuxtjs/seo` asSeoCollection, auto-generates for content pages
44+
- [x] **Schema.org markup** — Article + FAQPage JSON-LD on all guide pages, Person schema for author
45+
- [x] **OG images** — dynamic `defineOgImage('Guide', ...)` per page via `nuxt-og-image`
46+
- [ ] **robots.txt** — verify sitemap directive, no accidental blocks
47+
- [x] **Canonical tags** — handled by `@nuxtjs/seo` automatically
48+
- [x] **Internal nav** — "Learn" section on homepage, sidebar nav on guide pages, footer links
49+
- [x] **FAQ component**`ContentFaq.vue` renders accordions + FAQPage JSON-LD
50+
- [x] **"Last updated" display** — visible publishedAt/updatedAt dates on every guide
51+
- [x] **Breadcrumbs**`UBreadcrumb` in guide layout
52+
- [x] **Guide layout** — sidebar nav with icons, ToC, prev/next surround nav, related pages
53+
- [x] **Guides hub page**`/guides` route with `UPageCard` grid, "Start Here" badge
54+
55+
### 2. Homepage SEO Hardening
56+
57+
The homepage ranks for 16 keywords but could do better. Quick wins:
58+
59+
- [x] **Title tag** — "Request Indexing - Get Your Pages Indexed on Google Fast" via `useSeoMeta()` on homepage
60+
- [x] **Meta description** — includes "Google Indexing API", "indexing status", "historical data" via `useSeoMeta()`
61+
- [ ] **H1** — should contain primary keyword
62+
- [x] **FAQ section** — 3 questions on homepage (Does it work?, Penalized?, View code?)
63+
- [x] **Internal links** — "Learn" section links to hub, tutorial, node.js guides
64+
- [ ] **Speed audit** — verify LCP < 2.5s, CLS < 0.1
65+
66+
### 3. Pillar 3: Google Indexing API — 6 Pages ✅ SHIPPED
67+
68+
All 6 pages shipped March 4, 2026. ~10,400 words total. All have Article + FAQPage JSON-LD, OG images, prev/next surround nav, cross-links.
69+
70+
**Note:** Deviated from original plan — replaced standalone Python page (3.4) with "Indexing API for Blog Posts" page (higher search intent, addresses key user concern). Python code examples are included in hub, tutorial, and bulk submission pages instead. Slug for bulk page changed to `/bulk-submit-urls-google-indexing-api` for better keyword targeting.
71+
72+
#### Page 3.1: /google-indexing-api (Hub page) ✅
73+
- **Target:** "google indexing api" (260/mo, KD 15)
74+
- **Words:** ~1,900
75+
- **Sections:** What Is It, How It Works (3 operations), Why Use It, Prerequisites, Quick Start (curl/TS/Python), Quota table, Non-Job Content (with Googler warnings), Error Codes table, npm Ecosystem, Next Steps (links to all 5 children), FAQ (6 items)
76+
- **Cross-links:** Links to all 5 children inline + Next Steps section. Linked from homepage Learn section + footer.
77+
78+
#### Page 3.2: /google-indexing-api-tutorial (Setup guide) ✅
79+
- **Target:** "google indexing api tutorial" (~100/mo, KD ~20)
80+
- **Words:** ~1,900
81+
- **Sections:** 6-step walkthrough (GCP project → Enable API → Service Account → JSON key → GSC Owner → First call in curl/TS/Python), Verify status, Troubleshooting (403, 401, PEM errors, 429, silent failures), FAQ (5 items)
82+
83+
#### Page 3.3: /google-indexing-api-node-js (Dev guide) ✅
84+
- **Target:** "google indexing api node js" (~50/mo, KD ~15)
85+
- **Words:** ~1,500
86+
- **Sections:** Installation (googleapis vs @googleapis/indexing), Auth (3 methods: key file, env vars, JWT), Single URL, Check status, Batch (library + manual fetch), Error handling, Retry with backoff, Production patterns (queue, CMS hook, sitemap-driven), Ecosystem comparison, Complete working example, FAQ (4 items)
87+
88+
#### Page 3.4: /bulk-submit-urls-google-indexing-api (Bulk submission) ✅
89+
- **Target:** "bulk submit urls google indexing api" (~50/mo), "bulk url indexing" (~50/mo)
90+
- **Words:** ~1,850
91+
- **Sections:** Batch endpoint format + rules, Node.js bulk script (full), Python bulk script (full), Queue strategies (priority, daily rolling), Sitemap-driven submission, Tools comparison table, Monitoring, FAQ (5 items)
92+
93+
#### Page 3.5: /indexing-api-for-blog-posts (Risk guide) ✅
94+
- **Target:** "indexing api for blog posts" (~30/mo)
95+
- **Words:** ~1,650
96+
- **Sections:** Google's official stance (exact scope quote), John Mueller warning (May 2025, sourced), Gary Illyes warning (April 2024, sourced), September 2024 enforcement update, 5 real risks, Community experiences, Best practices (5 items), Alternatives (sitemaps, URL inspection, IndexNow, ping, internal linking), FAQ (4 items)
97+
- **Only verified facts used** — all Googler quotes with seroundtable.com source URLs, all Reddit threads with direct URLs.
98+
99+
#### Page 3.6: /google-indexing-api-quota (Reference) ✅
100+
- **Target:** "google indexing api quota" (10/mo, KD ~10)
101+
- **Words:** ~1,500
102+
- **Sections:** Default limits table, How batch affects quota (explicit Google quote), What counts against quota table, 429 handling (with batch partial failure behavior), Check usage (Cloud Console + programmatic), Request increase process + requirements + typical outcomes, 5 strategies for staying under limit, Quota stacking risks, FAQ (5 items)
103+
104+
---
105+
106+
## Content Production Workflow
107+
108+
For each page:
109+
1. **Outline** — write H1/H2 structure, confirm keyword targets
110+
2. **Draft** — write full content (can use AI assistance for first draft)
111+
3. **Original assets** — screenshots, code samples, diagrams
112+
4. **SEO review** — verify title/meta/schema/internal links/FAQ section
113+
5. **Publish** — deploy, submit to Indexing API immediately
114+
6. **Monitor** — check GSC indexing status within 48 hours
115+
116+
---
117+
118+
## Tracking & Measurement
119+
120+
### Weekly checks
121+
- GSC: new pages indexed? Any "Discovered - not indexed"?
122+
- DataForSEO/rankings: movement on pillar 3 keywords?
123+
124+
### Monthly review (end of March)
125+
- [x] All 6 pillar 3 pages published (March 4)
126+
- [ ] All 6 pillar 3 pages indexed (check GSC after 48h)
127+
- [ ] Ranking for "google indexing api" (target: top 10)
128+
- [ ] Total ranking keywords increased from 16 to 30+
129+
- [ ] Organic traffic trend (138 → 200+)
130+
131+
### KPIs to track
132+
| KPI | Tool | Frequency |
133+
|-----|------|-----------|
134+
| Indexed pages | GSC Page Indexing Report | Weekly |
135+
| Keyword rankings | DataForSEO via nuxt-seo-pro MCP | Bi-weekly |
136+
| Organic clicks | GSC Performance Report | Weekly |
137+
| Page-level traffic | GSC | Monthly |
138+
| Core Web Vitals | GSC / PageSpeed Insights | Monthly |
139+
140+
---
141+
142+
## Risks & Mitigations
143+
144+
| Risk | Likelihood | Mitigation |
145+
|------|-----------|------------|
146+
| AI Overview cannibalizes clicks for "google indexing api" | Medium | Structure content for featured snippets, add unique data/code samples AI can't replicate |
147+
| Google penalizes Indexing API non-job-posting usage | Low | Monitor GSC for manual actions, content is educational not spammy |
148+
| Content stuck in "Discovered - not indexed" | Medium | Submit every new page via our own Indexing API tool immediately on publish |
149+
| Low domain authority limits ranking potential | High | Focus on KD <20 keywords first, build backlinks via open source repo + dev community |
150+
151+
---
152+
153+
## Dependencies — All Resolved
154+
155+
- ~~**Content infrastructure** must ship before any pages~~ ✅ Nuxt Content collection with SEO schema, guide layout, catch-all page
156+
- ~~**OG image generation** needed for social sharing~~`defineOgImage('Guide', ...)` on all pages
157+
- ~~**FAQ component** needed~~`ContentFaq.vue` with FAQPage JSON-LD
158+
- ~~**Code highlighting**~~ ✅ Nuxt Content's built-in Shiki highlighting
159+
160+
---
161+
162+
## What's NOT in Q1
163+
164+
- Pillars 1, 2, 4, 5 — deferred to Q2-Q3 per execution order in 2026.md
165+
- Backlink outreach — focus on content first, links come from open source community naturally
166+
- Paid promotion — organic only this quarter
167+
- Video content — text-first, video can supplement later

0 commit comments

Comments
 (0)