Skip to content

Commit 8bd1219

Browse files
committed
SEO: monthly keyword strategy review update (2026-03-23)
1 parent 4d54889 commit 8bd1219

1 file changed

Lines changed: 138 additions & 102 deletions

File tree

docs/seo/keyword-strategy.md

Lines changed: 138 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Monthly SEO Keyword Strategy Review (getathenic.com)
22

3-
**Review date:** 2026-03-19
3+
**Review date:** 2026-03-23
44
**Primary goal:** identify keyword opportunities to grow *qualified organic traffic* and improve click-through-rate (CTR) on high-impression pages.
55

66
## Data sources used (this review)
77

8-
1. **Google Search Console** (last 28 days: **2026-02-19 → 2026-03-18**, vs previous 28 days: **2026-01-22 → 2026-02-18**)
8+
1. **Google Search Console** (last 28 days: **2026-02-23 → 2026-03-22**, vs previous 28 days: **2026-01-26 → 2026-02-22**)
99
2. **Google Ads Keyword Planner**: attempted again, but the API integration is still failing due to an invalid configured Google Ads Customer ID.
1010

1111
**Keyword Planner error (actionable fix):**
@@ -14,172 +14,204 @@
1414

1515
---
1616

17-
## Executive summary (what changed vs last review)
17+
## Executive summary (what changed vs last 28-day period)
1818

19-
### 1) Visibility step-change: “comparison” content is now earning large impression volume
20-
Across the last 28 days, multiple comparison pages moved into a pattern of:
21-
- **Avg position ~6–7** (top 10)
22-
- **Tens of thousands of impressions**
23-
- **Very low CTR** (often **< 0.07%**) → the site is *being shown*, but searchers aren’t choosing the snippet.
19+
### 1) New #1 opportunity by raw impressions: “best ecommerce platform” comparison page is now massive
20+
The page `/blog/best-ecommerce-platform-comparison-2026` is now one of the highest-impression URLs on the site **while already ranking on page 1**.
21+
- **0 clicks / 29,719 impressions / 0.00% CTR / avg position 4.88**
2422

25-
This is the highest-leverage SEO work for the next 30 days.
23+
This is a pure CTR + snippet-intent match problem.
2624

27-
### 2) New cluster with real click volume: Linear vs Plane vs Height
28-
The page `/blog/linear-vs-height-vs-plane-project-management` is now a top click driver.
29-
- **28 clicks / 2,172 impressions / 1.29% CTR / avg position 6.30**
25+
### 2) Breakout click winner: Postman vs Insomnia vs Bruno
26+
This page is now the top click driver.
27+
- **47 clicks / 4,625 impressions / 1.02% CTR / avg position 7.04**
3028

31-
This is a strong signal to expand into adjacent “project management tool comparison” head-to-heads.
29+
Expand this cluster with single-head-to-head pages that match the exact “X vs Y” demand.
3230

33-
### 3) New high-impression / zero-click opportunity: HubSpot vs ActiveCampaign (AI features)
34-
The page `/blog/hubspot-activecampaign-ai-agents-comparison` has meaningful visibility but no traffic yet.
35-
- **0 clicks / 2,820 impressions / 0.00% CTR / avg position 8.58**
31+
### 3) Continued pattern: comparison pages rank ~5–7 with huge impressions but near-zero CTR
32+
The same pattern continues across:
33+
- Claude vs GPT-4o vs Gemini
34+
- Vercel vs Railway vs Render
35+
- Stripe vs Paddle vs Lemon Squeezy
3636

37-
This is almost certainly a title/meta + intent-match issue.
37+
These are already in the top 10. CTR is the bottleneck.
38+
39+
### 4) Marketing automation (AI features) demand is real, but the snippet is not winning clicks
40+
`/blog/hubspot-activecampaign-ai-agents-comparison` is earning meaningful visibility, dominated by queries like **“activecampaign vs hubspot ai features comparison (2026)”**, but still **0 clicks**.
41+
- **0 clicks / 3,537 impressions / 0.00% CTR / avg position 8.63**
3842

3943
---
4044

41-
## Biggest immediate upside: CTR improvement on pages already ranking in positions ~5–8
45+
## Biggest immediate upside: CTR improvement on pages already ranking in positions ~4–8
4246

4347
**Top CTR-upside pages (last 28 days):**
4448

4549
| Page | Clicks | Impressions | CTR | Avg position |
4650
|---|---:|---:|---:|---:|
47-
| /blog/claude-vs-gpt4o-vs-gemini-enterprise-comparison | 6 | 31,192 | 0.019% | 6.01 |
48-
| /blog/vercel-vs-railway-vs-render-ai-deployment | 12 | 23,395 | 0.051% | 6.49 |
49-
| /blog/stripe-vs-paddle-vs-lemon-squeezy-saas-billing | 9 | 16,534 | 0.054% | 6.27 |
50-
| /blog/pinecone-vs-weaviate-vs-qdrant-vs-pgvector | 6 | 10,431 | 0.058% | 6.85 |
51-
| /blog/supabase-vs-firebase-vs-convex-ai-backend | 5 | 7,869 | 0.064% | 7.16 |
52-
| /blog/hubspot-activecampaign-ai-agents-comparison | 0 | 2,820 | 0.000% | 8.58 |
51+
| /blog/best-ecommerce-platform-comparison-2026 | 0 | 29,719 | 0.000% | 4.88 |
52+
| /blog/claude-vs-gpt4o-vs-gemini-enterprise-comparison | 9 | 34,302 | 0.026% | 6.05 |
53+
| /blog/vercel-vs-railway-vs-render-ai-deployment | 15 | 26,714 | 0.056% | 6.59 |
54+
| /blog/stripe-vs-paddle-vs-lemon-squeezy-saas-billing | 13 | 18,794 | 0.069% | 6.26 |
55+
| /blog/langchain-vs-llamaindex-vs-haystack-rag-frameworks | 2 | 10,936 | 0.018% | 6.80 |
56+
| /blog/anthropic-claude-vs-openai-gpt4-vs-google-gemini | 2 | 10,212 | 0.020% | 6.51 |
57+
| /blog/best-ai-for-business-comparison-2026 | 2 | 10,331 | 0.019% | 7.09 |
58+
| /blog/pinecone-vs-weaviate-vs-qdrant-vs-pgvector | 8 | 12,265 | 0.065% | 6.90 |
59+
| /blog/human-in-the-loop-approval-workflows | 0 | 4,203 | 0.000% | 7.94 |
60+
| /blog/hubspot-activecampaign-ai-agents-comparison | 0 | 3,537 | 0.000% | 8.63 |
5361

5462
**What this means in clicks (illustrative):**
55-
- If `/blog/claude-vs-gpt4o-vs-gemini-enterprise-comparison` moves from **0.019% → 0.20% CTR**, that’s roughly **+56 clicks / 28 days** at current impressions.
56-
- If `/blog/vercel-vs-railway-vs-render-ai-deployment` moves from **0.051% → 0.20% CTR**, that’s roughly **+35 clicks / 28 days**.
63+
- If `/blog/claude-vs-gpt4o-vs-gemini-enterprise-comparison` moves from **0.026% → 0.20% CTR**, that’s roughly **+60 clicks / 28 days** at current impressions.
64+
- If `/blog/vercel-vs-railway-vs-render-ai-deployment` moves from **0.056% → 0.20% CTR**, that’s roughly **+38 clicks / 28 days**.
65+
- If `/blog/best-ecommerce-platform-comparison-2026` reaches **0.10% CTR**, that’s roughly **+30 clicks / 28 days**.
5766

5867
---
5968

6069
## Biggest movers (last 28 days vs previous 28 days)
6170

6271
| Page | Clicks (prev → now) | Impressions (prev → now) | Note |
6372
|---|---:|---:|---|
64-
| /blog/stripe-vs-paddle-vs-lemon-squeezy-saas-billing | 4 → 9 | 1,378 → 16,534 | major impression growth; CTR now the bottleneck |
65-
| /blog/vercel-vs-railway-vs-render-ai-deployment | 2 → 12 | 2,018 → 23,395 | huge visibility gain; snippet underperforming |
66-
| /blog/e2b-vs-modal-vs-flyio-sandbox-comparison | 44 → 9 | 3,511 → 3,808 | clicks down sharply; monitor ranking + intent drift |
67-
| /blog/linear-vs-height-vs-plane-project-management | (not top 50) → 28 | (not top 50) → 2,172 | new high-performing cluster |
68-
| /blog/postman-vs-insomnia-vs-bruno-api-testing | (not top 50) → 32 | (not top 50) → 3,644 | strong performer; expand variants |
73+
| /blog/postman-vs-insomnia-vs-bruno-api-testing | 1 → 47 | 106 → 4,625 | breakout winner; expand variants |
74+
| /blog/linear-vs-height-vs-plane-project-management | 0 → 35 | 59 → 2,755 | new high-performing cluster |
75+
| /blog/claude-vs-gpt4o-vs-gemini-enterprise-comparison | 0 → 9 | 3,683 → 34,302 | massive visibility; CTR now the bottleneck |
76+
| /blog/vercel-vs-railway-vs-render-ai-deployment | 3 → 15 | 4,709 → 26,714 | huge visibility gain; snippet underperforming |
77+
| /blog/stripe-vs-paddle-vs-lemon-squeezy-saas-billing | 4 → 13 | 3,198 → 18,794 | major impression growth; CTR now the bottleneck |
78+
| /blog/best-ecommerce-platform-comparison-2026 | 0 → 0 | 472 → 29,719 | top-5 average position; snippet not converting |
79+
| /blog/hubspot-activecampaign-ai-agents-comparison | 0 → 0 | 340 → 3,537 | demand is rising; needs title/meta + above-fold table |
80+
| /blog/e2b-vs-modal-vs-flyio-sandbox-comparison | 39 → 10 | 3,706 → 4,258 | clicks down sharply; monitor ranking + intent drift |
6981

7082
---
7183

7284
## Updated keyword clusters (prioritized)
7385

74-
### Cluster A (P0): LLM model comparisons (Enterprise: Claude vs GPT-4o vs Gemini)
75-
**Why P0:** *largest impressions on the site* with average position ~6 and near-zero CTR.
86+
### Cluster A (P0): Ecommerce platform comparisons (2026)
87+
**Why P0:** one page is already ranking **avg position ~4.9** with **~30k impressions** and **0 clicks**.
7688

77-
**Observed demand patterns (Search Console):**
78-
- Many “best model for X” use-case modifiers (e.g. *HTML extraction*, *PDF to markdown*, *legal translation*).
79-
- Broad “best AI / best LLM” in multiple languages → suggests the page is being used by Google as a generic candidate, which can be good for impressions but bad for CTR if the snippet doesn’t match.
89+
**Page mapping (primary):**
90+
- `/blog/best-ecommerce-platform-comparison-2026`
8091

81-
**Page mapping:**
82-
- Primary: `/blog/claude-vs-gpt4o-vs-gemini-enterprise-comparison`
92+
**Observed query patterns to capture (Search Console):**
93+
- `woocommerce vs shopify vs bigcommerce` (and “vs wix / squarespace” variants)
94+
- `best dropshipping platforms 2026 comparison shopify vs woocommerce vs bigcommerce vs wix`
95+
- `best bigcommerce alternatives 2026`
8396

8497
**Recommendations (next 30 days):**
85-
- Title/meta: make the promise explicit and click-worthy: **“Claude vs GPT-4o vs Gemini (2026): price, context, latency, benchmarks”**.
86-
- Add a “Use-cases” jump table near the top (HTML extraction, long-doc parsing, coding, RAG), so the snippet better matches the long-tail.
87-
- Add an FAQ section with exact-match questions ("best model for html data extraction", "best llm for pdf to markdown").
98+
- Rewrite title/meta to be *decision-first* and include the dominant entities:
99+
- Suggested: **“Shopify vs WooCommerce vs BigCommerce (2026): pricing, SEO, features (best ecommerce platform)”**
100+
- Add an above-the-fold comparison table that literally repeats the head terms: *Shopify*, *WooCommerce*, *BigCommerce*, *Wix*, *Squarespace*.
101+
- Add a “Pick the winner by use case” block (dropshipping, B2B, clothing, food, bookstore, enterprise).
102+
103+
**Supporting pages to consider (if impressions persist):**
104+
- `Shopify vs WooCommerce vs BigCommerce (2026)` (more focused than the mega-roundup)
105+
- `Best BigCommerce alternatives (2026)`
106+
- `Best dropshipping platforms (2026): Shopify vs WooCommerce vs Wix`
88107

89108
---
90109

91-
### Cluster B (P0): Deployment platforms for apps/AI workloads (Vercel vs Railway vs Render)
92-
**Why P0:** very high impressions; page already ranks in top 10; CTR still extremely low.
110+
### Cluster B (P0): LLM model comparisons (Enterprise: Claude vs GPT-4o vs Gemini)
111+
**Why P0:** the page is one of the top impression earners on the site with avg position ~6.
112+
113+
**Page mapping (primary):**
114+
- `/blog/claude-vs-gpt4o-vs-gemini-enterprise-comparison`
93115

94116
**Observed modifiers to capture:**
95-
- **free tier limits / pricing**
96-
- **GPU support**
97-
- “Railway vs Render (2026)” variants
117+
- `best coding llm claude vs gpt-4o vs gemini`
118+
- `best ai model for data scraping claude vs gpt-4o vs gemini`
98119

99-
**Page mapping:**
100-
- Primary: `/blog/vercel-vs-railway-vs-render-ai-deployment`
120+
**Important nuance:** this page is also appearing for extremely broad multilingual “best AI” queries. That inflates impressions but drags CTR.
101121

102122
**Recommendations:**
103-
- Add a visible **Pricing / Free tier (2026)** table above the fold.
104-
- Add FAQ targeting: “Railway free tier limits 2026”, “Does Railway support GPUs?”, “Railway vs Render pricing 2026”.
105-
- Consider 1 supporting page if this query class continues to grow:
106-
- `Railway free tier limits (2026): what you get + when you pay`
123+
- Tighten the promise in the title/meta to match *enterprise comparison intent* (and reduce “generic best AI” mismatch):
124+
- Suggested: **“Claude vs GPT-4o vs Gemini (Enterprise) (2026): price, context, latency, benchmarks”**
125+
- Add a “Use cases” jump table near the top (coding, long-doc parsing, scraping/extraction, RAG).
126+
- Add FAQ sections with exact match H3s for the modifiers above.
107127

108128
---
109129

110-
### Cluster C (P0): SaaS billing / Merchant of Record (Stripe vs Paddle vs Lemon Squeezy)
111-
**Why P0:** very high impressions; recurring “fees/pricing” intent; current snippet under-matches.
130+
### Cluster C (P0): Deployment platforms for apps/AI workloads (Vercel vs Railway vs Render)
131+
**Why P0:** huge impressions, avg position ~6.6, CTR ~0.06%.
112132

113-
**Observed modifiers to capture:**
114-
- “Stripe Tax vs Paddle”
115-
- “Lemon Squeezy pricing 5% + $0.50”
116-
117-
**Page mapping:**
118-
- Primary: `/blog/stripe-vs-paddle-vs-lemon-squeezy-saas-billing`
133+
**Page mapping (primary):**
134+
- `/blog/vercel-vs-railway-vs-render-ai-deployment`
119135

120136
**Recommendations:**
121-
- Add a fee-breakdown table that explicitly includes **“5% + $0.50”** wording.
122-
- Add a dedicated on-page section “Stripe Tax vs Paddle: what’s different?”
123-
- Consider 1 supporting page:
124-
- `Lemon Squeezy pricing explained: 5% + $0.50 (examples + calculator)`
137+
- Add a visible **Pricing / Free tier limits (2026)** table above the fold.
138+
- Add FAQ targeting: “Railway free tier limits 2026”, “Railway vs Render pricing 2026”, “Does Railway support GPUs?”
139+
140+
**Supporting page (still recommended):**
141+
- `Railway free tier limits (2026): what you get + when you pay`
125142

126143
---
127144

128-
### Cluster D (P0): BaaS decisions (Convex vs Supabase vs Firebase)
129-
**Why P0:** strong head-term visibility; the head query is getting impressions but not clicks.
145+
### Cluster D (P0): SaaS billing / Merchant of Record (Stripe vs Paddle vs Lemon Squeezy)
146+
**Why P0:** very high impressions; strong “fees/pricing” intent; CTR is extremely low.
130147

131-
**Evidence:**
132-
- Query → page mapping: `convex vs supabase``/blog/supabase-vs-firebase-vs-convex-ai-backend`
133-
- For `convex vs supabase`: **267 impressions / 0 clicks / avg position 5.01**
148+
**Page mapping (primary):**
149+
- `/blog/stripe-vs-paddle-vs-lemon-squeezy-saas-billing`
134150

135151
**Recommendations:**
136-
- Adjust title to lead with the dominant head-to-head: **“Convex vs Supabase (vs Firebase) (2026)”**.
137-
- Add an above-the-fold “Who should pick Convex vs Supabase?” summary.
138-
- Add FAQ: “Is Convex better than Supabase?”, “Convex pricing vs Firebase”, “Supabase to Convex migration”.
152+
- Add a fee-breakdown table with explicit wording people repeat: **“5% + $0.50”**.
153+
- Add a dedicated section: “Stripe Tax vs Paddle: what’s different?”
154+
155+
**Supporting page (still recommended):**
156+
- `Lemon Squeezy pricing explained: 5% + $0.50 (examples + calculator)`
139157

140158
---
141159

142-
### Cluster E (P1): API testing tools (Postman vs Insomnia vs Bruno)
143-
**Why P1:** already the top click driver; expand to capture variant head-to-heads.
160+
### Cluster E (P0): Marketing automation AI features (HubSpot vs ActiveCampaign)
161+
**Why P0:** sustained visibility with **0 clicks**, dominated by “AI features comparison (2026)” queries.
144162

145-
**Page mapping:**
146-
- Primary: `/blog/postman-vs-insomnia-vs-bruno-api-testing`
163+
**Page mapping (primary):**
164+
- `/blog/hubspot-activecampaign-ai-agents-comparison`
165+
166+
**Observed queries to mirror in headings/FAQ:**
167+
- `activecampaign vs hubspot ai features comparison 2025 or 2026` (271 impressions)
168+
- `activecampaign vs hubspot cross-channel marketing automation comparison 2025 or 2026`
169+
- `activecampaign vs hubspot pricing comparison 2025 or 2026`
147170

148171
**Recommendations:**
149-
- Add explicit H2s for “Bruno vs Postman” and “Insomnia vs Postman”.
150-
- Add a short “Which should you use in 2026?” decision tree.
172+
- Title/meta must explicitly include **AI features** + **marketing automation** + **2026**.
173+
- Add an above-the-fold table with columns: AI features, segmentation/personalization, workflows, deliverability, reporting, pricing.
174+
- Add FAQ blocks for pricing + deliverability + personalization queries.
151175

152176
---
153177

154-
### Cluster F (P1): Project management tools (Linear vs Plane vs Height)
155-
**Why P1:** strong CTR + meaningful clicks; easy adjacent expansion.
178+
### Cluster F (P1): API testing tools (Postman vs Insomnia vs Bruno)
179+
**Why P1:** currently the top click driver; expand to capture single head-to-head intent.
156180

157-
**Page mapping:**
158-
- Primary: `/blog/linear-vs-height-vs-plane-project-management`
181+
**Page mapping (primary):**
182+
- `/blog/postman-vs-insomnia-vs-bruno-api-testing`
159183

160-
**Next keywords/pages to add (based on observed demand + adjacent SERPs):**
161-
- Linear vs Height
162-
- Linear vs Plane
163-
- Linear vs Jira vs Asana (already getting impressions)
164-
- Linear vs Asana (already getting impressions)
184+
**Next pages to add (based on observed demand):**
185+
- `Insomnia vs Bruno (2026)`
186+
- `Postman vs Bruno (2026)`
165187

166188
---
167189

168-
### Cluster G (P1): Marketing automation AI features (HubSpot vs ActiveCampaign)
169-
**Why P1:** substantial impressions with **0 clicks** and average position ~8.6.
190+
### Cluster G (P1): Project management tools (Linear vs Plane vs Height)
191+
**Why P1:** strong click volume; multiple exact-match queries are already converting.
170192

171-
**Page mapping:**
172-
- Primary: `/blog/hubspot-activecampaign-ai-agents-comparison`
193+
**Page mapping (primary):**
194+
- `/blog/linear-vs-height-vs-plane-project-management`
195+
196+
**Next pages to add:**
197+
- `Linear vs Plane (2026)`
198+
- `Linear vs Height (2026)`
199+
200+
---
201+
202+
### Cluster H (P1): Human-in-the-loop approval workflows (AI)
203+
**Why P1:** strong impression volume with 0 clicks; likely salvageable with better snippet + clearer “what you’ll learn” framing.
204+
205+
**Page mapping (primary):**
206+
- `/blog/human-in-the-loop-approval-workflows`
173207

174208
**Recommendations:**
175-
- Title/meta must explicitly match the dominant query framing:
176-
- include “**AI features**”, “**marketing automation**”, and “**2026**”.
177-
- Add an above-the-fold comparison table that includes the words users search (AI features, personalization, segmentation, deliverability, workflows).
209+
- Retitle toward “approval workflows for AI agents” and add an above-the-fold pattern library.
178210

179211
---
180212

181-
### Cluster H (P2): Vector database comparisons
182-
**Why P2:** high impressions, moderate clicks; CTR improvement still useful but secondary to the top 3 clusters.
213+
### Cluster I (P2): Vector database comparisons
214+
**Why P2:** high impressions; CTR improvement still useful but secondary to the P0 clusters.
183215

184216
**Page mapping:**
185217
- `/blog/pinecone-vs-weaviate-vs-qdrant-vs-pgvector`
@@ -190,30 +222,34 @@ This is almost certainly a title/meta + intent-match issue.
190222
## Deprioritize / exclude (this month)
191223

192224
1. **One-word/no-intent queries**: `english`, `yes`, and other noise.
193-
2. **Prompt-like “evaluate the company…” queries**: treat as non-primary. Don’t build dedicated pages for these.
225+
2. **Prompt-like “evaluate the company…” queries**: treat as non-primary.
194226
3. **Quoted code/token queries** (e.g. library import strings): these create impressions but rarely drive qualified traffic. Avoid optimizing titles/meta toward these; keep content readable and well-structured.
195227

196228
---
197229

198230
## 30-day action plan (SEO execution)
199231

200232
1. **CTR sprint (highest ROI):** update titles/meta + add above-the-fold summary blocks for:
233+
- Best ecommerce platform comparison (2026)
201234
- Claude vs GPT-4o vs Gemini
202235
- Vercel vs Railway vs Render
203236
- Stripe vs Paddle vs Lemon Squeezy
204-
- Convex vs Supabase
205-
- HubSpot vs ActiveCampaign
237+
- HubSpot vs ActiveCampaign (AI features)
238+
- Human-in-the-loop approval workflows
206239

207-
2. **Publish 2 supporting pages** to capture clear modifiers already visible in Search Console:
240+
2. **Publish 2–3 supporting pages** (targeting the clearest modifiers already visible in Search Console):
241+
- Shopify vs WooCommerce vs BigCommerce (2026)
208242
- Railway free tier limits (2026)
209243
- Lemon Squeezy pricing (5% + $0.50) explained
210244

211-
3. **Expand winning clusters:** publish 1–2 additional “Linear vs X” pages (low effort, high intent-match).
245+
3. **Expand winning clusters:** publish 2 lightweight head-to-heads:
246+
- Insomnia vs Bruno
247+
- Linear vs Plane (or Linear vs Height)
212248

213249
4. **Unblock Keyword Planner (platform-level):** fix the Google Ads customer ID configuration so we can enrich these clusters with net-new keywords that aren’t yet appearing in Search Console.
214250

215251
---
216252

217-
## Appendix: previous review snapshot (2026-03-09)
253+
## Appendix: previous review snapshot (2026-03-19)
218254

219255
The previous review content has been superseded by this update; see git history for the full prior snapshot.

0 commit comments

Comments
 (0)