Site has internal linking between pages
Why it matters
Search crawlers discover pages by following internal links from pages they already know. An orphaned page — one with no inbound link from anywhere else on the site — is invisible to the crawler unless it is listed in the sitemap, and even then it will rank poorly because PageRank flows through links. Internal links also pass anchor-text context that tells Google what a destination page is about; a homepage with no nav and no body links signals that the site has no content depth worth crawling.
Severity rationale
Low because the impact scales with site size — a single-page site is unaffected, but a multi-page site silently orphans subpages.
Remediation
Wire every route into a persistent navigation component and cross-link related pages in body content. Use next/link (or your framework's equivalent) so prefetching and client-side routing work correctly.
// components/Nav.tsx
import Link from 'next/link'
export function Nav() {
return (
<nav>
<Link href="/">Home</Link>
<Link href="/about">About</Link>
<Link href="/pricing">Pricing</Link>
<Link href="/docs">Docs</Link>
</nav>
)
}
For deep content trees, add a footer sitemap block so every page is reachable in at most two hops from the homepage.
Detection
-
ID:
internal-links -
Severity:
low -
What to look for: Check for
<a>tags or Next.js<Link>components that link between pages within the site. Look in navigation components, page content, and footer links. -
Pass criteria: Count all internal
<a>or<Link>elements that link to other page routes within the site. The project must have at least 3 internal links connecting its pages — at minimum, a navigation component with links to key pages. For each page route, classify as "has inbound internal links" or "orphaned (no inbound links)." -
Fail criteria: No internal linking found between pages, or pages are isolated with no navigation connecting them. Fewer than 3 internal links across the entire project is a fail.
-
Skip (N/A) when: The project has only one route (one
page.tsxor equivalent, no dynamic routes), OR the project is a pure API with no HTML pages. A single-page marketing app with client-side routing still has one route file and should be skipped; the check is not meaningful without multiple navigable destinations. -
Detail on fail:
"No internal navigation or cross-linking found between pages. Each page appears isolated."or"Navigation links to only 2 of 8 pages — remaining pages have no inbound internal links" -
Remediation: Internal links help search engines discover and understand the relationships between your pages. Ensure your navigation component links to all important pages:
// components/Nav.tsx import Link from 'next/link' export function Nav() { return ( <nav> <Link href="/">Home</Link> <Link href="/about">About</Link> <Link href="/pricing">Pricing</Link> <Link href="/docs">Docs</Link> </nav> ) }
Taxons
History
- 2026-04-18·v1.0.0·Initial import from seo-fundamentals·automated