How to run a semantic SEO audit in 7 steps: map each page to one intent, fix cannibalization, fill topic and entity gaps, and rebuild internal links.

In short
a semantic SEO audit checks whether the pages of a site cover the right topics, answer one clear search intent each, name the entities that matter and link to each other in a logical way. It ends with a query-to-page map and a list of decisions: keep, enrich, merge, create or delete each page. It fixes cannibalization and topic gaps, the two content problems a technical audit cannot see, and it makes pages easier to quote for AI assistants.
Want to go further? Ask
Since Google introduced its Knowledge Graph in 2012, announcing a search that understands "things, not strings" (more than 500 million objects and 3.5 billion facts at launch), ranking has depended less on repeating a keyword and more on covering a subject completely. A semantic SEO audit measures exactly that: how well your site, page by page and as a whole, covers its topics. This guide gives the 7-step method, the tools for each step, the decisions to take and the deliverable to produce.
A semantic SEO audit is the analysis of the meaning of a site's content: the topics it covers, the search intent each page answers, the entities it names and the links that connect pages on the same subject. It applies the principles of semantic SEO to an existing site. It answers four questions:
| Audit | Main question | Typical output |
|---|---|---|
| Technical audit | Can Google crawl, render and index the pages? | List of errors (status codes, robots, speed, canonicals) |
| Content audit | Is each page accurate, up to date and performing? | Inventory with traffic and an update or delete decision |
| Semantic audit | Does the site cover its topics, one intent per page, with the right entities and links? | Query-to-page map, gap list, merge and linking plan |
| Keyword research | What do people search for? | List of keywords with volume and intent |
The three audits overlap and feed each other. A content audit judges each page on its own; the semantic audit judges how pages relate to queries and to each other.
Crawl the site to list every indexable URL with its title, H1 and headings. Then export the queries per page from the Search Console Performance report (impressions, clicks, average position) over at least three months. Join the two lists in one spreadsheet: one row per URL, with its top queries.
For each URL, write the primary query it should own and its intent (informational, commercial, transactional, navigational). Check the intent in the search results: if Google shows guides and your page is a product page, the page is misaligned. Our guide to the types of keywords details the intents. The rule: one intent per page, one page per intent.
Sort the export by query and look for queries where two or more of your URLs collect impressions. If the URLs alternate in the results over the weeks, you have keyword cannibalization: Google cannot tell which page to rank. Note also pages whose main queries do not match the topic they were written for.
For each important page, compare its headings with the H2 and H3 of the top five results and with the People also ask questions. Subtopics that every ranking page covers and yours does not are gaps to fill. These subtopics are the page's secondary keywords. Google's guidance on helpful content asks the same question: does the content provide "a substantial, complete, or comprehensive description of the topic"?
Entities are the people, products, places, brands and concepts a page talks about. List the entities a reader expects on the topic (for a page about running shoes: cushioning, drop, pronation, the main brands) and check that the page names and explains them. The entity analysis of Google's Natural Language API returns the entities detected in a text with a salience score, a quick way to see what a machine thinks your page is about. Our glossary explains entity SEO in detail.
Draw the topical map of your subject: the pillar topics and all their subtopics. Place each existing page on the map. The empty boxes are your content gaps, the pages to create. Group candidate keywords by search results overlap with our free keyword clustering tool to know whether a gap needs a new page or a section in an existing one.
Pages on the same topic should link to each other and to their pillar page, with descriptive anchors. Check that each important page receives links from its siblings and that no page is orphaned. Our free internal link analyzer lists the links of a page, and our guide to the semantic cocoon explains how to organize links by topic.
| Step | Question answered | Tool | Output |
|---|---|---|---|
| 1. Inventory | Which pages exist and what do they rank for? | Crawler, Google Search Console | URL and query spreadsheet |
| 2. Intent mapping | Which query and intent does each page own? | Search results, spreadsheet | Query-to-page map |
| 3. Cannibalization | Do several pages compete for one query? | Search Console export sorted by query | List of conflicts |
| 4. Coverage | Does each page answer the whole intent? | Top 5 results, People also ask | Sections to add per page |
| 5. Entities | Are the expected entities named and explained? | Natural Language API, manual review | Entities to add per page |
| 6. Topic gaps | Which subtopics have no page? | Topical map, keyword clustering | Pages to create |
| 7. Internal links | Do links follow the topics? | Crawler, link analyzer | Linking plan |
The audit is only useful if every page ends with a decision. Five are enough:
| Decision | When | Action |
|---|---|---|
| Keep | The page owns its query, covers the intent and performs | No change, monitor |
| Enrich | Right intent, but subtopics or entities are missing | Add sections, examples, links |
| Merge | Two pages share one intent (cannibalization) | Combine into the strongest URL, 301 redirect the other |
| Create | A subtopic of the map has no page and deserves one | Write a new page linked to the pillar |
| Delete or noindex | No intent, no traffic, no links, no business value | Remove, with a 301 redirect if it has backlinks |
Prioritize by impact and effort: merging two cannibalizing pages and enriching pages ranked between positions 5 and 20 usually move fastest, because Google already associates them with the query.
This map is also the base of your topical authority: a site that covers a subject completely, without duplicates, is the one Google and AI assistants trust on that subject.
AI assistants answer a question by splitting it into sub-questions and looking for passages that answer each one. Google describes this query fan-out technique in its documentation on AI features, and states that there are no additional requirements to appear in AI Overviews or AI Mode. The work of a semantic audit is therefore the same for both: one page per intent, one section per sub-question, entities named explicitly. A page that covers its topic in self-contained sections ranks on more queries and offers more passages an AI can quote. A site without cannibalization also sends a clearer signal of which page to cite.
A semantic audit turns a pile of pages into a map where every query has one owner and every gap has a plan. The hardest part is keeping the map alive as the site grows. Sorank finds the queries of your site automatically, its topical cluster generator organizes them into clusters, and its blog article generator writes and publishes the missing articles with internal links, in autopilot. Plans start at $49 per month on the annual plan, with a 3-day free trial.
It depends on the number of indexable pages. A site of a few dozen pages can be audited in a day or two, while a catalog or a blog with thousands of URLs takes several weeks, mostly spent on mapping queries to pages. Starting with the pages that already get impressions in Google Search Console keeps the work focused on what can move quickly.
Yes. Google Search Console gives the queries and pages, a crawler in its free version lists the URLs, titles and headings of a small site, and the search results themselves show the intent and subtopics of each query. Paid keyword and clustering tools save time on large sites but are not required for the method.
A full audit once a year is enough for most sites, plus one after a redesign, a migration or a large batch of new content. Between two audits, a quarterly check of Search Console catches new cannibalization and new queries that a page attracts without covering them.
THEY TRIED SORANK BEFORE YOU
