Vue apps can hide link problems behind client-side routing, dynamic menus, and API-backed views. A useful broken-link check needs to validate what users see after navigation, not just whether href attributes exist in the first HTML response.
Vue Router links worth including in a QA pass
Even a manual route inventory helps you decide which routes deserve a browser crawl.
const routes = [
{ path: "/", component: Home },
{ path: "/pricing", component: Pricing },
{ path: "/docs/:slug", component: DocsPage },
{ path: "/account", component: AccountHome, meta: { requiresAuth: true } }
];
console.table(routes.map((route) => ({
path: route.path,
auth: Boolean(route.meta?.requiresAuth)
})));Vue-Relevant Crawl Surfaces
What usually breaks
- router links to renamed or removed views
- dynamic docs or product routes with missing API data
- navigation guards that redirect users into dead ends
- soft 404 empty states that still return 200
Recommended workflow
Start with a route inventory from the Vue Router config and public navigation. Then run a browser-aware crawl against staging so links discovered after hydration are included.
For logged-in Vue dashboards, keep the crawl read-only and avoid destructive actions, logout paths, and arbitrary form submissions.