Sitemap generator working with vite-ssg using sitemap-ts
Install:
npm install -D vite-ssg
npm install -D vite-ssg-sitemap
Add to your vite.config.js:
import generateSitemap from 'vite-ssg-sitemap'
export default {
plugins: [
Vue(),
],
ssgOptions: {
onFinished() { generateSitemap() },
},
}
Now, run npm build and this will generate sitemap.xml and robots.txt files on your dist folder.
string'http://localhost/'Base URI.
string[][]Array of strings with manual dynamic routes.
export default {
plugins: [
Vue(),
],
ssgOptions: {
onFinished() {
const users = await api.get('/users')
const dynamicRoutes = users.map(user => `/users/${user.name}`)
generateSitemap({ dynamicRoutes })
},
},
}
string[][]Array of strings with excluded routes.
export default {
plugins: [
Vue(),
],
ssgOptions: {
onFinished() {
generateSitemap({
exclude: ['/admin', '/private']
})
},
},
}
You can find a working example in example folder.
string[][]Array of strings with other sitemaps paths or urls.
generateSitemap({
externalSitemaps: ['sitemap_1', 'sitemap_2', 'subpath/sitemap_3', 'https://site.com/sitemap.xml']
})
string'dist'Output directory.
string | string[]'html'File extensions that need to be generated.
Example: [‘html’, ‘md’]
string | RoutesOptionMap<string>'daily'Change frequency option for sitemap.
number | RoutesOptionMap<number>1Priority option for sitemap.
Date | RoutesOptionMap<Date>new Date()Last modification option for sitemap.
{ [route: string]: Type }Used for changing changefreq, priority, or lastmod on a by-route level.
The (optional) route '*' is used as default.
booleanfalseConverts XML into a human readable format
{ defaultLanguage?: string, languages: string[], strategy?: 'suffix' | 'prefix' }undefined, strategy: 'suffix'Add i18n support defining alternate links.
defaultLanguage will use this language with / and languages with /language.
strategy specifies if the language code is a suffix to the path or a prefix. ‘suffix’ is default. Example: http://localhost/mypage/en or http://localhost/en/mypage
booleantrueEnables robots.txt file generation
RobotOption[][{ userAgent: '*', allow: '/' }]RobotOption:
stringstring | string[]string | string[]numberstringMIT License © 2022 jbaubree