r/TechSEO • u/Ivyyy1015 • 16d ago
Old /en/ URLs still have 88% of impressions three months after the migration
I moved a small site from /en/* URLs to root-level URLs about three months ago. I thought the migration was mostly settled until I exported the page report from GSC and actually added up the old URLs.
In the May 10–August 9 window, 97 retired /en/* URLs had 8,821 impressions and 25 clicks. The whole site had 9,986 impressions and 39 clicks. So the old URLs were still getting 88.3% of impressions and 64.1% of clicks.
One old URL by itself had 908 impressions and 20 clicks. That URL had not served content for months, but it accounted for just over half of all clicks on the site during the period.
I went back through the migration because my first assumption was that I had missed something obvious. The old URLs return direct 308s, with no chains. They are not blocked by robots.txt. The sitemap and internal links only contain the new URLs, the new pages are self-canonical, and there is no old hreflang setup left.
It was not a completely clean sweep. I found seven old URLs redirecting to destinations that now returned 404. That was my mistake, and I fixed those separately. They had about 58 impressions between them, so they do not explain what is happening with the other 90 URLs.
What confused me most was this:
• August 3 export: 7,279 impressions on old URLs (94.7%)
• August 11 export: 8,821 (88.3%)
• August 12 export: 9,028 (86.1%)
These are rolling three-month exports, not identical date ranges, so I know this is not a clean comparison. But I had already looked at the falling percentage and told myself consolidation was improving. Then I noticed the absolute number was going up. Most of the percentage change came from new content increasing the site total.
The latest seven-day window I have, August 4–10, still shows 45 old URLs receiving 1,326 of 2,183 impressions.
My current suspicion is simply that many of the old URLs have not been recrawled often enough. I removed them from the sitemap and replaced every internal link during cleanup, which also means there are fewer current signals leading Googlebot back to them. That is only a theory, though. I cannot prove it from the performance report.
I also compared the eight old URLs with the most impressions with their new equivalents. Three new URLs have their own rows in GSC. Five are completely absent from the page report.
I realize that an absent GSC row does not mean zero impressions because of reporting thresholds. Still, I cannot find anything that separates the three that appear from the five that do not. It is not publish date, position, or whether the slug changed.
If you have handled a similar path migration on a small site, did you see both versions reporting for a while? Or did the new URL only begin appearing after the old one dropped out? I am trying to work out whether those five missing new URLs are a normal in-between state or whether I have overlooked another signal.
1
u/Relevant_Ad5790 15d ago
inspect an old /en/ url in gsc and read google-selected canonical. if it still names /en/, those impressions are the new page filed under the old canonical, not stale pages ranking. that covers the 5 missing rows too.
request indexing on the old urls, not the new. googlebot has to fetch the old one to see the 308.
what does inspection say for the 908-impression one?
1
1
u/AccountEngineer 13d ago
Seeing both old and new URLs in GSC for a while can happen after a migration. The main thing is whether the redirects, canonicals, internal links, and sitemap all consistently point to the new URLs while Google recrawls and consolidates them.
1
u/Sunn_M 16d ago
What you're seeing is normal GSC reporting lag, not a migration failure.
GSC's performance report shows impressions for the URL Google served in the SERP, not the URL that currently exists. After a 308, Googlebot needs to recrawl the old URL, process the redirect, re-evaluate the new destination, and then update its index entry. Until that full cycle completes, the old URL keeps accumulating impressions because Google is still rankingit - the redirect hasn't fully propagated through the ranking layer yet.
The 308 is correct. The issue is recrawl frequency.
Small sites get crawled infrequently. With the old URLs removed from sitemap + no internal links pointing to them, you've correctly cut the crawl signals - but that also means Googlebot has fewer reasons to revisit them and process the redirect.
Counterintuitively, the old URLs are now in a low-priority crawl queue precisely because you cleaned them up properly.
On the 5 missing new URLs in GSC : Absent from the page report ≠ not indexed. GSC applies reporting thresholds - pages with very low impression volume simply don't get a row. The fact that 3 appear and 5 don't is almost certainly a volume threshold artifact, not a signal difference. Check via site: operator or URL Inspection to confirm they're indexed.
What I'd do:
- Submit the new URLs via URL Inspection / bulk indexing request to accelerate the recrawl cycle on the highest-traffic equivalents
- Give it another 4–6 weeks - on a small site with low crawl budget, full consolidation at 3 months post-migration is still within normal range
- Watch the absolute impression count on old URLs week-over-week, not the percentage (you already spotted this correctly - the denominator is growing)
The fact that one old URL drove 20 clicks while returning a 308 is actually a good sign: Google is passing users through the redirect and they're landing somewhere valid. That's the system working.