Google can swap the ranking URL while the position holds

Post from r/TechSEO: How often do you actually check
Post: r/TechSEO, u/Manhas007

Summary

Google can change which of your pages ranks for a query while the position stays the same, and in one reported case the swap moved a client's main commercial keyword from the sales landing page to an old blog post with no calls to action while the rank tracker showed nothing.

For the queries that carry revenue, record the URL that should rank and compare it with the Pages tab of Search Console's Performance report after any publish or internal-link change in the same cluster.

A technical SEO reported in an r/TechSEO thread that a client’s main commercial keyword stayed at position 2 while its leads dried up. Google had swapped the ranking URL from the dedicated sales landing page to an informational post from 2021 with no calls to action on it. The rank tracker showed no change.

The tracker was not broken. Most rank trackers report whether any page on the domain ranks for the query, so a swap between two of the site’s own URLs reads as a flat line. A domain-level position says nothing about which page Google picked, and the page it picked here was built to inform rather than to convert.

Cleaning up conflicting internal links and canonical signals put the landing page back in the spot, the poster wrote. One commenter described the mechanism behind that: two pages that partially answer the same query split the signals, and Google serves whichever one commits more clearly at that moment. Removing the ambiguity is a better bet than trying to make the landing page outweigh the older post, and it is the likelier reason the fix held.

An internal cleanup can still flip back, because external anchors vote too. Another reply made the point that if the 2021 post had quietly collected most of the referring domains, the internal links and canonicals can be corrected and the old page can retake the query anyway. Pulling referring domains for both URLs before committing to a fix settles which page should own the query. Sometimes the old post has earned it, and the faster fix is putting real conversion elements on that page.

Search Console’s Performance report shows which URL ranks for a query. URL Inspection does not: one commenter recommended it because it shows the Google-selected canonical, and a second corrected that canonical selection is not the same as which page ranks for a particular search. Both pages can carry the right canonical while Google still serves the blog post. Filter Performance to the query, open the Pages tab, and compare dates to see when the serving URL changed. A reply suggested re-checking after the next crawl cycle because the swap tends to surface there first, which fits Mueller’s point that performance data moves before the page indexing report.

A monthly audit finds the swap four weeks late. Two replies landed on the same timing argument: the ranking URL changes when the signal balance changes, which happens when new content lands in the same cluster or after a navigation, template or internal-link edit. Those edits are the trigger for a re-check, not the first of the month.

What to do

  • For the queries that carry revenue, write down the URL that is supposed to rank for each one. One reply put the working number at ten.
  • Compare that list against Search Console’s Performance report, filtered by query with the Pages tab open. Run the comparison after you publish anything in the same cluster and after navigation, template or internal-link changes.
  • When the ranked URL is not the target URL, audit internal anchors first. Count the links pointing at each page and prune the ones feeding the page that should not rank. A canonical tag will not move the ranking on its own while the internal link graph still points the other way.
  • Pull referring domains for both URLs before you commit. If the old post holds the external links, adding conversion elements to it is the cheaper outcome than fighting it.