Search Console shows one query hitting two similar pages
Both URLs rank a little. Neither owns the job. Traffic looks busy. The document set is messy. We pick a keeper, a merge, or a kill before anyone writes again.
Content SEO
Content SEO from senior consultants who turn search demand into rankings, traffic and revenue for your business. Decide which search documents should exist.
Our process
We start from searches you already appear for, plus the questions they imply, using Search Console, paid search terms and sales notes.
We map your live pages to those questions and flag duplicates and thin pages.
We write briefs only for real gaps, listing the target question, the page, the facts it needs and what it must not repeat.
For existing pages, we decide whether to refresh them or merge duplicates into the strongest version.
Position
Search intent has to show in the live document that already owns a query. If two pages share one opening job, search does not owe you a third. This page starts with demand you can show, then the set of documents that should exist.
Content strategy owns thesis and refusals. Content marketing owns the wave after a page is live. On-page SEO owns the heading and opening on a URL that already won its place. SEO content writing drafts the page a brief already named. Digital PR owns coverage. None of those jobs decide the set. This one does.
We will not brief a new cluster because the calendar is empty. We will not keep two twins because both got traffic last year. If the real question is how to phrase the live heading, open on-page SEO. If the real question is how to write the draft, open writing. If the real question is what you will not say, open content strategy. This page is the map.
Keyword targeting here means one job per future or live document. A synonym list is not a second page. Topical relevance is the test we run on HTML you already published: does this page still belong to the family, or did it drift into a lecture the map never allowed? Keyword density is not a score we sell.
We fetch published HTML for every URL that claims a family. We do not trust a spreadsheet title. Paid search terms can show demand the organic set never covered. They do not automatically become new URLs. We still check twins. A product page and a guide can share a noun and still be two jobs. We split only when the jobs are different. We merge when they are the same lecture.
Compare packages if a published retainer already fits. Use On-page SEO when a related service is the real job. If this page is still a guess, start with a free AI + SEO audit.
When this fits
This page fits when you cannot name which live URL owns a money query, or when new drafts keep appearing without a gap. If you needed a thesis, a distribution plan, a heading pass, or a draft, start there instead.
Both URLs rank a little. Neither owns the job. Traffic looks busy. The document set is messy. We pick a keeper, a merge, or a kill before anyone writes again.
Editors need a slot. The map already has a page for that demand. A new URL is a twin by default. We stop the slot or we name a real gap.
The live offer changed. The URL did not. Refresh can update the facts. Merge can send the query to a newer keeper. A new cluster is the last option, not the first.
Pages exist. The reason they exist does not. We do not honor a forgotten folder as a map.
Process
Each job ends with a list editors can keep. We do not open a writing ticket until the set says a new document is allowed. The point is a site whose URLs match demand, not a fuller blog.
Outcome A dated demand map: query families, jobs, and which already have a URL.
Outcome
Outcome
Outcome A refresh and merge list with owners and the URL that remains.
Deliverables
You do not leave with a posting quota, a thesis deck, or a ranking date.
Query families and the job each family needs. Dated. Last quarter's keyword export is not this map if the product changed.
Every live URL that claims a family, marked keeper, twin, leftover, or gap. Navigation should match the keepers.
One brief per approved gap. URL, job, must-include facts, and what not to copy. Empty briefs are not a pack.
Which keepers get new facts, which twins redirect, and who ships the change. A kill without a redirect note is named.
Calendar ideas we turned down because a twin already exists. This is how the map survives the next sprint. A missing log is how twins return.
Benefits
Search stops splitting clicks across twins. The keeper can be tuned later on on-page SEO.
Draft time goes to gaps. Invented clusters stop looking like output.
Old facts leave the keeper or the leftover leaves the index. The set stays honest.
Distribution can start from keepers. Content marketing stops launching pages the map never allowed.
Methodology
This works when one person can say no to a new draft, and one person can change or redirect a live URL. If both are missing, we are decorating a calendar. We are not holding a document set.
We start with queries you already see, the URLs already live, and the person who can refuse a slot. If any of those is missing, we name it first.
We fetch published HTML for every URL that claims a family. We do not trust a spreadsheet title. Does this page still do one job? Is another URL doing the same lecture?
You may rename the roles below. An implied map is how two keepers appear overnight.
First working session
The first hour is one query that already hits two URLs, or one draft that has no gap. It is not a tour of the CMS folders.
We pick a money query. We list every live URL that ranks or claims it. If two share one unique paragraph, we keep one before we write. If the real question is thesis, that is content strategy. If the real question is the live heading, that is on-page SEO. If the real question is the draft, that is writing.
Then we fetch those URLs and compare them to Search Console. The extra rows are usually twins or leftovers.
We leave with a first map or a stop. A map names keepers, twins, and the next brief or merge. A stop names what is missing: query access, a CMS owner, or a stack that is actually a distribution plan. Both are outcomes. A content idea dump is not.
AI search
Honest, non-twin documents can help later extraction. This page cannot sell AI Overviews, a chat mention, or LLM visibility as a score.
If twins already exist, generative search has near copies to mix. That is ours to tidy as a set. A program across search UIs is AI SEO.
AI search needs a page it can fetch. A brief in a folder does not help. Nobody can guarantee a spot in AI Overviews, but clear pages improve your chances.
That is entity optimization as a document-set input.
LLM visibility needs a sentence a model can quote, then measurement on LLM SEO. Unique keeper HTML can make a page look real. Semantic keywords belong in the keeper body only when they still name the same job. Stuffing a twin with extra nouns is not a set.
Schema
JSON-LD helps a machine read a document the page already states. This work can flag two Article graphs on twins. Schema supports the work; it is not the whole job.
If twins both inject Article markup, extractors guess. We pick the keeper. We do not add FAQ blocks to host leftover terms.
A real question can live on the keeper.
Markup will not force generative search to cite the new cluster. Good markup makes you eligible; it cannot buy a mention.
Who we work with
We work with that person. We do not replace them with a second editorial retainer.
Says yes or no to a new URL. Rechecks after a campaign wants a sibling page.
Wait for an approved brief. Hold the map when a sprint wants volume.
Can keep going once keepers are named. If they try to run this as a wave plan, two jobs collide. Routing stays on content marketing.
FAQ
No. Content strategy owns the thesis and the refusals: why this company speaks at all, and what it will not publish. This page owns the search document set: which URLs should exist for demand you already see, which twins to merge, and which briefs to write.
No. Content marketing owns distribution of pages that already exist. This page decides whether a page should exist before anyone routes it. A campaign calendar is not a cluster map.
No. On-page SEO writes the heading and opening on a live URL. This page decides whether that URL should exist, stay, merge, or die. Tuning a twin that should have been killed is on-page work on the wrong object. Name the object first.
No. Writing drafts the page an approved brief already named. This page produces the brief, or it refuses a new URL because a twin already holds the query. Hold the map here.
No. Honest documents can help later extraction. This work does not buy a place in Google AI Overviews, a chat mention, or a model score. If two twins already confuse extractors, tidy the set here.
A map before another draft
Bring the live URL list, the last three months of Search Console queries, and the pages you still treat as keepers. We will say if the problem is a missing document, a twin, a stale page, or a calendar that outran the map. Then we name the next brief or the next merge.