Q: We 301'd old pages but also left them returning 200 in some cases. Google sees duplicates. Why?
A: Subtle one — nice spot. Short answer: some old URLs are both redirecting and still serving a live 200 page depending on how they're hit, so Google sees two versions of the same content.
Long answer: This happens when a redirect lives at the app level but the old template still responds on certain parameters, or a CDN caches a 200 while the origin sends a 301. The result: Googlebot sometimes gets the redirect, sometimes the old live page. Mixed signals stall the migration and can trigger duplicate-content confusion. It's nasty because it's intermittent and won't show on a single manual test.
The fix:
— Crawl old URLs and look for any returning 200 instead of 301
— Purge CDN cache so it serves the redirect, not the stale page
— Ensure the redirect fires before the app renders old content
Next step: bulk-test your old URL list for status codes; investigate any 200 that should be a 301.
Migration Helpdesk
@MigrationHelpdesk
Q: We 301'd old pages but also left them returning 200 in some cases. Google sees duplicates. Why?
Этот пост опубликован в Telegram-канале Migration Helpdesk. Подписаться можно по ссылке: @MigrationHelpdesk.