АнтиСео в MODX 2.4.0
Доброго времени суток, господа
Думаю не все в курсе (по крайней мере я не был) о том, что последние версии modx не корректно отрабатывают в связке в nginx ЧПУ (верней переадресацию при включении чпу).
В результате чего контент сайтацеликом дублируется в глазах поисковика и вы уныло катитесь вниз в выдаче.
Приведу простой пример:
Ваш сайт доступен по ссылке */index.php?id=1 и /, */index.php?id=2 и по чпу документа с id 2 и т.д.
К сожалению на modhost установлен nginx и я совершенно случайно обнаружил этот факт.
Василий предложил использовать плагин
Так же обратил внимание, что при включении этого плагина слетает выборка последних новостей (последние 3 дочерных документа у родителя по id).
Вот собственно вопрос:
как поставить проверку по содержанию /manager/ в url?
Почему может не работать pdoResources при включении этого плагина?
Думаю не все в курсе (по крайней мере я не был) о том, что последние версии modx не корректно отрабатывают в связке в nginx ЧПУ (верней переадресацию при включении чпу).
В результате чего контент сайта
Приведу простой пример:
Ваш сайт доступен по ссылке */index.php?id=1 и /, */index.php?id=2 и по чпу документа с id 2 и т.д.
К сожалению на modhost установлен nginx и я совершенно случайно обнаружил этот факт.
Василий предложил использовать плагин
<?php
if ($modx->event->name == 'OnHandleRequest') {
if (!empty($_GET['id'])) {
$id = (int)$_GET['id'];
if (!$modx->getCount('modResource', array('id' => $id, 'published' => 1, 'deleted' => 0))) {
$id = $modx->getOption('error_page', null, $modx->getOption('site_start'));
}
$modx->sendRedirect($modx->makeUrl($id));
}
}На первый взгляд он закрывает эту дырку, но на практике получилось, что он ресолвит id и для страниц бэкенда, что убило его функционал.Так же обратил внимание, что при включении этого плагина слетает выборка последних новостей (последние 3 дочерных документа у родителя по id).
Вот собственно вопрос:
как поставить проверку по содержанию /manager/ в url?
Почему может не работать pdoResources при включении этого плагина?
Комментарии: 38
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
И
В плагине и правда нужно добавить проверку на $modx->context->key != 'mgr', тут я не доглядел.
P.S. Это АнтиСЕО началось с версии 2.3, насколько я могу судить. Это ж тысячи сайтов должны были просесть в выдаче.
Сам nginx может и не причем, но на MODX с nginx не работает.
Исторически присутствуют нативные ссылки разного рода. Сайт меняется, cms меняются, а ссылки лучше бы сохранять с редиректами.
Измениться в выдаче. Они и меняются каждый ап, вопрос по какой причине.
Если проставить ссылок на идентичный контент на другой странице, то «правильная» страница будет иметь не уникальный контент.
Вопрос в том, что знает ли ПС о наличии этих альтернативных страниц. В нашем случае знает, так как есть ссылочное в этими урл исторически.
Или они в .htaccess настроены, а тут нужно их под nginx переписать и вся проблема именно в этом? Действительно, залез в .htaccess, а там:
Видимо таким образом Apache2 типа «сам» и делает редиректы — при их настройке, да.
То есть, вся претензия к хостингу, MODX, SEO, nginx и прочему заключается в «Мы не знали, что у вас нет Apache2 и не читали раздел настройка веб-сервера»?!
Василий, у Вас хороший хостинг и претензий к нему нет, а есть проблема.
Не читал, но даже если бы читал ДО переезда, то о такой проблеме я не знал.
У тебя файл .htaccess на 25 килобайт с десятками хитрых правил, которые нужно как-то переписать для Nginx, или забить в компонент Redirector для MODX. После этого все редиректы вернутся и проблем с SEO больше не будет.
.htaccess работает только в Apache2, Nginx же рассчитан на более высокие нагрузки и не может себе позволить читать дополнительный файл при каждом запросе.
Только Nginx тут действительно не причем.
Если да, то покажите эту нишу с такой конкуренцией:)
Просто я не лезу в СЕО. Главное контент )
лоховнесведущих людей в этой теме, о которой сказано в процитированном мной заявлении выше, в которую входит продвижение ссылками (в наше время), указание простыни ключевых слов на странице и подобные сказки. А есть рабочие методы, вродеюзабилитипричёсывания сайта для большего удобства пользователя, качественная проработка текста (это когда текст грамотно структурирован и разбит подзаголовками, лучше всего без воды), внедрения на сайт удобных функций (вроде калькулятора) и т.д.Если чего-то не понимаешь — не нужно категорично заявлять, что этого нет или что это не работает. Это повседневная проблема нашего человека. То, что однажды ваш сайт попал в ТОП и продержался там недельку по НЧ (утрирую), не значит, что минимально указав какие-то моменты и проставив на него кучу ссылок с ГС у вас получилось продвинуть его не прибегая к услугам т.н. «профи в СЕО». Обычно даже если сайт в ТОП-3 по ВЧ — это не значит, что у него куча ссылок на морду или даже
юзабилитиудобство для пользователя проработано на высшем уровне. Просто на нём есть, к примеру, очень удобная функция калькулятора для подсчёта цены на пластиковое окно или ещё что-то в этом духе. Надо понимать, что тот-же Яндекс в наше время умеет оценивать удобство сайтов по поведению пользователей на них (да, вы не поверите, но технологии в наше время доросли до такого уровня). Однако это не говорит о том, что это самый главный и важный фактор. Есть такиемаленькие китайцылюди, их называют асессорами (вы и сами можете попробовать себя в этом деле), так вот они оценивают множество различных факторов на сайте вручную. И часто бывает так, что от их оценки зависит ТОП-3 какого-либо ВЧ.Ещё раз повторю. Если чего-то не понимаешь — не нужно категорично заявлять, что этого нет или что это не работает.
Где же это я такое утверждал? Я говорил, что индустрия «профессиональной» поисковой оптимизации слишком раздута и во многом её востребованность притянута за уши.
Опять же, это как раз то, о чем я и говорил. Основа всего — уникальный востребованный контент.
Ну где же ты увидел, что я спорю с этим? Разумеется, удобство для пользователя — фактор, напрямую соперничающий с качеством контента. Если я ищу какую-то определенную информацию, но сайт при этом плюется всякими модальными окнами с предложением чего-нибудь полайкать, чудовищно выглядит на моем телефоне или имеет противоестественную навигацию — я уйду с него и не стану читать нужную мне информацию, поищу более удобную замену.
Только как это всё связано с «супер-профи» от СЕО и их ценниками — непонятно.
Вы прям холи вар готовы объявить. Тогда Я.метрика — это панацея.
Контент не менялся, просто провели базовые работы, расширили семантику.
Как дальше конвертировать это все в деньги, уже второй вопрос. Но если Вы что-то продаете/торгуете в интернете и действительно считаете что оптимизация сайта это пустые слова, то вы теряете в продажах.
Это как объявления о компьютерной помощи, которые массово расклеиваются в подъездах. «Установка программы — 200 р, удаление вируса — 500 р» и т.д. Это задачи для уровня рядового пользователя. Я же при этом не утверждаю, что эти «компьютерные мастера» не смогут реально установить программу. Смогут, скорее всего. Но это должен уметь делать любой пользователь ПК. Вы же не зовёте мастера, который запустит Вам стиральную машину на определённую программу или, например, включит мультиварку в нужном режиме.
Версия 2.3.6… Ни чего хорошего в этом нет.
и правило
тут не помогает
Сео это магия и шарлатаны:)
Я решил эту проблему на текущий момент плагином, который указан выше в комментариях, на первый взгляд проблему закрывает, если что-то еще вылезет, то отпишусь.
Да, я не утверждал, что СЕО — шарлатанство, но соглашусь, что шарлатанов в данной области полно, видимо из-за некомпетентности потенциальных заказчиков.
А в роботс не только index.php, но и все гет параметры запретил. Но это ужасно, что настройка friendly_urls_strict не работает :(
т.е. чтобы плагин отдал 301 надо заменить
на
верно?
Про sendRedirect прочитал в документации, без доп. параметров он ставит 302 редирект, что не есть хорошо в нашей ситуации.
Но 301 редирект предложенный Вами не отрабатывал у меня, поэтому я написал полную запись
Так все работает.
И если уже мы заговорили про canonical, то этот тег не гарантирует поведение ПС в выдаче, может и с тегом выйти в выдачу.
Эта проблема актуальна для страниц пагинации, например. Так как по умолчанию ставится только canonical на вторых и следующих страницах. (Я на этот счет даже писал Василию), корректно отрабатывать пагинацию через noindex, follow.
не решает проблему дублей?
Проверьте тестером.