[Mediawiki] Яндекс Турбо

Mediawiki

Сделал я небольшое дополнение к движку MediaWiki, которая создает rss ленты. В основном, это нужно для добавления в ЯндексТурбо.

Скачать можно с GitHub. Установить его просто — нужно просто скинуть все файлы в папку, например, turbo в корень сайта.

При первом запуске создается файл cache.db, где будут все страницы с сайта. Соответственно, при первом запуске будет большая нагрузка на сервер. Потом при посещении будут проверяться только свежие правки.

После формирования БД, будут отображаться ссылки. Например, http://sait.ru/turbo/?page=0, которую просто закидываем в Вебмастере Яндекса.

Итоги

Плюсы

  • формирует rss для Турбо Яндекс
  • поддерживаются различные шаблоны лент RSS, которые не сложно создать
  • работает через API, т.е. не надо пароли от БД
  • скрипт можно разместить на другом сайте/сервере

Минусы

  • на реальном сервере слишком много запросов к серверу. На сайте 200 страниц с статьями, итого 30к запросов к серверу за сутки. Это понятно в первый день, где просматриваются скриптом все статьи, но это на протяжении уже семи дней. На тестовом локальном сервере запросов минимум. Я думаю проблема с определением статьи в кэше, из-за чего постоянно парсяться заново статьи.
  • Есть ошибки при парсинге. MediaWiki иногда криво отдает итоговую страницу, где картинка не в том тэге. Пока что проблема только в одной статье на сайте.
  • Через API скорость довольно медленная.
  • На одном, из двух сайтов, отваливается скрипт (Яндекс не видит ленту). На втором, проблем нет, работает стабильно.

Буду рад помощи, особенно с указанием, как исправить ошибки. Или оптимизации кода.

Оцените статью
( Пока оценок нет )
Блог Ичи

Добавить комментарий

  1. Сергей Колесников

    Не работает ваш код. Mediawiki 1.36.1 PHP 7.3.24-3
    Помогите понять, в чем может быть проблема?

    Ответить
    1. Ichi автор

      На странице github по ссылке https://github.com/Ichinya/yandex_turbo_for_mediawiki/issues добавьте новое обращение с подробным описанием, что делаете, что происходит, желательно скриншоты.

      Ответить