Keyword Cannibalization: How to Detect and Fix It
Keyword cannibalization happens when two pages on your site compete for the same search. Detect it in Search Console and fix it with a decision tree.
Key takeaways
Heading structure H1–H6 means using HTML heading tags as the table of contents of a page: a single H1 that names the topic, H2s for the main sections, H3s for subsections, no skipped levels, and no headings added just because they look good. Readers, screen readers, Google, and AI systems all use the same hierarchy to figure out what a page is about.
In practice, most problems do not come from missing headings. They come from headings placed at random: WordPress themes that turn “Recent posts” into an H2, H3s chosen because they “look smaller,” two H1s on one page. Heading structure is one of the cheapest parts of on-page SEO because it costs no budget, only attention to your templates. This guide shows what a correct structure looks like, how to check it in two minutes, and what you can safely ignore.
A heading is an HTML element that marks the start of a section and gives it a name. There are six levels: <h1> is the most important and <h6> the least. The level does not say how large the text appears. It says where the heading sits in the hierarchy. Size is set by CSS and can change at any time without touching the structure.
Think of a book. The book title is the H1, chapters are H2s, sections within chapters are H3s. Nobody places a level-3 section directly under the book title with no chapter in between. A web page works the same way.
Headings have three audiences, and all of them matter:
This is different from the title that appears in search results. The <title> element in the <head> shows up in results and in the browser tab; we cover how to write it in the guide to title tags and meta descriptions. The H1 is the visible headline inside the page, and the two can differ.
The practical recommendation is one H1 per page, expressing the main topic. MDN says that more than one H1 is allowed by the HTML standard but is not considered a best practice, and advises using a single H1 and not skipping heading levels. The W3C accessibility guidance describes the same simple structure: one main heading with sections underneath.
Multiple H1s are not a fatal error, though. HTML does not prohibit them, and Google representatives have said publicly that several H1s on a page are not a problem in themselves. The real issue is clarity: with two main headings, it is no longer obvious what the page is about, and a screen reader lists two unrelated “roots.”
Where do extra H1s usually come from?
Check the template once rather than every page. If the header and banners in the template are right, the whole site is fixed at once.
About “sections with their own H1”: early HTML5 described an outline algorithm in which each <section> could have its own H1, with the real level inferred from nesting. Browsers and screen readers never implemented it, and the current specification recommends relying on the explicit heading level. So do not depend on it.
The simplest way is to write the skeleton before the text. A good skeleton reads on its own like a table of contents.
Here is a correct skeleton for a dental services page:
<h1>Dental Implants in Bucharest</h1>
<h2>How a dental implant procedure works</h2>
<h3>Consultation and X-ray</h3>
<h3>The procedure</h3>
<h3>Healing period</h3>
<h2>How much an implant costs</h2>
<h2>Who is not a candidate for an implant</h2>
<h2>Frequently asked questions</h2>Notice that each H3 answers “what does this mean in detail?” for the H2 above it, and the H2s are parallel, sitting at the same level of generality.
A good heading is specific, makes sense without context, and announces the content. A weak heading is vague, decorative, or repeats the keyword for no reason.
| Weak heading | Why it fails | Better version |
|---|---|---|
| Details | Says nothing about the section | What the package includes and what it does not |
| About us, our services, pricing | Three topics in one heading | Three separate headings, or one topic |
| SEO services cheap SEO services | Repetition for machines, unreadable for humans | How to choose an SEO service at a fair price |
| Welcome! | Does not describe the page | A service name or a clear value proposition |
| Step 3 | Meaningless outside the list | Step 3: Add alt attributes to images |
A useful trick is to phrase some H2s as real questions: “How many H1s should a page have?” or “When does this not apply?” Readers who typed the question into Google recognize themselves in the heading, and an extraction system can find the question–answer pair easily. Do not turn every heading into a question, though; a natural mix reads better.
Accessibility is not a separate chapter from SEO. It is another way of checking the same structure. The WCAG guidelines require that information and relationships conveyed visually can also be determined in code (the “Info and Relationships” criterion), and that headings and labels describe their topic or purpose (“Headings and Labels”). A heading built from a bold <div> looks right but tells assistive technology nothing.
How a screen reader uses headings:
If the hierarchy jumps from H2 to H5 or headings are missing, users lose their bearings. If “Recent posts” in the sidebar is an H2, just like the article's sections, a screen reader user assumes they have moved into a new section of the content.
Three accessibility rules that also help SEO:
<h3></h3> left behind by an editor).Google does not publish a rule such as “use five H2s and four H3s.” Its documentation asks instead for helpful, easy-to-navigate content written for people, and headings are one of the simplest ways to make content easy to navigate. Google's SEO Starter Guide points in the same direction: logically organized pages with clear text.
What can be said with reasonable confidence:
If you also want a page to show up in AI answers, use an “answer under the heading” rule: the first sentence below an H2 answers what the heading promises, and the explanation follows. We cover the broader mechanism in the guide to becoming a cited source in Google AI Overviews.
Heading structure works together with the page title, meta description, images, and internal links. If a page does not match the search intent, a perfect heading order will not save it, which is why the article on search intent is worth reading too.
Use this table as a checklist for each important page type.
| Check | Criterion | How to do it |
|---|---|---|
| Single H1 | Exactly one H1 in the main content | Heading list from DevTools or an extension |
| Relevant H1 | Describes the page topic, not the brand | Read the H1 without seeing the rest of the page |
| No skips | H2 → H3 → H4, no steps skipped | Walk through the heading list |
| No empty headings | Every heading has visible text | Filter in an analysis tool |
| Unique headings | No repeated H2 text | Compare the list |
| Clean template | Widgets are not content H2/H3s | Check header, sidebar, footer |
| Length | Most headings 4–10 words | Visual scan |
| Keywords | Appear naturally in H1 and 2–3 H2s | Read it; do not count |
You do not need a special tool to list a page's headings. Open DevTools (F12), go to the Console tab, and run:
document.querySelectorAll('h1,h2,h3,h4,h5,h6').forEach(h => {
const level = Number(h.tagName[1]);
console.log(' '.repeat(level - 1) + h.tagName + ': ' + h.textContent.trim());
});The output is an indented outline of the page. Look for three things: more than one H1, skipped levels, and headings that do not belong to the content (such as “Subscribe” or “Popular posts”). For drafts still in progress, our SEO content analyzer also checks the heading structure alongside keyword density and readability. Remember that JavaScript can add headings after load; if your hierarchy depends on code that runs in the browser, see JavaScript SEO.
<p> or another non-heading element.Heading structure is a tool, not a magic factor. A few limits, stated honestly:
If you must choose between “perfectly structured” and “useful,” choose useful. With a little care, you can have both.
Headings H1–H6 are the cheapest form of page organization: free, fixable in an afternoon, and useful to people, accessibility tools, and search engines at once. The core rule is simple: one H1, H2s for sections, H3s for subsections, no skipped levels, and no tag used only for its looks.
What you can do today:
If your site has hundreds of pages and several templates, a manual check gets long. In that case, a team that does on-page SEO can audit the structure by page type and hand developers clear specifications. For the big picture, start with Google Search Console, see which pages get impressions, and fix the structure of those pages first.
Frequently asked questions
Technically yes, since HTML does not forbid it. The practical advice is still one H1 per page, because a single clear main heading simplifies the outline for screen readers and for anyone analyzing the page. If your theme prints two H1s, fix one of them.
Not the way people assume. Meaning comes from the HTML tag, not the look. An H2 styled small is still an H2, and a paragraph styled large is still a paragraph. Use CSS for appearance and heading tags only for their structural role.
No. Repeating it in every H2 sounds unnatural and gains nothing. Put the keyword or a natural variation in the H1 and in two or three section headings where it fits, and write the rest to describe what each section actually says.
Usually not. The H1 describes the current page, not the brand. A home page sometimes uses the company name as its H1, but on articles and service pages the H1 should be that page's title, and the logo should simply be a link.
Long enough to make sense on their own, typically four to ten words. A good heading tells readers what they get in that section. Avoid vague one-word labels like “Details” and long sentences that take three lines on a phone.
Related service
Keep reading
Keyword cannibalization happens when two pages on your site compete for the same search. Detect it in Search Console and fix it with a decision tree.
Title tag and meta description guide: pixel-based length rules, writing formulas, before-and-after examples, and the mistakes that make Google rewrite titles.
Keyword research in 5 steps: where to find terms, how to score them by value and winnability, how to map them to pages, and the mistakes that waste budget.
Send us your website address and we’ll reply with a free initial analysis and a concrete SEO strategy — no strings attached.