Google’s Martin Splitt explains why fragment identifiers don’t get crawled and the importance of href attributes.
The right way to create links. Using the HTML <a> tag with the destination URL in the href attribute is the most straightforward way to create a link. For example, <a href=”https://example.com”>link</a>.
Think twice about fragment identifiers. Fragment identifiers, which are distinguished by a “#” symbol within a URL, point to subsections of a given page, not necessarily a different page. For example, example.com/FAQ#subsection would take the user to a specific point on the page example.com/FAQ.
“Because fragments aren’t meant to point to different content, crawlers ignore them; they just pretend that the fragments don’t exist,” Splitt said. This means that if you build a single-page application with fragment identifiers, crawlers will not follow those links.