Identify and fix link issues for prerendered Nuxt 3 apps.
|
Status: Stable Please report any issues 🐛 Made possible by my Sponsor Program 💖 Follow me @harlan_zw 🐦 • Join Discord for help |
ℹ️ Looking for a complete SEO solution? Check out Nuxt SEO Kit.
npm install --save-dev nuxt-link-checker
# Using yarn
yarn add --dev nuxt-link-checker
nuxt.config.ts
export default defineNuxtConfig({
modules: [
'nuxt-link-checker',
],
})
To have routes scanned for broken links automatically, they need to be pre-rendered by Nitro.
export default defineNuxtConfig({
nitro: {
prerender: {
crawlLinks: true,
routes: [
'/',
// any URLs that can't be discovered by crawler
'/my-hidden-url'
]
}
}
})
You’ll need to provide the host of your site so that the crawler can resolve absolute URLs that may be internal.
export default defineNuxtConfig({
// Recommended
runtimeConfig: {
public: {
siteUrl: process.env.NUXT_PUBLIC_SITE_URL || 'https://example.com',
}
},
// OR
linkChecker: {
host: 'https://example.com',
},
})
You can exclude URLs from throwing errors by adding them to the exclude array.
For example, if you have an /admin route that is a separate application, you can ignore all /admin links with:
export default defineNuxtConfig({
linkChecker: {
exclude: [
'/admin/**'
],
},
})
You can disable errors on broken links by setting failOn404 to false.
export default defineNuxtConfig({
linkChecker: {
failOn404: false,
},
})
failOn404booleantrueIf set to true, the build will fail if any broken links are found.
excludestring[][]An array of URLs to exclude from the check.
This can be useful if you have a route that is not pre-rendered, but you know it will be valid.
hoststringruntimeConfig.public.siteUrl || localhostfalseThe host of your site. This is required to validate absolute URLs which may be internal.
trailingSlashbooleanfalseWhether internal links should have a trailing slash or not.
MIT License © 2023-PRESENT Harlan Wilton