Sitemap generator plugin for Vite using sitemap-ts.
This plugin scans your dist folder next build to generate sitemap.xml and robots.txt files.
Install:
npm install -D vite-plugin-sitemap
Add to your vite.config.js
:
import Sitemap from 'vite-plugin-sitemap'
export default {
plugins: [
Vue(),
Sitemap({ hostname: 'https://example.com' }),
],
}
Now, run npm build
and this will generate sitemap.xml and robots.txt files on your dist folder.
- Use dynamicRoutes to send routes paths.
- Read
MPA docs
from Vite documentation. - Use MPA with
vite-plugin-mpa
.
-
Type:
string
-
Default:
'http://localhost/'
Base URI.
-
Type:
string[]
-
Default:
[]
Array of strings with manual dynamic routes.
const names = [
'John',
'Bryce',
'Addison',
'Dana',
]
const dynamicRoutes = names.map(name => `/names/${name}`)
export default {
plugins: [
Vue(),
Sitemap({ dynamicRoutes }),
],
}
You can find a working example in example folder.
-
Type:
string[]
-
Default:
[]
Array of strings with excluded routes.
export default {
plugins: [
Vue(),
Sitemap({ exclude: ['/admin', '/private'] }),
],
}
You can find a working example in example folder.
-
Type:
string[]
-
Default:
[]
Array of strings with other sitemaps paths or urls.
generateSitemap({
externalSitemaps: ['sitemap_1', 'sitemap_2', 'subpath/sitemap_3', 'https://site.com/sitemap.xml']
})
-
Type:
string
-
Default:
'dist'
Output directory.
-
Type:
string | string[]
-
Default:
'html'
File extensions that need to be generated. Example: ['html', 'md']
-
Type:
string | RoutesOptionMap<string>
-
Default:
'daily'
Change frequency option for sitemap.
-
Type:
number | RoutesOptionMap<number>
-
Default:
1
Priority option for sitemap.
-
Type:
Date | RoutesOptionMap<Date>
-
Default:
new Date()
Last modification option for sitemap.
-
Type:
{ [route: string]: Type }
Used for changing changefreq
, priority
, or lastmod
on a by-route level.
The (optional) route '*'
is used as default.
-
Type:
boolean
-
Default:
false
Converts XML into a human readable format
-
Type:
{ defaultLanguage?: string, languages: string[], strategy?: 'suffix' | 'prefix' }
-
Default:
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
-
Type:
boolean
-
Default:
true
Enables robots.txt file generation
-
Type:
NSArgs
-
Default:
undefined
Trim the xml namespace See https://www.npmjs.com/package/sitemap#options-you-can-pass Type: https://github.com/ekalinin/sitemap.js/blob/0af656e6a4a7b1403c9b3af23603261bd9cf94d3/lib/sitemap-stream.ts#L20
-
Type:
RobotOption[]
-
Default:
[{ userAgent: '*', allow: '/' }]
RobotOption:
-
userAgent:
string
-
allow?:
string | string[]
-
disallow?:
string | string[]
-
crawlDelay?:
number
-
cleanParam?:
string
MIT License © 2022 jbaubree