Недавно обнаружился при неприятнейший баг, связанный с работой MODX Revo 2.4 и выше. Появилась проблема с дублями страниц в поисковиках, если включено ЧПУ. Начали проседать позиции, так как из-за дублей ПС считал исходную страницу не уникальной. Создаём плагин с названием скажем Redirect
и вешаем на него событие OnHandleRequest
.
<?php
if ($modx->event->name != "OnHandleRequest" || $modx->context->key == 'mgr') {
return;
}
if ($_SERVER['REQUEST_URI'] != '/') {
$uri = strtok(substr($_SERVER['REQUEST_URI'], 1), '?');
if ($uri == 'index.php') {
$uri = intval(str_replace('/index.php?id=', '', $_SERVER['REQUEST_URI']));
//не уверен, нужна ли здесь проверка на наличие ресурса, т.к. в случае отсутствия оного, событие должно перехватить OnPageNotFound
if(empty($uri)) {
$url = 1;
}
$modx->sendRedirect($modx->makeUrl($uri));
}
}
Комментарии ()