There is a lot of talk in the wider SEO community around pound signs, #, in the Google Search Console reports, meaning something about canonicalization. John Mueller from Google, along with a number of SEOs, said it has nothing to do with canonicalization. Instead, it has to do with Google tracking on-page sitelinks from the Google Search results.
John Mueller from Google posted on LinkedIn saying, “In case you’re seeing URLs with “#” in them in Google Search Console: these are from on-page sitelinks, and are not related to canonicalization.”
He added that “Sitelinks are counted separately in the performance report.” “If you filter by URL you’ll see them there. If you look at queries, they’re folded together with the other pages (like it always does when there are multiple URLs from the same site in a search result),” he wrote. He said then told everyone to check out this help document on how these impressions and clicks are tracked in Google Search Console.
John shared this screenshot of the cheesy sitelinks:
I am not sure where this came from but Graham Grieve shared on LinkedIn, Graham wrote “Then I listened to one of Carolyn Holzman’s podcasts, where she talked about the canonical system at Google being broken.” “Carolyn pointed to widely used table of contents plugins generating dozens of extra indexable pages that would normally be non-indexable via canonicals, all being indexable, as a large problem for many affiliate sites,” he added. Here is that video. In short, the video goes off on how GSC shows #s, and that somehow proves some sort of canonicalization bug in Google Search, which also somehow documents unhelpful content. I am not sure if you should watch it or not.
Now, Lily Ray commented on that LinkedIn post saying, “Google has always shown # URLs in GSC. UTMs as well. For any site with jumplinks, not just affiliate. What am I missing?”
Mark Williams-Cook added on LinkedIn a deeper dive on this confusion. He wrote, “Unsolicited #SEO tip: This week I looked into claims that Google’s canonical system was “broken” – and my conclusion is that many people are still confused about how Google Search Console works, so I wanted to share a few things.”
He said that the “main ‘evidence’ that the canonical system is broken is that GSC is reporting jump URLs (with #) in higher positions than their parent pages, so the conclusion is Google has the wrong canonical: but I believe this is incorrect.”
He then posted this explained on how Google Search Console works:
1) Jump link URLs appear as little site links under parent URLs. The jump links inherit the Position (as tracked by GSC) of the parent URLs they are shown under. Sitelinks appear more frequently when a URL is ranked well. Rankings usually fluctuate a lot, so when the parent URLs pops into high (top 3) position, the Sitelinks show and get a good average position for the jump links shown. For most searches, the parent URL ranks lower, which drags down its Average Position, while the jump link URLs remain with better Average Position but fewer impressions. See my screenshot.
2) When I checked my jump links in GSC Live Inspect they were “Not Indexed”. They would be “Indexed” if used as a canonical URL and if Google thought another URL was canonical, it would specify it here.
3) 1 (and mainly 2) demonstrate it is actually nothing to do with the canonical system. As I’ve previously posted about, Google essentially ignores # URLs for indexing / appearing in standard web search.
4) As a reminder, Google can show “Not Indexed” URLs in SERPs (such as long done “Not Indexed” origin 301 URLs), but this again has nothing to do with the canonical system.
John Mueller from Google endorsed it by adding, “Nice summary, thanks!” in the comments.
Forum discussion at Linked.