Plain <a> for internal navigation
Part of Code Quality & Syntax, which counts for 20% of the overall score. When this check fires it deducts 4 points from that category, once per scan, no matter how many places it turns up.
What it detects
An <a href="/..."> pointing at an internal route triggers a full document reload instead of a client-side transition, discarding the SPA cache and prefetching. Heuristic: intentional full reloads and non-app markup can match too.
Why it matters
An <a href="/..."> that points at an internal route causes a full-page browser navigation: the whole document reloads, client state and the router cache are discarded, and Next.js cannot prefetch the destination. This is a heuristic because a deliberate full reload or non-navigation markup can match the same pattern.
How to fix it
Use the next/link component for internal navigation: import Link from "next/link" and wrap the destination with <Link href="/...">. Keep plain <a> only for external URLs, downloads, or cases where a full reload is intentional.
The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing
Does your repo trip this check?
Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.
Scan your repo