Built from the July 2026 Search Console export. Priority is based on combined impressions being split across duplicate URLs — higher combined volume means more ranking signal currently being wasted.
1. Blog vs root duplicates (highest priority — real content, real traffic being split)
Old URL (redirect from)
Canonical URL (redirect to)
Combined impressions
Priority
Why
/odoo-vs-quickbooks-vs-xero
/blog/odoo-vs-quickbooks-vs-xero
174
High
Blog version has 4x the impressions and better position (11.5 vs 12.6)
/b2b-seo-vs-b2c-seo
/blog/b2b-seo-vs-b2c-seo
127
High
Blog version has 13x the impressions and far better position (36.6 vs 52.6)
Two separate posts on the same topic, not a clean-URL/.html pair. The 2026 version performs far better (position 8.7 vs 47.5). Consolidate content into the 2026 post, then redirect the old one rather than maintaining both
/how-much-does-a-website-cost-uk-2026
/blog/how-much-does-a-website-cost-uk-2026
12
Medium
Low volume but same pattern — consolidate under /blog for consistency
/seo-huddersfield-ultimate-guide-2026
/blog/seo-huddersfield-ultimate-guide-2026
25
Low
Most of this page's impressions are the bot/rank-tracker noise flagged earlier — don't invest further here, just clean up the duplicate
2. Clean URL vs .html duplicates
Old URL (redirect from)
Canonical URL (redirect to)
Combined impressions
Priority
Why
/digital-marketing-services/seo.html
/digital-marketing-services/seo
1,050
High
This is your core service page (the one getting the title/meta fix). Clean URL already dominates — just close off the .html duplicate
Low volume either way, but standardize on clean URLs sitewide
3. Industry pages — inconsistent naming across three formats
These pages exist in a mix of formats: some clean (/industry/fitness, /industry/b2b-business), some .html, and healthcare specifically has three versions with two different spellings. Recommend standardizing every industry page on the clean, single-word, no-.html pattern already used for fitness and b2b-business.
Low — no clean version exists yet, create it and redirect .html to it
/industry/legal.html
/industry/legal
12
Low — same as above
/industry/real-estate.html
/industry/real-estate
1
Low — same as above
4. Needs your confirmation
URLs involved
Combined impressions
Question
/contact vs /contact/
84
/contact/ (trailing slash) currently has better impressions and position, but check your next.config.jstrailingSlash setting — canonical should match whatever your framework serves by default, not just whichever happens to be ranking better right now.
/digitalmarketing vs /services/digital-marketing/
n/a
Confirmed live via search that both exist, but /digitalmarketing didn't have enough volume to appear in this Search Console export. Worth checking directly in your CMS/routes and consolidating before it picks up split traffic too.
Implementation — Next.js redirects
Since the site runs on Next.js, the cleanest way to action the high and medium priority items above is a redirects() block in next.config.js. All are permanent (301-equivalent) redirects:
After deploying, add a self-referencing <link rel="canonical"> tag to each surviving page and resubmit the affected URLs in Search Console's URL Inspection tool so Google recrawls the redirects rather than waiting for natural discovery.