Как работает системный плагин перенаправления Joomla 3

archive view archive save

joomla-logo, jpg В движке Joomla 3 имеется полезный плагин "Система - Перенаправления" для отлавливания "битых" ссылок. Многие пользователи не в полной мере представляют принцип его работы и часто задают ряд вопросов, на самые популярные из которых попробуем дать исчерпывающие ответы.

В чём польза плагина перенаправления

При неправильной настройке системный плагин редиректа Joomla 3 может нанести больше вреда чем пользы.

Для примера, когда в настройке плагина "Система - Перенаправления" включено "Сохранять ссылки" и сайт при этом посещает множество вредоносных сканнеров генерирующийх "битые" ссылки. Таким образом таблица базы данных со временем раздуется до неимоверных размеров и открытие страниц веб-сайта будет со значительными задержками.

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

"404 просмотры" не учитываются

"Менеджер плагинов: Система - Перенаправления - Панель управления" переходы по включенным перенаправляющим ссылкам с "Исходный URL" на "Новый URL" не учитываются - почему?

Когда в "Менеджер перенаправлений: Ссылки - Панель управления" создана ссылка перенаправления со старого адреса на новый и она включена ("Состояние" опубликована), то переходы по таким перенаправлениям не учитываются в столбце как "404 просмотры". Следовательно, узнать актуальна и нужна ли эта ссылка-перенаправление не представляется возможным.

"404 просмотры" учитываются только тогда, когда "Состояние" ссылки неопубликована - это поведение заложено в логике плагина: /plugins/system/redirect/redirect.php

стр 263

// A redirect object was found and, if published, will be used

стр 293

// No redirect object was found so we create an entry in the redirect table

стр 324

// We have an unpublished redirect object, increment the hit counter

Инкрементирование счётчика хитов (increment the hit counter) перехода по старым адресам реализовано в коде плагина начиная со строки 324 и только при переходе по неопубликованному старому адресу "unpublished redirect".

Как проверить актуальность "битых" ссылок

Чтобы узнать актуальна ли ссылка, её следует отключить и запомнить число переходов, а спустя некоторое время (1-2 недели или месяца) проверить не изменилось ли значение. Для сброса счётчика переходов в 0 удалить ссылку и создеть её заново.

Если нужно проверить сразу много старых ссылок, то можно:

  1. сначала отключить, отсортировать по состоянию отключенные
  2. прямо в окне браузера выделить "Исходный URL" и "Новый URL"
  3. скопировать в текстовый редактор где массовой заменой удалить лишние значения и символы
  4. "Исходный URL" и "Новый URL" разделить символом "|" (old-url|new-url)
  5. сохранить "old-url|new-url" в текстовом файле
  6. удалить отключенные ссылки
  7. используя "Массовый импорт" импортировать текстовый файл

Отсутствует "Источник ссылки" (HTTP_REFERER)

"Источник ссылки" HTTP_REFERER, если он передан в НТТР запросе, будет указан только в момент сохранения ссылки, когда "Сохранять ссылки" в плагине "Система - Перенаправления" включено.

Вдальнейшем не зависимо от состояния ссылки (включено или отключено) поле "Источник ссылки" HTTP_REFERER обновляться не будет согласно программной логике плагина начиная со строки стр 293: /plugins/system/redirect/redirect.php

стр 293

// No redirect object was found so we create an entry in the redirect table

Слишком много битых ссылок

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

Чтобы избежать подобной ситуации, большинство вредоносных сканнеров можно блокировать по агенту пользователя (User-Agent) на уровне сервера или файла .htaccess, при этом желательно иметь доступ к лог-файлам сервера для анализа происходящего.

В большинстве же случаев обычный пользователь, на обычном хостинге, не имеет возможности доступа к лог-файлам сервера и на такой случай в "Менеджер плагинов: Система - Перенаправления - Панель управления" имеется возможность "Исключить URL" и использовать "Регулярное выражение".

Например, добавив в исключение регулярное выражение "\/(\W).*" (без кавычек) мы избавимся от ряда мусорных 404 ссылок вида:

/../.passwd
/../../etc/.group
/?filename=blablabla
/.=_?=^&*()#$@!@~1`;'';

Как вариант предотвращения перегрузки таблицы 404 ссылок, в настройках плагина "Система - Перенаправления" лишь иногда включать "Сохранять ссылки" на 1-2 недели, после чего отключать и проверять происхождение "битых" ссылок.

"Битые" ссылки по которым нет более чем 1-го перехода за продолжительный период времени (3-6 мес например) желательно удалять, что положительно скажется на производительности сайта.


Об авторе
Иван Шаман
Меня нет ни в Инстаграмме ни в Фейсбуке, я просто хожу по улицам и рассказываю первым встречным: сколько зарабатываю; с кем дружу; где живу и чем дышу. У меня даже появилось несколько подписчиков: ПСИХоЛОХ и участковый полицай!
Ещё статьи автора

Нет комментариев

Вы можете стать первым, кто добавит комментарий к этой записи.

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

АХТУНГ! Все комменты гостей модерасятся модерастом.
  1. Мессаги исключительно рекламного содержания, либо содержащие только одни оценочные суждения типа "круто" ("отлично", "спасибо", "автор дебил" и т.п.) не публикуются;
  2. Злостным спамерам, пранкерам и прочей сетевой нечисти рекомендуем напрасно не тратить своего времени и удовлетворять свои больные фантазии на специализированных Интернет ресурсах!;
  3. Разумная обоснованная критика, замечания, дополнения приветствуются. Поля помеченные символом * обязательны к заполнению.


Защитный код
Обновить

Комментарии в блоге
Новое на форуме