Создание Sitemap.xml в Next.js с помощью next-sitemap

296

4/25/2023

Узнайте, как использовать next-sitemap для создания sitemap.xml в Next.js и оптимизировать свой сайт для поисковых систем. Следуйте этой лучшей практике SEO и обеспечьте индексацию всех страниц вашего сайта, чтобы увеличить трафик и улучшить его видимость в поисковых результатах.

Вадим Пашаев

Вадим Пашаев

CEO PXSTUDIO_

Создание Sitemap.xml в Next.js с помощью next-sitemap
Регистрация товарных знаков
Домены, хостинг от reg.ru
FL.ru – фриланс сайт удаленной работы. Поиск удаленной работы, фрилансеры.
Strikingly! Make a website in minutes

В прошлый раз я писал, как можно сделать sitemap в приложении на Next.js из файла страницы. Почитать можно тут.

Но для создания файла sitemap.xml в Next.js есть еще более удобный способ - это с помощью сторонней библиотеки next-sitemap. Эта библиотека генерирует sitemap.xml и robots.txt автоматически на основе маршрутов, которые определены в приложении Next.js. Давайте разберемся, как это сделать!

Шаги для создания Sitemap.xml с помощью next-sitemap:

  1. Установите next-sitemap в свой проект на Next.js, используя команду npm:
npm install next-sitemap
  1. Создайте файл next-sitemap.config.js в корневой папке проекта, если его еще нет, и добавьте следующий код:
/** @type {import('next-sitemap').IConfig} */
module.exports = {
  siteUrl: process.env.SITE_URL || 'https://example.ru',
  generateRobotsTxt: true, // опционально, можно отключить
  // ...другие опции
}
  1. Добавьте в файл package.json скрипт, который будет выполняться после билда:
{
  "build": "next build",
  "postbuild": "next-sitemap"
}
  1. Запустите ваше Next.js приложение и откройте файл http://localhost:3000/sitemap.xml. Вы должны увидеть сгенерированный файл sitemap.xml со списком роутов всего вашего приложения.

Кроме того, next-sitemap предоставляет ряд опций, которые вы можете использовать, чтобы настроить генерацию sitemap.xml. Например, вы можете настроить приоритеты страниц, время их обновления, и т.д. Подробнее об этом можно узнать из документации библиотеки.

Генерация sitemap.xml (опционально)

Начиная с версии next-sitemap v2.x и выше, по умолчанию в файле public/sitemap.xml будет формироваться карта сайта. Он будет содержать все URL-адреса всех сгенерированных конечных урлов сайта.

Генерацию sitemap сайта можно отключить, установив значение generateIndexSitemap: false в конфигурационном файле next-sitemap.config.js (Это полезно для небольших сайтов / сайтов для хобби, которым не требуется индексная карта сайта) (Пример: no-index-sitemaps).

Разделение большого sitemap.xml на несколько файлов

Если на вашем веб-сайте большое количество страниц, возможно, будет невозможно включить все URL-адреса в один файл sitemap из-за ограничений на размер файла и количество URL-адресов, которые могут быть включены в карту сайта. В этом случае определите свойство sitemapSize в next-sitemap.config.js чтобы разделить большую карту сайта на несколько файлов.

/** @type {import('next-sitemap').IConfig} */
module.exports = {
  siteUrl: 'https://example.com',
  generateRobotsTxt: true,
  sitemapSize: 7000,
}

Выше приведена минимальная конфигурация для разделения большой карты сайта. Если количество URL-адресов в карте сайта превышает 7000, next-sitemap создаст карту сайта (например sitemap-0.xml , sitemap-1.xml ) и индексный файл (например sitemap.xml ).

Конфигурационные опции

siteUrl - Базовый URL вашего веб-сайта

changefreq (опционально) - Устанавливает частоту проверки. По умолчанию, ежедневно

priority (опционально) - Устанавливает приоритет сканирования. По умолчанию - 0.7

Подписаться на рассылку

Получите лучшие новости по веб-разработке и AI

Подписаться на рассылку

Получите лучшие новости по веб-разработке и AI

Youtube-канал 'Электронный кочевник'

Оценка проекта

Хотите быструю оценку Вашего проекта?

Василий Иванов
Максим Насенников
Виктория Мальцева
Vadim Pashaev

Заполните форму справа и наша команда экспертов поможет найти для Вас оптимальное решение вашей идеи или задачи

Есть интересная идея?

И вы очень хотите ее реализовать, пишите нам и получите подробное коммерческое предложение и быструю реализацию