Extension:AutoSitemap
![]() Статус релиза: стабильно |
|
---|---|
Реализация | MyWiki , Действие страницы |
Описание | Автоматически создает и обновляет файл Sitemap при изменении любой страницы сайта. |
Автор(ы) | Dolfinus, François Boutines-Vignard, Jehy, Thomas |
Последняя версия | 1.7.1 (1.3 for MW 1.33 and lower) (2022-08-08) |
MediaWiki | 1.25+ |
Изменения в БД | Нет |
Лицензия | GNU General Public License 3.0 или позднее |
Скачать | Download master snapshot Note: 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',
];
В некоторых случаях хостинг может запрещать выполнение команды 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
файле или иным способом).
См. также
- - Подробнее о sitemap файлах на Википедии
- Описание работы sitemap от Google