{"id":373,"date":"2026-07-26T11:14:00","date_gmt":"2026-07-26T11:14:00","guid":{"rendered":"https:\/\/seoscanpro.ai\/blog\/query-deserves-a-page-framework-audit\/"},"modified":"2026-07-26T11:14:00","modified_gmt":"2026-07-26T11:14:00","slug":"query-deserves-a-page-framework-audit","status":"publish","type":"post","link":"https:\/\/seoscanpro.ai\/blog\/query-deserves-a-page-framework-audit\/","title":{"rendered":"The Query Deserves a Page Framework: An Audit Lens for Local SEO"},"content":{"rendered":"<p>When auditing a small business website for local SEO, the first thing to count is rarely the right thing to count. Most local sites carry dozens of near-duplicate pages: one per city, one per service combination, one per product variant. The technical question that should drive an audit is whether each of those URLs earned its place by satisfying the Query Deserves a Page (QDP) test. A page that fails that test is not free content. It raises Google&rsquo;s cost of retrieval, dilutes PageRank, and opens the door to micro-cannibalization, where two of your own pages outrank each other and split the click.<\/p>\n<p>QDP adapts Amit Singhal&rsquo;s older Query Deserves Freshness concept into a URL-level decision rule. The aim is depth on a smaller set of pages rather than thin coverage across many. For an auditor, this reframes the work: stop asking &ldquo;how many pages should we have?&rdquo; and start asking &ldquo;which queries actually deserve their own page, and which belong as a heading, a table row, or a product card on a page we already have?&rdquo;<\/p>\n<h2>What does a page need to qualify as a standalone URL?<\/h2>\n<p>A query earns its own URL only when all four conditions below hold at once. Missing any one of them is a signal to fold the variation into an existing page instead.<\/p>\n<ul>\n<li><strong>Search demand.<\/strong> There must be a measurable query volume behind the variation. If no one searches for it, it cannot justify crawl budget, index entries, or PageRank spend.<\/li>\n<li><strong>Distinct entities.<\/strong> The variation should refer to a different entity, such as a different city, a different service class, or a different product, not the same entity rephrased.<\/li>\n<li><strong>Low similarity to covered queries.<\/strong> The variation must be meaningfully different from queries already served by other pages on the site. High similarity is what triggers duplicate detection.<\/li>\n<li><strong>Pattern fit.<\/strong> The variation should fit a query template the site already ranks for, so that any ranking gains can transfer to sibling entities in the same class.<\/li>\n<\/ul>\n<p>Run every existing URL through this list during an audit. The pages that fail one or more checks are the first candidates for consolidation.<\/p>\n<h2>How does Google actually decide if two pages are duplicates?<\/h2>\n<p>Google&rsquo;s &ldquo;Detecting query-specific duplicate documents&rdquo; patent describes how the engine labels two documents as exact duplicates, near-duplicates, or fully unique, with the label depending on the query that pulled each document up. Some overlap is helpful: it justifies internal links and consistent anchor text between related pages. Once overlap crosses a threshold, the two pages start competing for the same query, which is the audit signature of micro-cannibalization.<\/p>\n<p>For local sites, the classic offender is a templated city page. Swap the city name, keep every other sentence, list, image, and schema block, and Google can collapse the set into a single ranking candidate. The site ends up with twenty URLs fighting itself rather than one URL ranking with confidence. In audit terms, compare the rendered text of suspected pages and measure the token overlap outside the city name. A high overlap with low unique entity coverage is a duplication flag.<\/p>\n<h2>Why does query similarity matter for which page to write?<\/h2>\n<p>Query similarity is a weighted similarity, not a string match. The paper &ldquo;End-to-end query term weighting&rdquo; by Michael Bendersky and Marc Najork&rsquo;s team shows how BERT assigns heavier relevance weight to the brand in &ldquo;Nike running shoes&rdquo; than to &ldquo;running&rdquo; or &ldquo;shoes.&rdquo; A page written for that query has to reflect the same weighting in its vocabulary, triples, and structured annotations.<\/p>\n<p>Local SEO inherits the same logic. In &ldquo;Los Angeles car accident attorney,&rdquo; the city carries the heaviest weight. If multiple cities share that same heaviest term and the per-city demand is low, the cities belong as sections under one strong page rather than as separate URLs. An auditor should identify the heaviest term on every page and check whether two pages share the same heavy term with near-identical copy. If they do, neither page is winning as well as a merged version would.<\/p>\n<h2>Where should the strongest page on the site point?<\/h2>\n<p>Across the local SEO projects covered in the source material, the homepage is always aimed at the most important location-service pair: &ldquo;rehab Thailand,&rdquo; not &ldquo;rehab&rdquo; and not &ldquo;Thailand.&rdquo; The reasoning is mechanical. The homepage carries the highest PageRank on most sites and, after robots.txt, tends to be the most crawled URL in the log files. Pairing that crawl and authority budget with the single strongest commercial query gives the site its best chance of ranking.<\/p>\n<p>The same audits usually surface a different failure: the homepage, the About page, and the main service pages all cannibalize each other because PageRank, query relevance signals, click data, and the Google Business Profile website field feed every page at once. A useful audit signal is the gap between Semrush and Ahrefs local rank readings. Semrush tends to surface higher local rankings because it folds Google Business Profile data into its view, while Ahrefs does not. A wide gap between the two is often a sign that the GBP is carrying weight that the on-site pages should be carrying themselves, and that the on-site pages are splitting credit rather than concentrating it.<\/p>\n<h2>How does topical authority connect to the audit?<\/h2>\n<p>Topical authority, as the source article defines it, is historical performance multiplied by topical coverage, divided by the cost of retrieval, and read through visual semantics. Every unnecessary page raises the cost of retrieval. Every thin page lowers topical coverage per URL. The audit goal is to lift the ratio: better coverage per page, lower retrieval cost per query, stronger authority per URL.<\/p>\n<p>Visual semantics is the part of the audit most teams skip. Sections, tables, product cards, and information cards on an existing page carry their own semantic weight. A plumber who lists twenty towns as a structured table on one service page can deliver the same entity coverage as twenty separate URLs, without the duplication overhead. The audit should check whether the existing page already supports the variation visually and structurally before recommending a new URL.<\/p>\n<h2>What does a QDP-driven audit checklist look like?<\/h2>\n<ul>\n<li><strong>Inventory URLs by query template.<\/strong> Group every page by the query template it targets, such as &ldquo;[service] [city],&rdquo; &ldquo;[product] [material],&rdquo; or &ldquo;best [service] near me.&rdquo;<\/li>\n<li><strong>Score each template on the four QDP metrics.<\/strong> Search demand, distinct entities, low similarity, pattern fit. Flag any template that fails one.<\/li>\n<li><strong>Find duplicate or near-duplicate pairs.<\/strong> Render the pages, strip the variable token, and measure residual token overlap. Above a threshold, mark as a cannibalization pair.<\/li>\n<li><strong>Identify the homepage&rsquo;s primary location-service pair.<\/strong> Confirm it matches the single most valuable commercial query. If not, flag for redirect or rewrite.<\/li>\n<li><strong>Check the heaviest term on every page.<\/strong> Two pages sharing the same heavy term with similar copy are candidates to merge.<\/li>\n<li><strong>Compare Semrush and Ahrefs local ranks.<\/strong> A wide gap signals GBP-driven rankings and on-site cannibalization.<\/li>\n<li><strong>Consolidate or expand deliberately.<\/strong> Merge failing templates into sections on a stronger parent page, then verify that the parent page covers the merged entities with proper headings, tables, and structured data.<\/li>\n<\/ul>\n<h2>FAQ<\/h2>\n<h3>What is the Query Deserves a Page framework?<\/h3>\n<p>QDP is a decision rule for local SEO built on Amit Singhal&rsquo;s Query Deserves Freshness idea. A query earns its own page only when it has real search demand, distinct entities, low similarity to queries already covered, and a clear template pattern. Queries that fail any of those tests belong as sections, tables, or product cards on a page that already exists.<\/p>\n<h3>Why does publishing more pages not always improve local rankings?<\/h3>\n<p>Every extra page raises Google&rsquo;s cost of retrieval and can cause near-duplicate URLs to cannibalize each other. When two pages target the same heavy term with similar copy, they split ranking signals rather than concentrate them, which weakens overall performance for the site.<\/p>\n<h3>How should a small business decide which location or service pages to keep?<\/h3>\n<p>Point the homepage at the single most important location-service pair, since the homepage usually carries the highest PageRank and crawl frequency. Apply the four QDP metrics to every other variation. Keep the URLs that pass all four and fold the rest into sections, tables, or cards on the parent page that already covers the cluster.<\/p>\n<h2>Related coverage<\/h2>\n<ul>\n<li><a href=\"https:\/\/seoscanpro.ai\/blog\/update-or-create-aeo-geo-audit-framework-2026\/\">Update or Create? A Practical AEO and GEO Audit Framework for 2026<\/a><\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"headline\":\"The Query Deserves a Page Framework: An Audit Lens for Local SEO\",\"description\":\"Apply the Query Deserves a Page framework to your local SEO audit: which city, service, and product pages earn a URL, and which cause cannibalization.\",\"datePublished\":\"2026-08-04T15:38:34.253Z\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"SEOScan Pro\"}},{\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is the Query Deserves a Page framework?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"QDP is a decision rule for local SEO built on Amit Singhal's Query Deserves Freshness idea. A query earns its own page only when it has real search demand, distinct entities, low similarity to queries already covered, and a clear template pattern. Queries that fail any of those tests belong as sections, tables, or product cards on a page that already exists.\"}},{\"@type\":\"Question\",\"name\":\"Why does publishing more pages not always improve local rankings?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Every extra page raises Google's cost of retrieval and can cause near-duplicate URLs to cannibalize each other. When two pages target the same heavy term with similar copy, they split ranking signals rather than concentrate them, which weakens overall performance for the site.\"}},{\"@type\":\"Question\",\"name\":\"How should a small business decide which location or service pages to keep?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Point the homepage at the single most important location-service pair, since the homepage usually carries the highest PageRank and crawl frequency. Apply the four QDP metrics to every other variation. Keep the URLs that pass all four and fold the rest into sections, tables, or cards on the parent page that already covers the cluster.\"}}]}]}<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A practical QDP checklist for auditing which local SEO pages deserve their own URL, and which belong as sections on stronger pages.<\/p>\n","protected":false},"author":1,"featured_media":372,"comment_status":"","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"","rank_math_description":"","rank_math_focus_keyword":"","rank_math_canonical_url":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_robots":[],"footnotes":""},"categories":[1],"tags":[],"class_list":["post-373","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/seoscanpro.ai\/blog\/wp-json\/wp\/v2\/posts\/373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/seoscanpro.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/seoscanpro.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/seoscanpro.ai\/blog\/wp-json\/wp\/v2\/comments?post=373"}],"version-history":[{"count":0,"href":"https:\/\/seoscanpro.ai\/blog\/wp-json\/wp\/v2\/posts\/373\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/seoscanpro.ai\/blog\/wp-json\/wp\/v2\/media\/372"}],"wp:attachment":[{"href":"https:\/\/seoscanpro.ai\/blog\/wp-json\/wp\/v2\/media?parent=373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/seoscanpro.ai\/blog\/wp-json\/wp\/v2\/categories?post=373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/seoscanpro.ai\/blog\/wp-json\/wp\/v2\/tags?post=373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}