Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

vite-plugin-sitemap

Package Overview
Dependencies
Maintainers
0
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vite-plugin-sitemap

Sitemap generator plugin for Vite

  • 0.7.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
4.9K
decreased by-14.18%
Maintainers
0
Weekly downloads
 
Created
Source

vite-plugin-sitemap

npm version monthly downloads types license CI

Sitemap generator plugin for Vite using sitemap-ts.

This plugin scans your dist folder next build to generate sitemap.xml and robots.txt files.

Getting Started

Vue

Install:

npm install -D vite-plugin-sitemap

Vite config

Add to your vite.config.js:

import Sitemap from 'vite-plugin-sitemap'

export default {
  plugins: [
    Vue(),
    Sitemap(),
  ],
}

Now, run npm build and this will generate sitemap.xml and robots.txt files on your dist folder.

To generate all pages of your app, you can:

  • Use dynamicRoutes to send routes paths.
  • Read MPA docs from Vite documentation.
  • Use MPA with vite-plugin-mpa.

Configuration options

hostname

  • Type: string
  • Default: 'http://localhost/'

Base URI.

dynamicRoutes

  • 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.

exclude

  • 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.

externalSitemaps

  • 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']
})

outDir

  • Type: string
  • Default: 'dist'

Output directory.

extensions

  • Type: string | string[]
  • Default: 'html'

File extensions that need to be generated. Example: ['html', 'md']

changefreq

  • Type: string | RoutesOptionMap<string>
  • Default: 'daily'

Change frequency option for sitemap.

priority

  • Type: number | RoutesOptionMap<number>
  • Default: 1

Priority option for sitemap.

lastmod

  • Type: Date | RoutesOptionMap<Date>
  • Default: new Date()

Last modification option for sitemap.

RoutesOptionMap<Type>

  • Type: { [route: string]: Type }

Used for changing changefreq, priority, or lastmod on a by-route level. The (optional) route '*' is used as default.

readable

  • Type: boolean
  • Default: false

Converts XML into a human readable format

i18n

  • 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

generateRobotsTxt

  • Type: boolean
  • Default: true

Enables robots.txt file generation

robots

  • Type: RobotOption[]
  • Default: [{ userAgent: '*', allow: '/' }]

RobotOption:

  • userAgent: string
  • allow?: string | string[]
  • disallow?: string | string[]
  • crawlDelay?: number
  • cleanParam?: string

License

MIT License © 2022 jbaubree

FAQs

Package last updated on 02 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc