Search Queries with Cannibalizing Pages
Priority: Critical
Impact: Negative
What issues it may cause
When multiple pages compete for the same query, they may all rank lower than a single, consolidated page would. This confuses both users and search engines and prevents any one page from performing to its full potential.
How do you fix it
Analyze all landing pages capturing clicks for the query. If the intent is the same, consolidate the content into a single high-quality page. Use canonical tags, redirects, or internal linking strategies to guide both users and search engines to the preferred page.
What is the positive impact
Reducing cannibalization leads to clearer site structure, stronger ranking signals, and improved user engagement. It also boosts your ability to own top positions in search results for high-value queries.
How to fetch the data for this report template
You will need to run a crawl for report template to generate report. When report has been generated and you have crawl id you can fetch data for the report using the following query:
- Query
- Variables
- cURL
query GetReportStatForCrawl(
$crawlId: ObjectID!
$reportTemplateCode: String!
$after: String
) {
getReportStat(
input: {crawlId: $crawlId, reportTemplateCode: $reportTemplateCode}
) {
crawlSearchQueries(after: $after, reportType: Basic) {
nodes {
searchQuery
primaryLandingPageUrl
clicks
impressions
ctr
position
searchQueryRelevance
primaryLandingPageClicksShare
landingPagesCount
landingPagesSummary
}
totalCount
pageInfo {
endCursor
hasNextPage
}
}
}
}
{"crawlId":"TjAwNUNyYXdsNDAwMA","reportTemplateCode":"search_queries_with_cannibalizing_pages"}
curl -X POST -H "Content-Type: application/json" -H "apollographql-client-name: docs-example-client" -H "apollographql-client-version: 1.0.0" -H "x-auth-token: YOUR_API_SESSION_TOKEN" --data '{"query":"query GetReportStatForCrawl( $crawlId: ObjectID! $reportTemplateCode: String! $after: String ) { getReportStat( input: {crawlId: $crawlId, reportTemplateCode: $reportTemplateCode} ) { crawlSearchQueries(after: $after, reportType: Basic) { nodes { searchQuery primaryLandingPageUrl clicks impressions ctr position searchQueryRelevance primaryLandingPageClicksShare landingPagesCount landingPagesSummary } totalCount pageInfo { endCursor hasNextPage } } } }","variables":{"crawlId":"TjAwNUNyYXdsNDAwMA","reportTemplateCode":"search_queries_with_cannibalizing_pages"}}' https://api.lumar.io/graphql