/sitemap-ts

Primary LanguageTypeScriptMIT LicenseMIT

sitemap-ts

NPM Version Monthly Downloads Types Licence CI

Sitemap generator.

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

Configuration options

hostname

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

Base URI.

dynamicRoutes

  • Type: string[]
  • Default: []

Array of strings with manual routes.

const names = [
  'John',
  'Bryce',
  'Addison',
  'Dana',
]
const dynamicRoutes = names.map(name => `/names/${name}`)
generateSitemap({ dynamicRoutes })

exclude

  • Type: string[]
  • Default: []

Array of strings with excluded routes.

generateSitemap({
  exclude: ['/admin', '/private']
})

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

base path

  • Type: string
  • Default: ``

String with base path.

generateSitemap({
  basePath: '/path'
})

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 JB Aubrée