No internal links found: why the audit sees none and how to fix it

No internal links means the page has no <a href> links pointing to other pages on the same domain. Visitors and crawlers who land on it have nowhere to go next, and it passes no signals to the rest of your site. Fix it by linking to related pages from the content and making sure the page has your normal navigation.

The audit counts every link on the page, including the header menu and footer. So if it finds zero, the cause is usually not missing links in your article; it is a template with no navigation, or links that point to a different hostname.

What it looks like in the HTML

Before

html
<!-- Page URL: https://example.com/guide/ -->
<nav>
  <a href="https://staging.example.com/">Home</a>
  <a href="https://staging.example.com/blog/">Blog</a>
</nav>

After

html
<!-- Page URL: https://example.com/guide/ -->
<nav>
  <a href="/">Home</a>
  <a href="/blog/">Blog</a>
</nav>
<p>Start with our <a href="/cold-brew-ratio/">cold brew ratio guide</a>.</p>

Why it matters

Internal links are how search engines discover pages and judge which ones matter on your site. They are also how visitors move from the page they landed on to the next useful one. A page with no internal links is a dead end on both counts. For how to build links deliberately, see internal linking strategy.

A page with zero links also often means something is broken in the template, which may affect every page built with it.

Why the audit may find none

The check treats a link as internal only when its hostname exactly matches the page's. That makes several WordPress situations show up here:

  • Links still point at the old domain. After moving from a staging site or changing domains, menus and content often keep absolute links to staging.example.com or the old domain. They look fine to visitors if the old domain redirects, but they are not internal links.
  • www versus non-www. If the page is https://www.example.com/ and the menu links to https://example.com/, every link counts as external. Pick one host and use it everywhere.
  • Blank landing templates. "Canvas" or "blank" page templates in themes and page builders remove the header and footer, and with them all navigation.
  • Navigation built from JavaScript buttons. Menus that use onclick handlers on buttons or divs instead of <a href> links do not count as links, for this audit or for search engines.

How to fix it in WordPress

  1. Check which hostname your links use. View source and look at the href values in your menu. If they point to an old or different host, fix the WordPress Address and Site Address under Settings → General, then update the menu under Appearance → Menus or the Navigation block in the Site Editor.
  2. Replace old-domain links in content. After a migration, run a search-and-replace on the database for the old URL (WP-CLI's wp search-replace or a dedicated plugin). Back up first.
  3. Give landing pages some links. A canvas template can stay minimal, but add a logo link home, a footer with key pages, or links in the copy.
  4. Link from the content. In the block editor, select text and press Ctrl+K or Cmd+K; the link box searches your posts and pages by title. Link where it helps the reader, with anchor text that says what they will get.
  5. Use Hydrogen SEO to spot the pattern. The Links part of each post's SEO score gives full points for three or more internal links and one or more external link in the content. The site audit flags orphan pages, the reverse problem: pages nothing else links to.

How to check the fix

View the page source and confirm links use your site's exact host, or relative paths like /blog/. In the browser console, [...document.links].filter(a => a.hostname === location.hostname).length counts links on the same host. Run the page through the free SEO audit again to confirm it now finds internal links.

Common questions

Do menu and footer links count as internal links?

For this audit, yes: it counts every link on the page. Search engines also follow them, though links in the main content usually carry more context.

Are links to www and non-www versions internal?

Not to this audit, which matches the exact hostname. Search engines also treat them as separate hosts until redirects and canonicals consolidate them, so use one version consistently.

Should internal links be relative or absolute?

Either works for search engines. Relative links survive domain changes more gracefully; absolute links are fine as long as they use your live domain.