vite-plugin-pages based sitemap generator
🚨Important Notes🚨
You must use vite-plugin-pages routes generation to use this plugin. If you are not working with vite-plugin-pages, i recommend to use vite-plugin-sitemap.
Install:
npm install -D vite-plugin-pages
npm install -D vite-plugin-pages-sitemap
npm install vue-router@next
Add to your vite.config.js
:
import Pages from 'vite-plugin-pages'
import generateSitemap from 'vite-plugin-pages-sitemap'
export default {
plugins: [
// ...
Pages({
onRoutesGenerated: routes => (generateSitemap({ routes })),
}),
],
}
To generate dynamic routes, you can add them manually:
export default {
plugins: [
// ...
Pages({
onRoutesGenerated: async (routes) => {
const users = await api.get('/users')
const dynamicRoutes = users.map(user => `/users/${user.name}`)
generateSitemap({ routes: [...routes, ...dynamicRoutes] })
},
}),
],
}
You can find a working example in example folder.
- Type:
{ defaultLanguage?: string, languages: string[] }
- Default:
undefined
Add i18n support defining alternate links. defaultLanguage will use this language with / and languages with /language
- Type:
string
- Default:
'http://localhost/'
Base URI.
- Type:
Route[] or/and string[]
- Default:
[]
Generated routes from vite-plugin-pages or/and strings as paths (ex: ['/user/1', '/user/2']) for manual dynamic routes.
- Type:
string[]
- Default:
[]
Excluded routes for sitemap.
- Type:
string
- Default:
'sitemap'
File name.
- Type:
string
- Default:
'public'
Destination path.
- Type:
string
- Default:
'daily'
Change frequency option for sitemap.
- Type:
number
- Default:
1
Priority option for sitemap.
- Type:
Date
- Default:
new Date()
Last modification option for sitemap.
- Type:
boolean
- Default:
false
Converts XML into a human readable format
- Type:
boolean
- Default:
false
Is Nuxt.js style route naming.
- Type:
boolean
- Default:
true
Allow robots crawl (in robots.txt file).
MIT License © 2022 jbaubree