Answer in brief
When two pages on one site chase the same query, the search engine trusts neither. The link graph shows which page your own site votes for, and intent decides which one is allowed to survive.
The competitor you paid to build
Most ranking problems arrive from outside. A rival publishes something better, a marketplace outspends you, an algorithm update reshuffles a category and takes your listings with it. Cannibalisation is the exception: it arrives from inside, and it arrives precisely because you were productive. Somebody wrote a service page in the spring. Eighteen months later somebody else wrote a long article covering the same ground, and neither person knew the other page existed. Both pages are good. Together they are worse than either would have been alone.
The search engine now holds two candidate URLs from one domain for one query, with no clean signal about which one the site itself considers authoritative. It picks one, reconsiders, then picks the other. Your average position looks acceptable in a monthly export and behaves like a metronome in a daily one. Nobody on the team raises it, because no single page has visibly failed. The failure lives in the gap between the two pages, and gaps do not appear in dashboards.
The VITON13 catalogue treats this as a structural repair rather than a writing task. The entry is called Removing request cannibalization, it sits in the Site structure category, and it is priced at $200 – $600, or 12 000 – 40 000 ₽. The stated working time is 4–8 hours and the difficulty is marked Experienced. Nothing in that band suggests a long campaign or a retainer. It suggests a decision that has been deferred for a long time and can be made in an afternoon once somebody is willing to make it.
Filing the work under Site structure rather than Content is the honest classification. You do not resolve cannibalisation by writing better prose. You resolve it by deciding what each URL is for and then making the entire site say so consistently — in the internal links, in the titles, in what the page actually answers on arrival. The catalogue describes the outcome in narrow, testable terms: the search engine finally understands which page to show, URL jumps stop, positions stabilise and grow. Three claims, all of them checkable in an export.
The symptom is oscillation, not decline
A page beaten by a competitor behaves in a recognisable way. It slides, it stays down, and it recovers only when something about it or about the market changes. Cannibalisation does not look like that at all. The position graph does not slope; it vibrates. One week URL A holds position six, the next week URL B holds position eleven, and the average of those two numbers describes a state the site has never actually occupied for a single day.
This matters because of how the two problems get triaged inside a company. A decline invites a content brief and a link budget, because decline reads as a competitive gap. Oscillation invites nothing at all, because on paper the site is roughly where it was last quarter. Teams routinely commission new material to fix a problem that new material makes strictly worse, since every additional page on the same topic adds one more candidate to an ambiguity the search engine is already failing to resolve.
The check costs an hour and no money. Take your top thirty commercial queries, export them from Search Console with the page dimension included, and look for queries whose landing URL changes across the reporting period. Any query served by more than one URL over ninety days is a candidate. Any query where two URLs each hold a meaningful share of impressions is past being a candidate; it is the diagnosis, and the only remaining question is which of the two URLs deserves to keep the query.
One caution before acting on that export. A query can legitimately be served by different pages at different moments if the query is ambiguous to everybody rather than only to your site. The test that separates the two cases is whether competing pages on other domains also rotate. If the rest of the results page is stable and only your URLs trade places, the instability is yours, it is self-inflicted, and it is the cheapest category of SEO problem to repair.
The link graph is where a site confesses
Every internal link is a small statement about importance. A site with four hundred pages contains several thousand of those statements, and nobody has ever read them all at once. Rendered as a graph — pages as nodes, links as edges, anchor text as labels — the pattern becomes visible in minutes. The disputed query almost always has one page the site links to deliberately with the right words, and another it links to accidentally: from navigation, from a related-posts block, from a footer nobody has audited since launch.
That is why the link graph is the diagnostic rather than a nice-to-have deliverable. Ranking data tells you that two URLs are competing. The graph tells you why the search engine cannot choose between them: because your own site has not chosen either. When the article receives eighty internal links carrying the exact commercial phrase as anchor text and the service page receives four, the site has voted, and it has voted for the page that was never built to convert anybody.
The catalogue lists this as Internal linking using the link graph, in the Linking category, at $150 – $600 or 10 000 – 40 000 ₽, with a stated duration of 4–10 hours and a difficulty of Experienced. Its description is about circulation rather than volume: weight and visitors stop getting stuck, priority pages receive incoming links, forgotten pages are found, and navigation becomes logical for humans and robots alike. The catalogue also notes the result is visible without spending a single rouble on external links.
The forgotten-pages half of that sentence deserves more attention than it usually gets, because orphaned pages and cannibalising pages are frequently the same inventory viewed from two angles. A page with no incoming internal links still exists in the index, still carries a stale commercial title, and still competes for the phrase in that title. Finding it costs nothing extra once the graph is built, and merging or demoting it is almost always cheaper than the series of meetings about whether to merge or demote it.
Clustering by the results page, not by word similarity
The traditional way to build a semantic core groups keywords by how similar the words look. Everything containing the head phrase goes in one bucket, synonyms get a bucket of their own, and somebody with good judgement nudges the edges by hand. The method produces a tidy spreadsheet and a bad site map, because search engines have never grouped queries by spelling. They group them by what satisfies the person typing, and spelling is a weak proxy for satisfaction.
Clustering by the results page inverts the method entirely. For each query you look at which URLs actually rank, then group together the queries that share their top results. Two queries returning substantially the same set of pages are one page's job, however different they read on the page. Two queries that look nearly identical but return disjoint result sets are two separate pages, and building a single page to serve both guarantees mediocre positions for each of them.
In the catalogue this is Semantic core with clustering by issue, category Semantics, priced at $150 – $700 or 10 000 – 50 000 ₽. The rouble line is banded by volume: up to 500 queries runs 10 000–25 000 ₽, and from 1000 queries it runs 20 000–50 000 ₽. The stated duration is 1–2 days for 1000–3000 requests, and the difficulty is Experienced. The volume banding is worth reading closely, because it tells you the work scales with the query set rather than with the size of the site.
The deliverable matters more than the method. The catalogue is explicit that the client receives a page plan rather than a list of keys: which queries should live on one page, which require pages of their own, and which pages the site simply does not have yet. Read against an active cannibalisation problem, that document doubles as the verdict. For every disputed query it names exactly one URL that is supposed to own it, which converts an argument about taste into a decision already written down.
Four possible endings for two competing pages
Once you know which pages collide and which one the plan says should win, there are only four honest outcomes, and choosing between them reliably takes longer than executing them. The first is a merge: fold the weaker page's unique material into the stronger page and redirect the old URL. This is the right call when both pages answer the same intent and one is simply older, thinner, or written before the company understood its own positioning.
The second is re-aiming. Both pages survive, but one stops chasing the shared query and starts answering an adjacent intent it was already half-serving anyway. A comparison article and a service page can coexist indefinitely once the article stops trying to sell and the service page stops trying to explain the category from first principles. This is the outcome that preserves traffic you already have, which makes it the easiest one to get approved internally.
The third is demotion to a supporting role. The weaker page stays published, loses the commercial phrasing from its title and headings, and begins linking upward using the exact anchor text the winning page needs. It becomes part of the link graph's answer instead of part of its problem. Nothing is deleted and nothing is redirected, which makes this the least alarming option for teams operating under archival, legal, or simple political constraints on removing published material.
The fourth is deletion with a redirect to the nearest relevant page, appropriate only for material with no unique value and no inbound links worth preserving. It is the rarest of the four in practice. Most cannibalising pages contain something worth keeping; what they lack is a defined job. The 4–8 hour band the catalogue quotes for cannibalisation work covers making these calls and implementing them across titles, headings and internal links — not writing replacement content from scratch.
Intent is the fix; the keyword only names the fight
Deciding which page wins is a structural act. Making it win is an editorial one. A page designated the owner of a query still has to answer that query better than the sibling it just beat and better than the results surrounding it, and the usual reason it failed to do so was never keyword density. It was that the page answered a slightly different question from the one people were actually typing into the box.
Search intent is a concrete, observable thing rather than a mood. For any query you can read the current results page and see which format wins: a list, a price table, a definition, a step-by-step procedure, a comparison of options. If eight of the ten ranking results are pricing pages and yours is a thoughtful essay on the philosophy of the discipline, the gap is not authority and no volume of links will close it. Matching the format is the shortest path available.
The catalogue offers this as Rewriting pages for search intent, in the Content category, at $50 – $200 per page or 3 000 – 12 000 ₽ per page, with a package of ten pages quoted at 30 000–90 000 ₽. The stated duration is 1–3 hours per page after pipeline setup, and the difficulty is Experienced. Its description limits the promise sensibly: the service targets pages that are already almost at the top, and it is described as the fastest way to grow on a site that already exists.
That limitation is the genuinely useful part of the entry. Rewriting a page that ranks in the seventies will not move it, and anyone promising otherwise is selling optimism. Rewriting the page that has been trading positions six through fourteen with its own sibling — after that sibling has been merged, re-aimed or demoted — is a different proposition entirely, because the competing signal that was suppressing it is gone. The identical hour of work is worth more when it lands second.
The four line items, in the catalogue's own numbers
Laid out together the four entries read as one repair sequence. Semantic core with clustering by issue: $150 – $700, 10 000 – 50 000 ₽, 1–2 days for 1000–3000 requests, category Semantics, difficulty Experienced. Removing request cannibalization: $200 – $600, 12 000 – 40 000 ₽, 4–8 hours, category Site structure, difficulty Experienced. Internal linking using the link graph: $150 – $600, 10 000 – 40 000 ₽, 4–10 hours, category Linking, difficulty Experienced. Rewriting pages for search intent: $50 – $200 per page, 3 000 – 12 000 ₽ per page, 1–3 hours per page after pipeline setup, category Content, difficulty Experienced.
Three of the four are quoted as a defined job with an hour band attached. The fourth is quoted per page, which changes how it should be budgeted. The catalogue states a ten-page package at 30 000–90 000 ₽; at the published rate of 1–3 hours per page, that same package represents somewhere between ten and thirty hours of work. That is arithmetic any reader can perform on the published figures — an illustration of how the numbers relate, not a measurement taken from any particular project.
All four carry the Experienced difficulty label rather than Beginner, and that consistency is a statement about judgement rather than about tooling. Crawling a site and exporting an internal link table is something a competent junior can do in an afternoon with free software. Deciding that a page which currently earns traffic should stop chasing the query it earns that traffic from is the part that requires having been wrong about such a decision at least once before.
The category labels work as a map of where each intervention actually lives. Semantics and Content sit on the demand side and the page side. Site structure and Linking are architecture. A cannibalisation problem always has one foot in each half, which is why these four appear in the catalogue as separate purchases rather than as a single bundled package: most sites need two of them, a few need three, and almost nobody needs all four at once.
Why the semantic core is not always the first purchase
The instinctive order is semantics, then structure, then content. On a site with thousands of URLs and no map, that instinct is correct: you cannot resolve conflicts you have not enumerated, and the 1–2 days the catalogue quotes for 1000–3000 requests is short next to the cost of guessing wrong at scale. The page plan then becomes the reference document every later decision gets checked against, including decisions taken by people who were not in the room.
On a forty-page site with eight commercial queries and two obviously duplicated service pages, buying a semantic core first is buying a map of a room you can see across. The cannibalisation entry, at 4–8 hours and $200 – $600, addresses the actual damage directly. The semantic core remains worth having later, once the site has grown large enough that institutional memory stops being a reliable index of what has already been published and by whom.
The link graph work sits between the two and can reasonably lead. If you suspect cannibalisation but cannot prove which pages collide, building the graph first produces the evidence and, as a by-product, the list of orphaned pages nobody has thought about in two years. Its 4–10 hour band overlaps almost exactly with the cannibalisation band, and the two are frequently bought together because the second consumes the output of the first without any translation step.
Rewriting for intent is the one entry that should rarely go first. At $50 – $200 and 1–3 hours per page after pipeline setup, it is cheap enough to feel like a safe starting point, and that is precisely the trap. Rewriting a page while its sibling still competes for the same query spends the hour on a page whose ceiling is set by something you have not touched yet. The work is not wasted, but its return is capped by the untouched conflict.
The rule that keeps it from growing back
Cannibalisation is a maintenance problem wearing the costume of a project. It reappears the same way it appeared the first time: a new article, a new landing page, a campaign page nobody remembered to unpublish, each one entirely reasonable in isolation and none of them checked against what already existed. Paying to resolve the conflicts once and changing nothing about how pages get commissioned buys roughly a year of quiet, after which the same money is due again.
The rule that prevents recurrence is unglamorous. Every query the business cares about has exactly one page that owns it, that ownership is written down somewhere a person can find it, and no new page ships without somebody checking the list first. The semantic core is the natural home for that register, which is one reason the catalogue describes its deliverable as a page plan rather than a keyword export. A plan can be maintained; an export can only be regenerated.
A second habit costs nothing at all. When a new page is published, look at the anchor text the site is about to use for it. If that phrasing already points somewhere else in volume, you have just created the next conflict, and you have created it in the link graph, where it will be visible months before it becomes visible in rankings. Catching it there costs a five-minute check; catching it later costs the 4–8 hour repair.
Re-checking annually is sufficient for most sites, and more often where the publishing rate is high. What you are re-checking is narrow: has any query in the plan started being served by a URL that is not its designated owner. That question takes about an hour to answer against an existing export, requires no new tooling, and is the cheapest recurring hour available anywhere in the discipline.
When cannibalisation is not your problem
A site with twelve pages and one service does not have a cannibalisation problem. It has a coverage problem, and the four entries discussed here are largely the wrong shelf. The semantic core would still tell you which pages you are missing, which is genuinely useful at that stage, but the structural repairs assume an inventory large enough to have collided with itself, and twelve pages rarely manage that unless somebody tried.
A site with no rankings at all does not have one either. Cannibalisation is a problem of pages close enough to the first results page to interfere with each other. If nothing you own appears in the top thirty for the queries you care about, the position instability you are watching is ordinary noise, and the money belongs somewhere upstream — in coverage, in technical access, in the basic question of whether the pages answer anything specific at all.
Some queries are legitimately served by more than one of your pages, for good reasons. A brand query returning both your homepage and your pricing page is not a conflict; it is coverage of a navigational intent that has two reasonable destinations. The distinguishing feature of real cannibalisation is that the alternation costs you position and clicks, not merely that two URLs from your domain appear in connection with one phrase.
The honest version of these four services is therefore conditional rather than universal. The catalogue publishes prices from $50 per page up to $700 for a full semantic core, and hour bands from 1–3 hours per page up to 1–2 days for 1000–3000 requests. Those are small numbers relative to most marketing budgets, which is exactly why the disqualifying questions are worth asking before the invoice rather than after the quarter.
Questions and answers
How do I know if my pages are cannibalising each other or just ranking badly?
Cannibalisation shows up as instability rather than decline: the same query is served by different URLs across the reporting period and the position graph vibrates instead of sloping downward. Export your top queries from Search Console with the page dimension included and look for URL changes. In the VITON13 catalogue the fix, Removing request cannibalization, sits in the Site structure category at $200 – $600 or 12 000 – 40 000 ₽ with a stated duration of 4–8 hours.
Is a semantic core just a keyword list with better formatting?
No, and the catalogue is explicit about it. Semantic core with clustering by issue states that the client receives a page plan rather than a list of keys: which queries should live on one page, which need pages of their own, and which pages the site does not have yet. It is priced at $150 – $700, with 10 000–25 000 ₽ for up to 500 queries and 20 000–50 000 ₽ from 1000 queries, and takes 1–2 days for 1000–3000 requests.
Can I fix cannibalisation by rewriting the losing page instead of deleting it?
Frequently yes. Re-aiming the weaker page at an adjacent intent keeps the traffic it already earns while ending the conflict over the shared query. That is what Rewriting pages for search intent covers: $50 – $200 per page, 3 000 – 12 000 ₽ per page, or 30 000–90 000 ₽ for a package of ten, at a stated 1–3 hours per page after pipeline setup. Make the structural decision first — rewriting while the sibling still competes caps the return.
Do I need internal linking work if I am already paying to fix cannibalisation?
The link graph is usually the diagnostic that makes the cannibalisation decision provable, which is why the two entries are commonly bought together. Internal linking using the link graph is listed at $150 – $600, 10 000 – 40 000 ₽, with a duration of 4–10 hours, and its description covers priority pages receiving incoming links and forgotten pages being found. Both entries carry the Experienced difficulty label, so neither is a task to hand to an untrained junior.

