Skip to content

Rule · SEO

Navigation uses elements crawlers can't follow

seo/links-not-crawlableerrorvoid seoupdated

Why it matters

Google and AI crawlers only follow <a href> with a resolvable URL; javascript: hrefs, onclick handlers and clickable divs hide pages from discovery.

How to fix it

Use <a href> (next/link <Link>) for navigation and <button> for actions. Never navigate with router.push from a div's onClick.

Example

tsx
// ✗ <div onClick={() => router.push('/pricing')}>Pricing</div>
// ✓
import Link from 'next/link'
<Link href="/pricing">Pricing</Link>

References

void seo reports 60 rules in this category. What search engines need from the raw response: status codes, titles and descriptions in <head>, self-referencing canonicals, one h1, crawlable links, Open Graph, icons, robots.txt and a sitemap with real dates.