Skip to content

Генерация карты сайта

VitePress поставляется с готовой поддержкой генерации файла sitemap.xml для вашего сайта. Чтобы включить её, добавьте следующее в файл .vitepress/config.js:

ts
import { defineConfig } from 'vitepress'

export default defineConfig({
  sitemap: {
    hostname: 'https://example.com'
  }
})

Чтобы теги <lastmod> присутствовали в вашем файле sitemap.xml, вы можете включить опцию lastUpdated.

Параметры

Поддержка карты сайта осуществляется с помощью модуля sitemap. Вы можете передать любые поддерживаемые им параметры в опцию sitemap в вашем конфигурационном файле. Они будут переданы непосредственно в конструктор SitemapStream. Более подробную информацию см. в документации sitemap. Пример:

ts
import { defineConfig } from 'vitepress'

export default defineConfig({
  sitemap: {
    hostname: 'https://example.com',
    lastmodDateOnly: false
  }
})

Хук transformItems

Вы можете использовать хук sitemap.transformItems для изменения элементов карты сайта перед их записью в файл sitemap.xml. Этот хук вызывается с массивом элементов sitemap и ожидает возвращения массива элементов sitemap. Пример:

ts
import { defineConfig } from 'vitepress'

export default defineConfig({
  sitemap: {
    hostname: 'https://example.com',
    transformItems: (items) => {
      // добавляем новые элементы или изменяем/фильтруем существующие
      items.push({
        url: '/extra-page',
        changefreq: 'monthly',
        priority: 0.8
      })
      return items
    }
  }
})

Опубликовано под лицензией MIT.