- Period
- 6 monthsOctober 2025 — March 2026
- Clicks from Google
- 278K25.2M impressions, Search Console
- Articles in traffic
- 14 of 23by number of specifications written
- Average position
- 6.0 → 3.9Google, October → March
The task
The client is a large company with a corporate blog. The job was to find the topics that would actually bring in search traffic and to set up a process where each article is written against data rather than against a feeling that something would be interesting to write about. The deliverable was a content plan covering both new articles and rewrites of existing ones.
How I picked the topics
Using Ahrefs, I looked at competitors' blogs to see which articles were bringing them the most organic traffic, then cut the topics where demand was too thin to justify the work. That left a pool of 23 topics. Selecting on data closes off two of the most common reasons SEO produces nothing: no amount of good writing rescues a topic nobody searches for, and queries with the wrong intent bring readers instead of buyers.
| Criterion | What was checked | Tool |
|---|---|---|
| Search demand | search volume for the topic's head keywords | Ahrefs |
| Competitor traffic | organic traffic of competing articles | Ahrefs, Keys.so |
Keywords and specifications
Each topic got its own keyword set: head terms, synonyms, long-tail phrases. From that I built the article structure against real queries, a list of topical terms — single words, pairs and triples — and a table of their median frequency across the articles already ranking in the top.
| Section of the brief | What is in it |
|---|---|
| Instructions | write or rewrite, target audience, localisation, editorial policy |
| Meta tags | finished title, description, H1 and URL |
| Content brief | block-by-block H2/H3 structure, notes on each block, keywords with placement requirements, target length range |
| Topical terms | words, pairs and triples, plus the list of ranking competitors |
| Term density | median frequency of each topical term across competitors — a reference point for the writer |
Every article was checked against its specification after writing: all required blocks and placements present, heading structure followed, length and register right for the audience, meaning accurate.
Results
Articles shipped in waves — October, November, December. Traffic grew every month: by March, clicks from Google were 3.2 times the October figure.
| Month | Google clicks | Google impressions | CTR | Position |
|---|---|---|---|---|
| October 2025 | 19,077 | 1,053,843 | 1.81% | 6.0 |
| November 2025 | 40,686 | 3,131,904 | 1.30% | 4.3 |
| December 2025 | 49,082 | 5,149,738 | 0.95% | 4.2 |
| January 2026 | 51,795 | 5,529,616 | 0.94% | 4.0 |
| February 2026 | 55,026 | 5,091,065 | 1.08% | 4.0 |
| March 2026 | 61,840 | 5,255,666 | 1.18% | 3.9 |
| Total | 277,506 | 25,211,832 | — | 6.0 → 3.9 |
Google Search Console
Enlarge
Rankings
Across the tracked query set, between 16 November 2025 and 15 March 2026: 396 queries (72%) sit in the Google top 10, a gain of 196 over the period.
A note on CTR
CTR falls in the table while clicks rise, and that is worth explaining rather than hiding. As articles started ranking for far broader query sets, impressions grew faster than clicks — 5x against 3.2x. A lower CTR on five times the impressions is a larger audience, not a worse result; the figure to watch here is clicks and average position, both of which improved every month.
What I would do differently
Fourteen of 23 articles produced the traffic. The nine that did not were mostly topics where the competing pages were far stronger than the demand data suggested — a signal I now check explicitly before a topic goes into the plan, by looking at who currently ranks rather than at volume alone.