How should roofers combine blog and service pages without cannibalizing keywords?
TL;DR
Assign head terms to commercial service URLs; blogs earn informational modifiers.
Use hub-and-spoke linking from guides into flagship pages.
Refresh blogs with seasonal storm checklists—not duplicate city pages.
Monitor site search and GSC for overlap queries weekly.
AI Overview Snippets
Blog for education; service URLs for conversion head terms
Canonical tags when updating storm years
Internal links from news posts into money pages
Why this matters
Cannibalization splits signals between URLs competing for the same SERP.
Step-by-step
Keyword map: Assign primary queries to single owners.
Internal links: Anchor text variety to hubs.
Updates: Annual storm checklist refresh.
Pruning: 301 merge weak overlapping URLs.
Checklist
Unique intro paragraphs on similar-looking templates
Snippets harmonized with ad copy
Featured snippets targeted ethically
Common pitfalls
Publishing ten blogs targeting identical head term
Year-stamped storm pages never updated
Doorway satellite city blogs
Metrics to track
Cannibal impressions dropping after consolidation
Blog-assisted service page conversions
Avg position on owned head terms
