Manual:GenerateSitemap.php

From mediawiki.org
This page is a translated version of the page Manual:GenerateSitemap.php and the translation is 58% complete.
Outdated translations are marked like this.

Подробнее

Файл generateSitemap.php является скриптом тех.обслуживания для генерации карты сайта для установленной MediaWiki. Карта сайта - это файлы, делающие работу поисковых роботов краулеров (например googlebot) более эффективной (когда бот поддерживает протокол sitemap.)

По-умолчанию, скрипт генерирует индексный файл sitemap и один файл с gzip-сжатием для каждого пространства имен, содержащего контент. Смотри #Опции для списка опций, которые можно передать в скрипт.

Возможно вам понадобится настроить работу cron для автоматического обновления карты сайта.

Для общих инструкций по использованию скриптов тех.обслуживания в MediaWiki, ознакомьтесь с разделом Руководство:Скрипты обслуживания .

Опции

--help

отображает доступные опции для generateSitemap.php

--fspath=<path>

Путь в файловой системе для хранения, например sitemap/. Обратите внимание, эта директория должна быть доступна для просмотра онлайн!

--identifier=<identifier>

Какой идентификатор сайта использовать для wiki, по-умолчанию $wgDBname

--urlpath=<prefix>

URL, указывающий например на --fspath.
/sitemap/
Если указано, получает префиксы имен файлов в индексном файле карты сайта. Необходимо, потому что некоторые поисковые механизмы Google требуют абсолютные URL в карте сайта. Вы должны так же указать --server; значения часто бывают похожими, но когда они отделены, это позволяет скрипту размещать даже необычные настройки.
Before MediaWiki 1.32.0 this parameter should contain the protocol and host name. However, since MediaWiki 1.32.0 the contents of this parameter will be appended to the --server parameter, thus it must neither contain protocol nor hostname. This is a breaking change not announced via the RELEASE-NOTES.

--server=<server>

Протокол и имя хоста, для использования например в URL.
https://en.wikipedia.org
Иногда необходимо, потому что обнаружение имени сервера может привести к неудачному выполнению скриптов в командной строке и будет показываться в xml файлах просто как "localhost" или "my.servername".
If set, the value of $wgCanonicalServer will override the value of this option in all sitemap files except for the sitemap index file.

--compress=[yes|no]

Использовать или нет сжатие для файлов карты сайта. По-умолчанию имеет значение yes.

--skip-redirects

If this option is added redirects are skipped and thus not listed within the sitemap. This is recommended since Google can complain about redirects. However the default setting is not to skip redirects.

Пример

Создание карты сайта для Google Webmaster Tools:

mkdir sitemap

Затем:

Версия MediaWiki:
1.40
php maintenance/run.php generateSitemap --memory-limit=50M --fspath=/path/to/examplecom/sitemap/ --identifier=example.com --urlpath=/sitemap/ --server=https://www.example.com --compress=yes --skip-redirects
Версии MediaWiki:
1.32 – 1.39
php maintenance/generateSitemap.php --memory-limit=50M --fspath=/path/to/examplecom/sitemap/ --identifier=example.com --urlpath=/sitemap/ --server=https://www.example.com --compress=yes --skip-redirects
Версия MediaWiki:
1.31
php maintenance/generateSitemap.php --memory-limit=50M --fspath=/path/to/examplecom/sitemap/ --identifier=example.com --urlpath=https://www.example.com/sitemap --server=https://www.example.com --compress=yes --skip-redirects

This will create a sitemap index stored at /path/to/examplecom/sitemap/sitemap-index-example.com.org.xml which points to a compressed XML file for each namespace, e.g. /path/to/examplecom/sitemap/sitemap-example.com-NS_0-0.xml.gz for the main namespace.

This does not mean your sitemap can now be found automatically! You will then need to submit the link for the sitemap index to the crawling site (eg Yandex or Google), i.e. https://www.example.com/sitemap/sitemap-index-example.com.org.xml .

Alternatively, you can make this findable by any crawler by adding a link to the sitemap index to your site root directory e.g.:

ln -s /sitemap/sitemap-index-example.com.org.xml sitemap.xml

Для нелатинских доменов используйте Punycode.

Связанные настройки в LocalSettings.php

Версия MediaWiki:
1.13
  • $wgSitemapNamespaces : Массив пространств имен, для которых будет сгенерирована карта сайта Google, или false если будет сгенерирована одна карта для всех пространств имен. По-умолчанию имеет значение false.
Версия MediaWiki:
1.19
  • $wgSitemapNamespacesPriorities : Собственный приоритет пространств имен для карт сайта. Это должна быть карта с соотношениями ID пространств имен к их приоритету. ПО-умолчанию имеет значение false.