The SEO plan I am actually running on PPC.io.
I spent years running paid search for more than 100 clients. Here is the one lesson that carries over to SEO: traffic is not the goal.
More visitors is not a win by itself. Getting the right people to something useful is the win.
So when I sat down to sort out PPC.io's own SEO, I did not open a keyword tool and ask "which keywords have the biggest search volume?" That question puts the tool in charge.
I asked a different question first.
Start with the target, not the keywords
PPC.io's goal is to grow from 1,531 qualified organic clicks every 91 days to 6,124 by 28 February 2027. That's 4x.
The word "qualified" is doing the important work in that sentence. I do not want four times the random visitors. I want four times the clicks that land on pages tied to the software, a genuinely useful PPC tool, or someone close to a real buying decision.
Here's why that distinction matters so much: it is easy to hit a traffic number and still fail the business. You just chase big, vague keywords that bring the wrong people. This whole method exists to stop that from happening.
PPC.io is a good site to learn this on, because it is a mess in an honest way:
- Some pages are flying.
- Some pages rank brilliantly and almost nobody clicks them.
- A few pages used to work well and have fallen off a cliff.
- We show up for thousands of searches we never deliberately tried to rank for.
A tidy case study would be easier to write about. This messy version is more useful, because every one of those situations forces a real decision.
PROFIT-FIRST: Keyword research starts with profit, not volume. Look at which products or services are already making you money. Then go after the searches closely related to those offers. Ignore everything else, no matter how big the search volume looks, until you're winning around the offers that actually work.
An offer is the proven part of this whole system. A keyword is not "profitable" just because it sounds commercial, has a big cost-per-click, or shows up in a competitor's ad campaign. A keyword is just a possible route to a customer. It only becomes valuable once you connect it to something real you sell.
One housekeeping note before we go further: unless I say otherwise, every PPC.io number in this guide is worldwide Google Search Console data from 28 April to 28 July 2026. Where I mention a search position, that's the average position for that exact search on that exact page. Revenue and margin figures stay private.
The pages already working tell me where to go next
Here's the fastest way to find your next move: look at what is already succeeding, and do more of that.
Over the latest 91-day window on PPC.io:
- Our AI tools for paid ads guide brought 498 clicks from 74,013 impressions.
- Our AI tools for Google Ads guide brought 482 clicks from 41,175 impressions.
- The Performance Max scripts page brought 207 clicks from 5,491 impressions, a 3.77% click rate at an average position of 9.0.
- Even the narrow, specific Claude Code setup tool brought 52 clicks from 3,123 impressions.
The pattern isn't subtle. People already find PPC.io when they're trying to use AI, scripts, and practical tools to run better paid ads. That's exactly what we build software and resources for.
So the first job is simple: protect that territory, then go deeper into it. Not wander off chasing some giant keyword just because a tool coloured it green.
One page can contain a winner and a waste of time at the same time
Here's a mistake I made early on, sorting through this same AdSense-style data: I looked at one page's total numbers and drew the wrong conclusion.
The high-CPC keywords page earned 322 clicks from 220,460 impressions in the same 91 days. Good page overall. I still want to improve it.
But look closer, at two of the actual searches landing on that page:
| Search | Impressions | Clicks | Average position | What's really going on |
|---|---|---|---|---|
high cpc keywords | 2,518 | 21 | 3.37 | Someone researching ad costs. Relevant. Protect and improve. |
high paying adsense keywords | 2,984 | 1 | 3.18 | Someone trying to make money showing ads on their own site, not buy them. Wrong audience. |
Same page. Similar impressions and position. Completely different value to the business.
The high cpc keywords searcher is probably an advertiser, exactly who PPC.io is built for. The high paying adsense keywords searcher is a website publisher hoping to earn money from ads shown on their own site. They will never buy anything from PPC.io.
So the right move isn't "delete the page" or "ignore the page." It's more precise than that: keep improving the page for advertisers, hang on to the ranking authority it's already earned, and stop counting the publisher searches as commercial progress.
That one distinction, "who is actually behind this search," is basically the whole method in miniature. Everything else in this guide is just a more structured way of asking that same question.
The five decisions you'll end up making
Every search you review will end up in one of five buckets. I'll explain each one properly later in this guide, but here they are up front so you know where we're headed:
| Decision | What it means | A real PPC.io example |
|---|---|---|
| KEEP | The right person already lands somewhere useful. Leave it alone and protect it. | google ads ai brought 123 clicks from 5,538 impressions at position 5.97, on a guide that sits right in PPC.io's territory. |
| FIX | The search is good, but the page, the route, or the next step is wrong. | ppc reporting software produced 2,610 impressions at position 3.23 and zero clicks, on our existing reporting page. |
| BUILD | A real market exists and no current page owns it. | landing page builder gets 2,900 US searches a month in outside data, with no exact matching row in our own Search Console. Worth investigating, not an automatic yes. |
| TEST PPC | The buyer, the destination, the action, and the maths all check out for a small paid test. | ppc landing page is a candidate, but a number is missing from our planning row. Not ready to test until that's fixed. |
| IGNORE | Wrong customer, or it fails the "do we actually have something to offer them" check. | high paying adsense keywords is a publisher search, not an advertiser search. Ignore that row. |
Most rows will land on IGNORE. That's a good outcome, not a failure. I'd rather do five useful things properly than produce a 400-row spreadsheet nobody ever opens again.
Start here if you want a result today
The full method takes some explaining, but the first pass through your own data takes about 10 minutes. Give yourself a firm finish line: under 15 minutes.
Do the steps in this order:
- Choose one proven profitable product or service. Write down the proof it already makes money.
- Export the Search Console rows for the date range and market you care about.
- Give the pack and your export to your AI (more on this below).
- Answer five business questions about the customer, the offer, the page, the next step, and the market.
- Check and correct ten rows of the AI's suggestions by hand before letting it touch the rest.
- Sort the searches into Keep, Fix, Build, Test PPC, or Ignore, once those first ten look right.
- Record one chosen action in the workbook and tracker.
Then actually go and do that one thing.
The rest of this guide walks through how to make each of those judgement calls properly: how to price a paid test, how to avoid building a page you don't need, and how to check afterwards whether the decision actually worked.
One more thing before you start: the workbook is deliberately manual. Rows don't move between tabs on their own. Either copy the row yourself, or ask your AI to write its output into the named tab, then check its work.
You can hand this whole system to an AI and talk it through
I think this is how most people will use guides like this from now on.
Download the one-file version of this pack. Put it next to your Search Console export. Give both files to Claude Code, Claude, ChatGPT, or whatever AI you use. That one file contains this Blueprint, the Quick Start, a worked example, the agent instructions, and the written parts of the workbook and tracker.
Then tell it something like this:
Read the PPC.io pack first. Help me apply it to one product or service that already makes money.
Ask me the business questions one at a time. Do not invent missing numbers.
Show me ten varied searches before you process the rest.
Help me choose one useful action, not produce a giant keyword list.
Here's the honest division of labour: the AI can chew through a thousand spreadsheet rows without ever getting bored or careless. What it cannot do is know which customer is actually worth having, whether your offer is any good, or what a lead is really worth to you, unless you tell it.
Let the AI handle the sorting. You keep the business judgement. That split never changes, no matter how good the model gets.
Open the complete pack and get the AI-ready file
Stage 1: Start with the thing that pays
Before you open a keyword tool or touch a spreadsheet, write down four things:
- The one product or service this pass is going to support.
- The proof that it already makes money: completed sales, retained clients, qualified leads, or sales that stay profitable after you subtract the cost of delivering them.
- The person who actually buys it.
- The one useful action that moves that person closer to buying.
You don't need to share private revenue or margin numbers with anyone. You do need enough real evidence in front of you that you don't end up picking a theme based on search volume alone.
1. What Search Console tells you, and what it can't
Search Console records the searches where Google actually showed your site. For each search it knows about, it can tell you:
- Clicks.
- Impressions (how many times your result was shown).
- Click rate.
- Average position for that search.
- Which page, country, device, and date, when you include those filters.
That makes it genuinely useful data. It's not a tool guessing what people might type. It's evidence that a real person searched for something and Google actually showed them your site.
But it doesn't show you the whole market. There are two limits worth knowing before you trust a single row.
Limit one: some searches are hidden
Google hides rare searches for privacy reasons, and it caps how many rows you can see in the interface. A normal export gives you up to 1,000 representative rows. The totals at the top of your report can include activity that never shows up as a named row in that table.
Limit two: silence doesn't mean "no demand"
If your site has never once appeared for a topic, Search Console simply has no row for it. There's nothing to see.
That silence could mean nobody searches for it. Or it could mean plenty of people search for it and you just have zero visibility there yet. Search Console alone cannot tell you which one is true. You need an outside keyword tool to check.
If you want to read Google's own explanation of both limits, they're documented here: Export data directly from a Search Console report, Performance report dimensions and data groupings, and How Performance report data is aggregated.
Before you interpret anything, write down what you actually exported
| Check | What to record |
|---|---|
| Date | Exact start and end date |
| Search type | Usually "Web" |
| Market | Country filter, or "Worldwide" |
| Device | Mobile, desktop, tablet, or all |
| Rows | How many rows the export contains |
| Columns | Query, clicks, impressions, click rate, position, page (if present) |
| Property total | Total clicks for the same scope, if you have it |
| Limits | Anything missing, truncated, anonymised, or unclear |
If a piece of information isn't in the file, don't guess it from the filename. Just write "Unknown."
Work out how much of your traffic the export actually explains
If you have the site-wide total clicks for the exact same date, search type, market, and device:
share of traffic explained = clicks in named query rows / property total clicks
That percentage tells you how much of your real click activity the visible rows can actually explain. You can skip this on a quick first pass. It starts to matter once you're making a bigger call based on an export that might be missing a lot.
Two things to avoid here: don't treat the row count as coverage, and don't compare worldwide query data against a single-country total. If the scopes don't match, the honest answer is "Unknown," not a guess.
A blank cell and a zero are not the same thing
Google says that values shown as "unavailable" on screen can turn into a plain zero once you export the file. So a zero in your CSV just tells you what made it into the export. It is not automatic proof of zero demand, zero value, or zero future clicks.
WATCH OUT: Never turn "I don't know" into a zero just to fill the cell. If you're missing a figure, write down why: nobody checked yet, the source returned nothing, or the field doesn't apply here. Whatever the reason, don't type a zero to make the row look complete.
2. Search Console and a keyword tool answer different questions
These two sources are not interchangeable. Each one is blind to something the other one sees.
| Source | Good for | Blind spot |
|---|---|---|
| Search Console | Searches your site already shows up for, even by accident | Topics your site has never appeared for at all |
| An outside keyword tool | The size of the wider market, beyond your own current visibility | What your actual visitors typed to find you |
Start with Search Console, because it shows you real searches your site already appears for. Bring in an outside keyword tool when you need to check whether a bigger market exists, or what a paid click might cost.
WHAT SEARCH CONSOLE COULD NOT SHOW ME: PPC.io already appears for searches like
landing page analyzerandanalyze ppc landing pages, so Search Console can show me that people want to check their paid-ad landing pages. But it has no row at all for the exact phraselanding page builder. An outside tool (DataForSEO, US data, checked 29 July 2026) shows that phrase gets 2,900 searches a month, with low advertiser competition and an estimated $24.09 cost-per-click. That proves a wider market exists. It does not prove PPC.io has zero visibility there, because Search Console hides some searches from view.
Some of your best ideas are already reaching the wrong page
One of the most useful things to look for is a search that's already succeeding, despite landing on a page that wasn't built for it.
Look for a search that:
- Is genuinely relevant to your business.
- Has real impressions behind it.
- Is currently landing on a page built for something else.
- Isn't already ranking near the very top.
- Has no page deliberately built to own it.
Finding one of these doesn't automatically mean "go build a new page." Your first move should always be to check whether one of your existing pages should simply be answering that search instead.
Don't let search volume decide the order you work in
A small, tightly-related search can matter more than a huge, vague one. A search closely tied to a product you already sell, even with a tiny number of impressions, deserves a place in your queue. A search with thousands of impressions but no real connection to what you sell does not.
Before you even look at how big a search is, ask two questions: is this closely related to the offer I picked, and who actually typed this? A software company usually wants software buyers, not people looking to hire an agency. A Google Ads consultancy has nothing to sell an AdSense publisher, even though both searches contain the word "ads."
Don't try to expand into every nearby topic at once, either. Mark unrelated high-volume searches as Ignore for this pass, and come back to them once you're already winning around the offer you picked today. You can always run another pass later for a different product or service.
Stage 2: Work out who is actually behind each search
3. Read the person, not just the words
An AI model can sort a spreadsheet fast. What it can't do is know your customer just because a search happens to contain a word like best, buy, review, free, or how. Those words are hints, not proof.
For every search that matters, answer these seven questions:
- Is it closely related to the profitable product or service you picked?
- Who probably typed this?
- What were they actually trying to do?
- Are they a plausible customer for you?
- What could you honestly offer them?
- Where should they land?
- What's the one useful thing they could do once they get there?
Write the reasoning down next to each answer, not just the answer itself. That turns a hidden judgement call into something you (or anyone else) can review later and understand.
Test the AI on ten rows before you let it near the rest
Don't hand an AI a thousand rows to sort before checking whether it actually understands your business.
Pick ten rows with real variety in them: some small and large searches related to your offer, one tempting distraction, and one that's clearly the wrong customer. Throw in an ambiguous one, a good search landing on the wrong page, and a good search with no page at all. Add a proven winner, a result people see but never click, and whichever row the AI itself seems least sure about.
Go through those ten by hand. Correct who you think actually searched, what you can honestly offer them, and where they should land. Only once those ten look right should you let it loose on the rest.
WATCH OUT: Check and correct the AI's first ten answers before you trust it with the rest of the list. It can repeat the same judgement across a thousand rows with total consistency. What it doesn't know, until you tell it, is who your business actually wants to serve.
4. Commercial-sounding words don't mean you have an offer
Words like "buy," "price," or "best" are clues that someone might be ready to spend money. They are not proof that you have something worth selling them.
For every search you're taking seriously, write down the actual thing a good visitor could walk away with:
- A product.
- A service.
- A consultation.
- A genuinely useful free tool.
- A template or guide.
- Or: nothing suitable yet.
"Nothing suitable yet" is a completely valid answer. It usually points you towards FIX or IGNORE, not towards inventing value that doesn't exist.
Actually open the page. Don't guess from the title.
Click through to the real, live page. Don't rely on the page title, or on what you remember it saying.
Once you're there, ask:
- Does this page actually answer the search?
- Does it serve the person who typed that search?
- Is the next action obvious?
- Does that next action actually work?
- Can you honestly put a value on that action, without stretching the truth?
Here's a trap worth naming clearly: a page can rank well and still be a terrible place to send paid traffic. Sending more visitors to a dead end doesn't fix the dead end. It just wastes more money finding out it's broken.
REAL PPC.IO EXAMPLE: Ranking well was never the problem. Our reporting-tools page showed up 2,610 times for
ppc reporting software, at an average position of 3.23, and got zero clicks. Writing yet another article about reporting software would dodge the actual question. What I need to check is the live page itself: what it looks like on the results page, what Google is showing above us, and whether the page gives a software buyer any reason to click through and take a next step.
The landing-page work threw up a very similar problem in a different shape. analyze ppc landing pages produced 1,052 impressions at position 7.74, and zero clicks, on a generic analyzer article. That single row sent me down a rabbit hole: checking the live results, and eventually building a dedicated six-check guide. Both the re-angled page and the new guide came after this data window closed, so I'm treating them as bets I've made, not results I can already brag about.
Every step in the chain has to actually work
For paid traffic especially, you need every link in this chain to hold:
search -> right person -> honest offer -> useful page -> working next step -> business value
If any one link is broken or missing, stop. Don't waste time working out what a click is worth. Fix the chain first.
5. Choose what to do about it
Once you know who's behind a search and whether your page actually serves them, there are only five useful answers:
- KEEP: the right person already lands somewhere useful. Leave it alone and protect it.
- FIX: the search itself is good, but the page, the route, or the next step is wrong. Make one focused fix rather than rewriting the whole thing.
- BUILD: the right person needs something no existing page provides, and you've checked your current pages and the live results first to be sure.
- TEST PPC: the person, the page, the next step, the maths, the market, and a spending limit all check out. This is a separate decision from the SEO one.
- IGNORE: wrong person, unrelated to the offer you picked, or it fails the "do we have something to offer them" test.
If you genuinely need the business owner's judgement on the audience or the page, say so instead of guessing. If a number is missing, name what's missing. Don't turn a "maybe" into a task just because the spreadsheet has a column that wants filling in.
Stage 3: Work out what you can actually spend
6. Work out your ceiling before you look at Google's price
Here's a mistake that's easy to make: checking what Google charges for a click before you've worked out what a click is actually worth to you.
Flip that order around. Start with what you can afford.
THE RULE: Work out your ceiling before you look at the market price. Google's cost-per-click is not your budget. What decides your budget is your allowable cost per conversion, multiplied by your expected landing-page conversion rate.
maximum CPC = allowable cost per conversion x expected conversion rate
Your "allowable cost per conversion" is the most the business can spend to get that action on the landing page, while still keeping the margin it needs. It is usually not the full revenue or value of that action, because you still need money left over after paying for the click.
Working out a sensible cost per lead
When the thing your landing page collects is a lead, rather than a direct sale, use this two-step version instead:
expected gross contribution per lead = gross contribution per sale x lead-to-sale close rate
allowable cost per lead = expected gross contribution per lead x (1 - required margin retained)
Use gross contribution after subtracting the direct cost of delivering the sale, or some other clearly defined value. "Required margin retained" just means the share of that expected value that has to survive after you pay for the ad click.
Here's the maths worked through with made-up numbers, purely so you can check you're using the formula correctly before you plug in your own real figures:
- One sale creates £1,000 of gross contribution.
- 20% of qualified leads become sales.
- The business needs 50% of expected contribution to remain after paying for the click.
- Expected contribution per lead: £1,000 × 0.20 = £200.
- Allowable cost per lead: £200 × (1 - 0.50) = £100.
- The landing page converts at roughly 5%.
- Maximum CPC: £100 × 0.05 = £5.
None of those numbers are real PPC.io figures or industry benchmarks. They're invented purely to show the formula working. Swap in your own gross contribution, close rate, required margin, and page conversion rate, and the same formula hands you your own real ceiling.
The real, unfinished example: ppc landing page
Here's the actual planning row I'm using for ppc landing page at PPC.io, including the part that's currently stopping me from launching anything:
- Search Console recorded 557 impressions, 2 clicks, and an average position of 24.36.
- Our internal planning model records 400 for one qualified consulting lead. But it doesn't record what currency that's in, or how much of it we're actually allowed to spend acquiring the lead while keeping our margin.
- I've modelled the landing page at a 2% conversion rate.
- Because the allowable cost per lead isn't recorded, I can't calculate a maximum CPC yet. Multiplying 400 by 2% would only be valid if 400 were the amount we're allowed to spend, and it isn't. It's a value figure, not a spending limit.
- Keyword Planner shows the US top-of-page range as £4.37 to £14.05, and the UK range as £3.06 to £26.98. Those are in GBP because that's the currency our Google Ads account runs in.
That does not mean "launch the campaign." Two pieces of information are still missing: the allowable cost per lead, and the currency it's actually recorded in. That 2% conversion figure is also just a planning assumption, not measured data from a real PPC.io campaign. The correct decision today is not ready.
This is exactly the kind of SEO-and-PPC overlap I care about. Search Console shows PPC.io barely ranking for a search tied directly to one of our services. Paid search could get us an answer much faster than waiting on SEO. But only once the numbers the business needs are actually filled in.
Use your own contribution, close rate, required margin, and conversion rate here. Don't borrow mine just to make the spreadsheet balance.
Write down where both numbers came from
For your allowable cost per conversion, record:
- The amount.
- The currency.
- Which conversion it's valuing.
- How you worked it out: close rate, gross contribution, and required margin for a lead business.
- Whether it's Measured (from real data) or Assumed (your best estimate).
- The date that evidence is from.
For your conversion rate, record:
- The percentage.
- Which page and audience it applies to.
- Whether it's Measured or Assumed.
- The date that evidence is from.
Then calculate the ceiling. Don't type in a maximum CPC number that doesn't actually match its own inputs.
Keep the market and the currency consistent
Every forecast you write down needs:
- Country or market.
- Currency.
- Whether it's an exact match or a broader forecast.
- Source.
- Date checked.
A global search volume number and a cost-per-click figure from one specific country are two different markets pretending to be a single row. And remember: any forecast is an estimate. It is not traffic you've actually won yet.
A blank cost-per-click doesn't mean a free click
There are two different reasons a CPC field might be empty, and they mean very different things:
- Not requested: nobody ever asked a pricing tool for this keyword.
- Unavailable: it was requested, and the tool simply had no pricing data to return.
The second case is actually interesting, not a dead end. Real people can type valuable searches even when a keyword tool has thin pricing data on them. If the person behind the search could genuinely become a customer, the landing page and next step already work, and the click looks affordable, a small paid test can teach you more in a week than another round of forecasting.
Set your spending limit before you spend a penny
Before you launch anything, write down:
- The keyword or theme.
- The market.
- The landing page.
- The result you want: enquiry, signup, sale, or something else.
- Maximum CPC.
- Bid limit or total spending limit.
- How long the test runs.
- The condition that stops it.
- What counts as success.
- Which assumptions this test is meant to replace.
And one hard rule: never let an AI agent change a live campaign or its budget on its own.
Paid and organic overlap needs measuring, not assuming
Ranking well organically doesn't automatically mean a paid click on the same term is wasted money. Paid ads can add extra clicks, cannibalise organic clicks that would have happened anyway, or simply change who ends up converting.
If that overlap is big enough to actually change your spending decision, run a controlled pause or an incrementality test if you can. Until you've done that, just label the overlap as Unknown or Assumed. Don't guess a number.
Stage 4: Fix the page before you spend money
7. Don't judge a whole page from one average position
Start by asking what you can actually see happening:
| What you can see | What it means |
|---|---|
| The page you intended to rank is doing its job | Leave it alone. |
| A useful search shows up, but you never chose a page for it | Check whether an existing page should answer it. |
| The wrong page is showing up | Fix which page Google is being pointed towards. |
| The right page is losing positions or clicks | Find out why before you touch the title. |
| The search is coming from the wrong person | Ignore it for this particular offer. |
Look at individual searches, not the page's blended average
A page's "average position" blends together every single search that ever showed that page. It is not one clean rank. It can genuinely hide the truth.
Here's an example to make that concrete. Imagine a page ranks #1 for its main target search 30% of the time, and ranks around #25 across a long tail of other searches the other 70% of the time. Blend those together and you get an average position of 17.8. If you only looked at that blended number, you'd think "this page ranks 18th," and completely miss that it actually owns the one search it was built for.
So always check the position for each search that actually matters to you. Only use the page's blended average as a rough clue about how big its long tail is.
Always compare two equal-length date ranges
A single snapshot in time can't tell you the difference between a page that just collapsed and a page that never really worked in the first place. You need before-and-after.
When comparing, keep these identical on both sides:
- The same number of days.
- The same search type.
- The same country and device scope.
Then look at what actually changed:
- Position for the exact search.
- Click movement.
- Impression movement.
- Any big shift in which searches are even reaching the page.
If a page is losing clicks because its rank fell, a new title is not your first move. Work out why the ranking dropped before you touch anything else.
Two fictional rows that show why the diagnosis has to come first
Every URL, query, date, and metric in these two rows is fictional teaching data. These are not PPC.io actuals. They exist purely to show two problems that look similar at a glance but need completely different fixes.
Rank loss: ppc audit checklist on a fictional guide page went from position 4.2 to position 8.7 across two matched 28-day windows (2026-04-01 to 2026-04-28, then 2026-04-29 to 2026-05-26). Impressions dipped slightly (2,000 to 1,800) and clicks fell hard, 160 to 72, as click rate dropped from 8.0% to 4.0%. Position fell materially here, so the click loss can't be isolated as a title problem. The right move is to diagnose the rank loss first, then Refresh or Re-angle if the evidence supports it. Don't start with Retitle.
Click loss at stable rank: google ads audit template on a different fictional page held position almost perfectly, 3.2 to 3.3, with impressions completely flat at 2,000. But clicks still fell, 190 to 118, and click rate dropped from 9.5% to 5.9%. Because position and impressions stayed stable while clicks fell, click appeal is the isolated candidate here. This is the one case where a title and snippet test, with the body left untouched, is the right first move.
Same shape of problem on the surface, "clicks went down." Completely different diagnosis, and completely different fix.
Three PPC.io pages that looked small until I compared the dates
If I'd only looked at the last month's numbers, I would have written these off as pages that never did much. Comparing the same window a year apart told a completely different story.
| PPC.io page | 29 June to 26 July 2025 | 28 June to 25 July 2026 | What that actually changes |
|---|---|---|---|
| Google Ads MCP | 270 clicks, average position 7.7 | 3 clicks, average position 18.9 | This was a genuine winner. It lost its place. I need to diagnose it and refresh or re-angle it, not dismiss it as a small topic. |
| Facebook Ads MCP | 96 clicks, average position 11.1 | 2 clicks, average position 24.6 | Same story. The ranking collapse matters far more than a cleverer title would. |
| Connect Google Ads to ChatGPT | 46 clicks from 737 impressions, average position 9.7 | 1 click from 1,477 impressions, average position 26.0 | The page actually appeared more often overall, even as its clicks and average position both collapsed. |
Those rank losses are simply observed fact from the data. My best guess at why is that the platforms, their documentation, and the ways you connect to them all changed while our pages stayed exactly the same. That's a solid hypothesis worth investigating, but it's a hypothesis, not something Search Console can prove on its own.
Pick one type of fix, not several at once
Protect: when the page already works. Do nothing.
Route: when the wrong page is receiving the search. Fix the routing, not the content.
Retitle: only when the position for the exact search is stable, and the evidence points specifically to a click problem rather than a ranking problem. Compare against similar pages on your own site if you can. If you can't, just write "Unknown" for the benchmark rather than guessing.
Refresh: when the page's job is still the right one, but the facts, examples, evidence, or depth have gone stale.
Re-angle: when the ranking is falling, the core argument is wrong, the page is serving the wrong person, or a platform now owns the basic answer itself.
Merge: when two of your own pages are competing to answer the same search.
Whichever one you pick, change one main thing at a time. If you want to actually learn what caused a result, don't mix a title test with a full rewrite in the same move. You'll never know which one did the work.
8. Make a new page earn its place
Search Console can show you a search your site ranks for by accident. An outside tool can show you demand where your site currently has zero visibility. Neither one of those is permission to hit publish on a new page.
Check what you already have first.
List every existing page that already answers some part of the search. Then pick one of three moves:
- Create a new page only when none of your existing pages properly answers the search.
- Merge pages when two of your pages are already competing to answer the same thing.
- Improve an existing page when it's already the natural home for the answer.
Before you build anything
DECISION: A new page is always the expensive answer. Make it earn its place before you hand Google another URL, and hand your own team another page they now have to keep up to date forever.
A new page needs all of the following:
- A relevant audience.
- Demand you've either observed directly or confirmed with an outside tool.
- No existing page that should already be doing this job.
- A genuinely distinct job of its own.
- A format that matches what's already ranking well for that search.
- An angle the current top results don't already cover.
- A credible next action for the reader to take.
- A baseline number and a date to check back on.
If even one of those is missing, stop. Either make the judgement call properly, or go and get the information you're missing first.
Say what the page is for, in one sentence
Try filling in this sentence before you write anything else:
This page helps [specific person] do [specific job] by [specific thing no current result provides].
"More comprehensive than the other guides" is not a real answer, because it isn't substance. Real substance looks like: your own data, genuine hands-on testing, a reusable asset someone can actually take away, a decision other pages avoid making, or evidence your competitors simply can't reproduce.
Search Console found the question. It didn't tell me to build a page.
PPC.io appeared 8,940 times for how to connect ai assistant to meta ads manager, at an average position of 9.42, without a single click.
That looked like an obvious BUILD. So we wrote a new article.
Then the "check your existing pages" step caught a problem: the new article overlapped almost entirely with our established Facebook Ads MCP guide. We'd answered a genuinely useful question by creating two pages that both wanted the same job.
So we kept the useful new material, folded it into the stronger existing page, and redirected the duplicate.
Search Console did exactly its job here. It found real demand. What it could never tell us was whether the right response was BUILD or FIX. Only looking at our own site stopped the first answer from quietly becoming a second mistake.
The landing-page opportunity is a system, not one magic article
Here's another reason I don't want to produce one more giant keyword list: landing pages at PPC.io are a genuinely good example of why the system around a page matters more than any single article.
PPC.io already has 54 industry landing-page galleries. Together, those specific pages earned 264 clicks from 27,323 impressions in the same 91-day window. The roofing gallery alone brought 42 clicks. Financial services brought 28. HVAC brought 20.
Meanwhile, the main landing-page examples hub, the page meant to tie all those galleries together, managed just 10 clicks from 1,369 impressions, at an average position of 39.0.
So the individual gallery pages have already proven they can attract real people. The hub barely attracts a click. My next move isn't to publish a 55th gallery just because some content tool suggested it. It's to connect the galleries, the analyzer tool, the service, and the post-click product story into one route a reader can actually follow.
There's one more wrinkle worth knowing about. Our landing-page analyzer article earned 86 clicks from 15,989 impressions. But the specific search analyze ppc landing pages produced 1,052 impressions at position 7.74, and zero clicks. When I checked the live results for that exact search on 29 July, five of the top 12 results were generic guides, Reddit ranked first, and the AI Overview cited eight generic guide sources rather than a tool. The related search landing page analyzer behaves completely differently: it's tool-led, not guide-led.
So there are actually two different people here, wanting two different things. One wants a genuinely useful method they can read and apply themselves. The other wants a tool they can just use.
Zooming out again: an outside tool (DataForSEO, US data, checked 29 July 2026) shows landing page builder getting 2,900 searches a month, with low advertiser competition and an estimated $24.09 cost-per-click. That exact phrase doesn't appear anywhere in PPC.io's own named Search Console rows. That doesn't prove we have zero visibility there, because Search Console hides some searches. It just means we can't see it directly yet.
That keyword is not the proof. The real proof has to come from the landing-page offer and customer problem PPC.io already serves. If I cannot back that up internally with real sales, retained work, or qualified leads, this idea does not jump the queue just because the CPC looks exciting.
The 2,352 analysed figure you'll see in the hub title refers to the wider page corpus. The 650-page set mentioned later in this guide's article case file is a smaller, fully source-graded subset used for that specific guide. Different denominators, not conflicting totals.
Pulled together, that gives me three separate, concrete jobs instead of one vague "do something about landing pages" task:
- FIX how the working gallery pages connect to the hub, and to the things we actually sell.
- FIX or re-angle the analyzer content, so the searcher can actually go and analyse a page, not just read about doing it.
- Investigate a BUILD around a paid-ad landing-page product, but only if the existing offer already has commercial proof behind it, and no current page should already own that job.
Stage 5: Make the smallest change that actually solves the problem
9. Look at what Google is showing before you write anything
Search Console tells you how your site performed. The live results page tells you something different and just as important: what Google currently believes the searcher wants.
Before writing a word, record:
| What you see | What it decides |
|---|---|
| Format mix | Guide, list, comparison, tool, video, local result, or product page |
| Answer box or AI Overview | Whether a lot of searches get answered without anyone needing to click through |
| Sources the AI Overview cites | The kind of evidence and format Google currently trusts for this search |
| "People Also Ask" questions | The specific questions your page needs to answer clearly |
| Forum or community results | Whether publishers and vendors are currently under-serving real experience |
| Your current page | Whether to fix an existing page, or genuinely build a distinct one |
Match the format people already want, then add something real
If the strongest results are all comparison pages, a generic essay probably won't satisfy the same need. If people clearly want a tool, a 3,000-word article isn't a substitute for one.
So first, match the format the search actually expects. Then make your version genuinely useful on top of that, using your own data, real experience, an actual tool, a template, or a point of view nobody else is offering.
Ask yourself: could the platform itself publish this tomorrow?
Before committing to a page, ask whether Google, Meta, or whichever platform you're writing about could just publish the basic answer themselves tomorrow.
If the honest answer is yes, don't build a page that just repeats their own documentation back to them. You'll lose that fight. Instead, add something a platform itself is very unlikely to ever say:
- An honest comparison.
- Who should not use this.
- What actually broke when you tried it in practice.
- Real evidence from a real account.
- A reusable workflow or template people can take away.
WHAT WE GOT WRONG: We let pages that had already won go stale. Across matched 28-day windows, Google Ads MCP fell from 270 clicks to 3, Facebook Ads MCP fell from 96 to 2, and our Google Ads to ChatGPT guide fell from 46 to 1. The ranking losses themselves are real and measured. My best explanation, that first-party documentation and the available connection routes changed while we stood still, is a working theory, not something Search Console can prove on its own. Either way, the fix isn't to rewrite a platform's own setup guide. It's to add what the platform itself will never say: who should avoid this, an honest comparison, what actually broke, real evidence, or something reusable.
Write down what makes the page worth reading, before you outline it
If you genuinely can't state what your page adds beyond what already exists in the results, that's a sign. Put the topic back in the queue rather than writing it anyway.
10. Change one kind of thing at a time
Before you touch anything, write down the single problem you're trying to solve. Not three problems. One.
If you're fixing routing
- Decide which page should actually own the search.
- Tidy up internal links and their anchor text.
- Only merge or redirect once you're genuinely sure which page should win.
- Check that the page you're routing towards actually answers the search.
If you're testing a new title
- Leave the body of the page untouched.
- Make the title and the main heading promise exactly the same thing.
- Use a specific, concrete claim the page genuinely delivers on.
- Record the old title, your baseline numbers, and the date you checked.
- If it's already winning, leave it alone. Don't fix what isn't broken.
If you're refreshing a page
- Replace stale facts with sources you've actually checked.
- Add whatever evidence or examples are missing.
- Answer the questions you can see in the live results.
- Keep the sections and assets that are still pulling their weight.
- Recheck your inbound links, so the promise they make still matches the page.
If you're re-angling a page
- Write down exactly why the old angle stopped working.
- Decide what has to be removed before you start rewriting.
- Keep the evidence and assets that still earn their place.
- Read the finished page back and check for leftover claims from the old version.
- Keep the same URL unless you have a genuinely good reason to change it.
If you're building a new page
- Define the specific person and the specific job.
- Confirm real demand exists.
- Double-check that no existing page should already be doing this job.
- Match the format the results page expects.
- Put your unique angle somewhere prominent, not buried.
- Give the reader a clear, useful next action.
- Link to it from genuinely relevant pages you already have.
- Record a baseline before the page has any data of its own.
More words never automatically make a better page
A long page can still be useless. A short page can fully solve someone's problem.
Check the things a real reader can actually use:
- Is the answer clear before the first big scroll?
- Does every number have a source and a date attached?
- Is there something worth copying, saving, or actually using?
- Do the images and tables support the sentence sitting next to them?
- Does the page make one coherent argument, or several muddled ones?
- Does the next action actually fit the person reading it?
WHAT WE GOT WRONG: A page can build perfectly and still lose everything a reader actually sees. On 29 July 2026, a title update accidentally dropped the hero image, social image, byline, category, and related posts from 30 different pages. Every automated check passed. The site still built fine. Nothing broke, technically. Always look at the rendered page yourself, on both desktop and mobile, before calling anything finished.
Build checks are good at catching broken files and missing fields they're specifically configured to look for. They cannot tell you whether the page actually makes sense to a human being. Only you can check that.
Stage 6: Decide what success and failure actually look like
11. Write down what would prove you wrong, before you start
Here's a trap that's easy to fall into without noticing: if you only decide what "success" means after you already have the result, almost anything can be spun into a win.
THE RULE: Write down the embarrassing miss before you ship, not after. Don't make a change and then decide afterwards what it was supposed to achieve.
For every action you expect to move a number, record:
- The exact change you're making.
- The URL or keyword involved.
- Your baseline date range.
- The comparison date range.
- The direction you expect things to move.
- A specific result that would prove your idea wrong.
- The earliest sensible date to actually check back.
- Anything else going on that could affect the result.
That "what would prove me wrong" field is the one that actually matters most. Without it, almost any outcome can quietly be explained away as a win after the fact.
Put a real date in the calendar, not a vague timeframe
Write down an actual calendar date before you make the change or launch the paid test. "In about eight weeks" is far too easy to forget, or to quietly stretch when the moment arrives.
- Title or snippet change: check 21 calendar days later. A title changed on 3 August 2026 gets its first honest read on
2026-08-24. - Ranking change, refresh, or new page: check 56 calendar days after it goes live. A page live on 3 August 2026 gets its first honest read on
2026-09-28. - Capped PPC test: check the day after the test's planned end date, but only if you actually hit the click, spend, or conversion threshold you wrote down beforehand. A test ending 16 August 2026 gets checked on
2026-08-17. If you didn't hit the threshold, mark it Inconclusive rather than quietly running it longer until it looks like a win.
For SEO changes, make sure your comparison window ends before the check date, and confirm Search Console actually has the full window of data available. For PPC, write your evidence threshold down before you launch, not after.
Four worked examples you can copy directly
Title-only change
If the title really was the problem, the position for the exact search should stay roughly stable while clicks or click rate improve. If the position drops instead, you can't cleanly credit the title for whatever happens next.
Page refresh
If stale or missing evidence really was the problem, the page should start regaining impressions and rank on its intended searches over the following 6 to 12 weeks. If those searches keep falling after Google recrawls the page, the refresh theory was wrong, or at least incomplete.
New page
If the new page genuinely has its own distinct job, it should start appearing for the searches it was built for, without pushing your existing page out of its own searches. If the two URLs keep swapping places for the same searches, they're probably competing for one job rather than doing two different ones.
Paid test
If you've got the right people clicking, a landing page that works, and numbers that add up, the test should produce qualified enquiries or sales within your cost limit. Stop the moment you hit the spending limit or the failure condition you wrote down in advance.
12. Call the result honestly
There are only three honest verdicts:
- Hit: what you expected happened, and nothing else obviously messed with the result.
- Miss: the result failed the condition you wrote down in advance.
- Inconclusive: not enough data came in, or something else changed at the same time that makes it impossible to tell.
If a test comes back inconclusive, write down why you couldn't get a clear answer. Don't quietly keep extending the test window until the numbers finally look good.
Always compare equal windows
Compare date ranges of the same length, with the same scope: country, device, and search type all aligned on both sides.
Also keep these separate from each other, rather than blending them together:
- Ranking change.
- Click-rate change.
- Demand change (did more people start searching at all).
- Conversion change.
- Paid auction change.
Don't credit a title for a ranking recovery it had nothing to do with. Don't blame a page's format for a rank collapse that was actually caused by something else entirely.
When you're wrong, update the method itself
A useful tracker will always contain some misses. That's a sign it's honest, not a sign it's failing. When a result misses:
- State plainly which assumption turned out to be wrong.
- Work out whether you simply chose the wrong action.
- Only change your underlying rule once the evidence genuinely supports it.
- Write down the new rule, and the evidence that replaced the old one.
This is how the whole system actually gets better over time. A guide that only ever adds new rules, and never once retires an old one, isn't learning. It's just accumulating.
The five questions I actually need answered
Whenever a row looks interesting, this is where I slow down:
| Question | Where the answer comes from |
|---|---|
| What do we already sell, and what proves someone actually pays for it? | The business itself. Never Search Console. |
| Who typed this, and what were they actually trying to do? | Your own customer knowledge, the wording, and the live results. |
| What can we honestly offer them, where should they land, and what happens next? | Open the real page and try the route yourself, in person. |
| Is the current page doing its job, and did it used to do better than it does now? | The exact query and page data, compared across two equal date ranges. |
| What's the smallest useful action here, and what result would prove it wrong? | Your own judgement, written into the tracker before you act. |
That's genuinely enough to reach Keep, Fix, Build, Test PPC, or Ignore for almost any row. The workbook has extra fields for the times a decision needs real maths or a formal paid test behind it.
What I'm actually doing next on PPC.io
None of this is a mystery once you've read the above. Here's the current plan:
- Protect and go deeper into the AI-for-PPC pages and tools that already bring the right people in.
- Recover the MCP and ChatGPT pages that used to work well, instead of writing them off as small topics.
- Fix searches like
ppc reporting software, where PPC.io is clearly visible but almost never chosen. - Turn the landing-page galleries, analyzer, services, and post-click product into one connected route, instead of a pile of disconnected URLs.
- Use small, capped paid tests only where they can answer a real commercial question faster than waiting on SEO alone.
The target stays the same: 6,124 qualified organic clicks per 91 days by 28 February 2027. If a piece of work doesn't move the right people towards something PPC.io can genuinely help them with, it doesn't count towards that number, no matter how the traffic chart looks.
A few terms you might see, explained plainly
Searches where your site appeared
A search where your site showed up in the results. It does not mean you captured that demand, or that anyone clicked.
Share of traffic explained
The percentage of your total Search Console clicks that the named query rows in your export can actually account for. Not the number of rows in the file.
Position for one exact search
The average position Search Console reports for one specific search, within whatever scope you've selected.
A page's average position
A blend across every single search that ever showed that page. Useful as a rough clue about the size of its long tail. Not a clean, single rank.
Maximum CPC
Your allowable cost per conversion, multiplied by your expected landing-page conversion rate.
Equal date ranges
Two time periods with the same number of days, and the same country, device, and search type.
Cannibalisation
Two of your own pages competing to answer the same search.
Spending limit
A bid limit or total-spend limit, written down before a paid test ever starts, not adjusted mid-flight.
Small paid test
A small, tightly controlled paid campaign, used when a real auction can teach you more, faster, than waiting on a forecast that doesn't exist yet.
Before you spend money or build a page, check this list
Before acting on anything in the board, confirm:
- This pass names one product or service that's already proven to make money.
- Closely related searches stay in view even when the volume is small.
- The person behind every search you've chosen could genuinely become a customer.
- You've personally opened the page and tried the next step yourself.
- Before building anything, you checked your existing pages and the current Google results.
- Before paying for anything, you wrote down the maximum CPC, spending limit, country, currency, and stop rule.
- Missing information is labelled as missing, never quietly turned into a zero.
- The action, the baseline, the check date, and the result that would prove it wrong are all in the tracker.
Then pick one row and actually work it.
Don't let this turn into just another backlog nobody clears. Make one decision, run the smallest honest test you can, and let the result make your next decision a little better than this one.
Pack version: Search Console Opportunity Method 1.2.0. Updated 1 August 2026.