Skip to content

Commit 8dbbd7a

Browse files
committed
Monthly SEO keyword strategy review (2026-03-09): update keyword plan using Search Console data; note Keyword Planner API issue
1 parent 98d01b0 commit 8dbbd7a

1 file changed

Lines changed: 163 additions & 0 deletions

File tree

docs/seo/keyword-strategy.md

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
# Monthly SEO Keyword Strategy Review (getathenic.com)
2+
3+
**Review date:** 2026-03-09
4+
**Primary goal:** identify keyword opportunities to grow *qualified organic traffic* and improve click-through-rate (CTR) on high-impression pages.
5+
6+
## Data sources used (this month)
7+
8+
1. **Google Search Console** (last 28 days: **2026-02-09 → 2026-03-07**, vs previous 28 days: **2026-01-12 → 2026-02-08**)
9+
2. **Google Ads Keyword Planner**: *attempted but blocked by API configuration error* (invalid Google Ads Customer ID formatting). This document therefore uses Search Console as the ground truth for “real demand we’re already showing for”, which is typically more actionable than planner estimates.
10+
11+
---
12+
13+
## Executive summary (what changed this month)
14+
15+
### 1) Biggest immediate upside: improve CTR on pages already ranking in positions ~5–8
16+
Several pages have **very large impression volume** and **average position inside the top 10**, but **CTR near ~0.05%–0.08%**. This is usually a snippet + intent-match problem (title/meta, SERP features, missing “pricing / free tier / 2026” modifiers).
17+
18+
**Top CTR-upside pages (last 28 days):**
19+
20+
| Page | Clicks | Impressions | CTR | Avg position |
21+
|---|---:|---:|---:|---:|
22+
| /blog/vercel-vs-railway-vs-render-ai-deployment | 10 | 18,628 | 0.054% | 6.40 |
23+
| /blog/stripe-vs-paddle-vs-lemon-squeezy-saas-billing | 10 | 13,268 | 0.075% | 6.36 |
24+
| /blog/claude-vs-gpt4o-vs-gemini-enterprise-comparison | 3 | 22,400 | 0.013% | 5.84 |
25+
| /blog/supabase-vs-firebase-vs-convex-ai-backend | 5 | 6,593 | 0.076% | 7.03 |
26+
| /blog/pinecone-vs-weaviate-vs-qdrant-vs-chroma-vector-search | 4 | 5,330 | 0.075% | 7.56 |
27+
28+
### 2) Notable “trend / emergence” signals
29+
Compared to the prior 28 days, the site started showing meaningful demand for:
30+
31+
- **railway vs vercel**: 238 impressions (was 4) → *major jump*.
32+
- **paddle vs lemon squeezy** and related Lemon Squeezy fee/pricing variants → *new and growing set*.
33+
- Continued demand for **e2b vs modal** and related runtime/sandbox comparisons.
34+
35+
### 3) Service terms (“bespoke web design”) are not currently competitive
36+
The page `/blog/bespoke-web-design-complete-guide-2026` is currently showing **very low impressions** and **very weak average positions** for the core head terms:
37+
38+
- “bespoke web design” (avg position ~80)
39+
- “bespoke web development” (avg position ~93)
40+
41+
This suggests the site’s topical authority is currently stronger around “X vs Y” comparison queries than around agency/service terms. If bespoke web design remains a core revenue driver, we need **dedicated landing pages** + **supporting cluster content**.
42+
43+
---
44+
45+
## Updated keyword clusters (prioritized)
46+
47+
### Cluster A (P0): Deployment platforms for apps/AI workloads
48+
**Why P0:** highest impressions, page already ranks in top 10; CTR is extremely low.
49+
50+
**Core keywords (observed demand):**
51+
- railway vs vercel (238 impressions, pos ~3.5)
52+
- vercel vs railway (165 impressions, pos ~4.45)
53+
- railway vs vercel comparison 2026 (50 impressions, pos ~4.74)
54+
- railway free tier limits 2026 (18 impressions, pos ~10.78)
55+
- railway vs render pricing 2026 (11 impressions, pos ~9.91)
56+
57+
**Page mapping:**
58+
- Primary: `/blog/vercel-vs-railway-vs-render-ai-deployment`
59+
60+
**Recommendations (next 30 days):**
61+
- Rewrite title/meta to explicitly include **“Railway vs Vercel (2026)”** and one differentiator: *pricing*, *free tier*, *DX*, *long-running services*, *AI workloads*.
62+
- Add a short **“2026 pricing / free tier”** section near the top; many query modifiers indicate price sensitivity.
63+
- Add FAQ section targeting: “Is Railway cheaper than Vercel?”, “Does Railway support GPUs?”, “Railway free tier limits 2026”.
64+
65+
---
66+
67+
### Cluster B (P0): SaaS billing / Merchant of Record comparisons
68+
**Why P0:** very high impressions; many query variants around pricing/fees.
69+
70+
**Core keywords (observed demand):**
71+
- paddle vs lemon squeezy (120 impressions, pos ~7.83)
72+
- lemon squeezy vs paddle (96 impressions, pos ~7.40)
73+
- lemon squeezy vs paddle vs stripe (31 impressions, pos ~5.97)
74+
- compare stripe tax vs paddle (39 impressions, pos ~6.62)
75+
- lemon squeezy pricing 5% + $0.50 (17 impressions, pos ~10.35)
76+
77+
**Page mapping:**
78+
- Primary: `/blog/stripe-vs-paddle-vs-lemon-squeezy-saas-billing`
79+
80+
**Recommendations (next 30 days):**
81+
- Tighten snippet to match intent: include “**fees**”, “**Merchant of Record**”, “**Stripe Tax**”, and “**pricing (2026)**”.
82+
- Add a “Fees calculator” style table (even static) to win clicks for the recurring “5% + $0.50” searches.
83+
- Add internal links from adjacent finance content (Atlas article) using anchors like “paddle vs lemon squeezy” and “merchant of record”.
84+
85+
---
86+
87+
### Cluster C (P0): Backend-as-a-Service (BaaS) decisions (Supabase / Convex / Firebase)
88+
**Why P0:** clear head-term demand with solid positions (~3–5) but near-zero CTR → snippet mismatch.
89+
90+
**Core keywords (observed demand):**
91+
- convex vs supabase (290 impressions, pos ~4.56)
92+
- supabase vs convex (186 impressions, pos ~4.76)
93+
- convex vs firebase (40 impressions, pos ~7.9)
94+
- convex vs firebase vs supabase (30 impressions, pos ~6.87)
95+
96+
**Page mapping:**
97+
- Primary: `/blog/supabase-vs-firebase-vs-convex-ai-backend`
98+
99+
**Recommendations (next 30 days):**
100+
- Adjust title to explicitly include “**Convex vs Supabase**” (since that’s the dominant head-to-head in Search Console).
101+
- Add a “Who should choose Convex vs Supabase?” block at the top.
102+
- Add FAQ: “Is Convex better than Supabase?”, “Convex pricing vs Firebase”, “Supabase to Convex migration”.
103+
104+
---
105+
106+
### Cluster D (P1): API testing tools (Postman / Insomnia / Bruno)
107+
**Why P1:** consistent clicks, but there are still many variants you can capture with better intent alignment.
108+
109+
**Core keywords (observed demand):**
110+
- insomnia vs bruno (116 impressions, 3 clicks, pos ~6.07)
111+
- postman vs insomnia vs bruno (59 impressions, 2 clicks, pos ~2.97)
112+
- bruno vs postman vs insomnia (72 impressions, 2 clicks, pos ~3.58)
113+
114+
**Page mapping:**
115+
- Primary: `/blog/postman-vs-insomnia-vs-bruno-api-testing`
116+
117+
**Recommendations:**
118+
- Add sections for “Bruno vs Postman” and “Insomnia vs Postman” as explicit H2s; those variants show up with impressions but low clicks.
119+
120+
---
121+
122+
### Cluster E (P2): Bespoke web design / custom website (commercial intent)
123+
**Why P2:** this is commercial-intent but currently not ranking well.
124+
125+
**Observed keywords (low visibility):**
126+
- bespoke web design (3 impressions, avg pos ~80)
127+
- bespoke web development (1 impression, avg pos ~93)
128+
129+
**Page mapping:**
130+
- Current: `/blog/bespoke-web-design-complete-guide-2026`
131+
132+
**Recommendations (strategy shift):**
133+
- Create a **dedicated landing page** (not a blog post) targeting: “Bespoke web design”, “custom web design”, “bespoke website”, “web design for startups”.
134+
- Build supporting cluster posts:
135+
- “Custom website vs template: ROI breakdown”
136+
- “Website redesign checklist (2026)” (already exists—strengthen internal linking)
137+
- “Next.js website builder guide” (already exists—link to bespoke landing page)
138+
139+
---
140+
141+
## Deprioritize / exclude (this month)
142+
143+
These are showing in Search Console but are either noise, low relevance, or not aligned to the site’s strategy:
144+
145+
- One-word/no-intent queries: `english`, `yes`
146+
- Very long prompt-like “evaluate the company…” queries (likely LLM-generated searches). Treat as **non-primary**; do not build pages specifically for them.
147+
- Misspellings with negligible volume (`anthenic`, `athenics`) → handle via minor copy tweaks if desired, but don’t prioritize.
148+
149+
---
150+
151+
## 30-day action plan (SEO execution)
152+
153+
1. **CTR sprint (highest ROI):** update titles/meta + top-of-article summaries for the P0 clusters (Deployment, Billing, BaaS). Target +0.3% CTR on the two biggest pages.
154+
2. **Create 2 supporting pages** to capture modifiers already showing:
155+
- “Railway free tier limits (2026)” (or add as dedicated section + jump links)
156+
- “Lemon Squeezy fees: 5% + $0.50 explained (with examples)”
157+
3. **Commercial page build:** add a bespoke web design landing page + internal links from the high-traffic comparison posts.
158+
159+
---
160+
161+
## Notes / issues
162+
163+
- **Google Ads Keyword Planner API is currently failing** due to an invalid configured customer ID. Fixing this will let us enrich these clusters with **net-new keywords** that aren’t yet appearing in Search Console.

0 commit comments

Comments
 (0)