Put important destinations in ordinary anchor links
Internal links help people navigate and give crawlers routes to discover pages. Google’s link best practices say a crawlable link is generally an <a> element with an href attribute that resolves to a real web address. The simplest audit asks whether a user can reach each important page through such links from appropriate parent pages.
List your key page types and find their entry points: primary navigation, category hubs, editorial modules, related-content sections, and pagination. Inspect actual delivered HTML, including the mobile menu and JavaScript-created links. Check anchor text describes the destination in context, and make image links carry useful alt text where they are the only visible label. A sitemap can supplement discovery; it does not replace coherent navigation.
Repair an orphan with a relevant parent link
Imagine a B2B site publishes /guides/vendor-security-review/ but only promotes it in an email. It exists in the sitemap, yet no resource hub, related article, or service page links to it. Add it under the relevant security guide category and link to it naturally from an article about procurement. Do not add a sitewide footer link merely to manufacture a route. The page becomes easier for both a visitor and a crawler to find in the context where it answers a question.
Then request the parent HTML and confirm the link is an anchor such as <a href="https://example.com/guides/vendor-security-review/">vendor security review guide</a> on this hypothetical site. A clickable div, span href, or onclick navigation handler may work for users but is not the markup Google recommends. Preserve a requestable URL even if your app intercepts clicks for a fast client transition.
Audit the whole path
Follow a sample link through redirects to its final status. Ensure the destination is indexable when it should be, uses the expected canonical, and is not blocked by robots policy. Review deeply nested content and links available only after filters, infinite scrolling, or form submissions. For route behavior, see JavaScript SEO rendering audit; for URL inclusion, see XML sitemap audit checklist.
Avoid keyword-stuffed anchors, empty links, and “click here” where a meaningful label fits. Avoid linking every page to every other page; that creates noise rather than useful structure. The AI search readiness checker can inspect raw links from a page, but it cannot prove sitewide crawl frequency or rankings.
Review links when content changes
Check internal links when content is retired as well as when it is published. A hub that ends in a redirect or missing page wastes a visitor step and obscures the intended route. Assign ownership for each important hub, then periodically confirm its prominent links still return the expected status and accurately describe their destinations.
FAQ
Can JavaScript insert a crawlable link?
Yes, when the rendered result uses a normal anchor with an href, but stable HTML evidence is easier to verify.
Does every page need a navigation-menu link?
No. Link it from the most relevant hubs and related pages so the path is useful to people.