Extension:AutoSitemap

This page is a translated version of the page Extension:AutoSitemap and the translation is 100% complete.
Справка по расширениям MediaWiki
OOjs UI icon advanced-invert.svg
AutoSitemap
Статус релиза: стабильный
Реализация MyWiki , Действие страницы
Описание Автоматически создает и обновляет файл Sitemap при изменении любой страницы сайта.
Автор(ы) Dolfinus, François Boutines-Vignard, Jehy, Thomas
Последняя версия 1.4.1 (1.3 for MW 1.33 and lower) (2020-08-24)
MediaWiki 1.25+
Изменения БД Нет
Лицензия GNU General Public License 3.0 or later
Загрузка
README
Пример Пример сгенегированного файла sitemap.xml
$wgAutoSitemap

Проверьте использование и версию.

Расширение AutoSitemap автоматически формирует файл "sitemap.xml" при каждом создании/изменении/удалении страницы на сайте. Файл sitemap.xml помогает поисковым системам индексировать страницы вашего сайта. Это расширение основано "ManualSitemap ".

Обоснование

У меня нет возможности обновлять файл sitemap.xml по расписанию из-за ограничений хостинга. Также мне не хотелось бы обновлять его вручную.

Поэтому я доработал существующее расширение, чтобы sitemap файл обновлялся при каждом изменении, создании, удалении или переименовании страницы, а также при загрузке файлов на сайт.

Установка

  • Скачайте и распакуйте файл(ы) в папку с названием AutoSitemap в вашей папке extensions/.
  • Добавьте следующие строки в конец файла LocalSettings.php:
    wfLoadExtension( 'AutoSitemap' );
    
  • Выполните любое изменение на сайте - например, обновите существующую страницу или создайте новую
  • Файл sitemap.xml будет сгенерирован автоматически
  •   Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.

Настройка

Есть множество параметров, которые влияют на формирование файоа sitemap.xml. Вы можете установить необходимые значения в файле LocalSettings.php

Имя файла

Вы можете указать название sitemap файла, изменив значение параметра:

$wgAutoSitemap["filename"] = "sitemap.xml"; //default value

Установка базового URL

По-умолчанию, все ссылки в sitemap файле используют $wgCanonicalServer (или $wgServer, если значение не задано) в качестве имени домена Вы можете указать другой домен, изменив соответствующую настройку:

$wgAutoSitemap["server"] = "https://your-site.com";

Уведомление поисковых систем

Вы можете уведомлять поисковые системы о том, что файл sitemap.xml был обновлен. Для этого укажите список URL, на которые будет отправляться уведомление:

$wgAutoSitemap["notify"] = [
    'https://www.google.com/webmasters/sitemaps/ping?sitemap=https://your-site.com/sitemap.xml',
    'https://www.bing.com/webmaster/ping.aspx?sitemap=https://your-site.com/sitemap.xml'
];

В некоторых случаях хостинг может запрещать выполнение команды fopen для отправки уведомлений (allow_url_fopen=false). Если у вас отсутствует возможность вызывать ее, или вы не планируете отправлять уведомления, используйте пустой массив в качестве значения переменной (удалив строки между квадратными скобками, т.е. = [];).

Исключить типы страниц из карты сайта

Вы можете исключать отдельные страницы или namespace целиком от их добавления в sitemap файл:

$wgAutoSitemap["exclude_namespaces"] = [
    NS_TALK,
    NS_USER,   
    NS_USER_TALK,
    NS_PROJECT_TALK,
    NS_IMAGE_TALK,
    NS_MEDIAWIKI,   
    NS_MEDIAWIKI_TALK,
    NS_TEMPLATE,
    NS_TEMPLATE_TALK,
    NS_HELP,   
    NS_HELP_TALK,
    NS_CATEGORY_TALK
]; //default values

$wgAutoSitemap["exclude_pages"] = ['page title to exclude', 'other one'];

Установить частоту обновления страницы

Вы можете вручную установить рекомендуемую частоту, с которой поисковые системы будут проверять содержимое страниц:

$wgAutoSitemap["freq"] = "daily"; //default

Возможные значения:

hourly
daily
weekly
monthly
yearly
adjust - for automatic determination of frequency based on page edits count

Установить приоритет страницы

Вы можете вручную установить приоритет конкретных страниц или namespace:

$wgAutoSitemap["priority"] = 0.7;

или

$wgAutoSitemap["priority"][NS_MAIN] = 1;
$wgAutoSitemap["priority"][NS_CATEGORY] = 0.8;

или

$wgAutoSitemap["priority"]['Main page'] = 1;
$wgAutoSitemap["priority"]['Other page'] = 0.8;

Применение

Разрешения

У вашей MediaWiki должны быть права на запись в файлы (используйте команды chmod +w и chown apache или chown nginx).

Htaccess, Nginx

Если вы хотите, чтобы sitemap отображался в человекочитаемом формате, выдайте права на чтение файла sitemap.xsl в настройках вашего сайта (например, в .htaccess файле или иным способом).

См. также