Настройка плагина SEO Strict URLs

или Нет дубликатам!

Только уникальные, оригинальные страницы удостаиваются повышенного внимания поисковиков, а значит, и ваших потенциальных клиентов.

03.06.2014

Эта статья написана в далеком 2014 году, актуальна для ModX Evolution того времени. В обновлённой Evolution все это работает "из коробки".

Про борьбу с дубликатами написано много и очень подробно. Очень-очень много. Поэтому я не буду расписывать, какие они бывают, и почему их никто не любит. Кратко объясню: ModX для одного и того же ресурса может сформировать аж 8 различных адресов, поисковики воспринимают это как 8 одинаковых (абсолютно идентичных) страниц - и плакали ваши труды по добыче уникального контента.

Легко и просто с этим можно бороться с помощью плагина SEO Strict URLs. Вообще говоря, все, что нужно, написано в комментариях в коде плагина. Но для тех, кто [здесь ваша отмазка], расскажу популярно. Как обычно, первое, что вам нужно сделать - получить текст плагина (кстати, приятная новость - в ModX Evolution 1.0.12 плагин уже стоит, так что, если это про вас, пропустите пару абзацев). Как обычно, делается это легко и просто: спрашиваете у Google «SEO Strict URLs», он вам показывает страничку плагина на оф. сайте ModX. На страничке большая рыжая кнопка «Download» - и вот у вас есть исходник плагина.

И снова, как обычно, устанавливаем плагин на сайт: «Элементы» → «Управление элементами», вкладка «Плагины», «Новый плагин». Название: SEO Strict URLs, в описании укажите версию и источник, откуда взят плагин. В поле «Код плагина» скопируйте то, что написано в исходнике. Почти готово, осталось немного.

Идем на вкладку «Системные события», отмечаем OnWebPageInit и OnWebPagePrerender. Идем на вкладку «Конфигурация», вставляем в поле «Конфигурация плагина» текст:

&editDocLinks=Edit document links;int;1 &makeFolders=Rewrite containers as folders;int;1 &emptyFolders=Check for empty container when rewriting;int;0 &override=Enable manual overrides;int;0 &overrideTV=Override TV name;string;seoOverride

Жмем на кнопку «Обновить параметры». Сохраняем результат.

Теперь откроем файл .htaccess, который лежит в корне вашего сайта. Запишем туда

 RewriteCond %{HTTP_HOST} .
 RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
 RewriteRule (.*) http://www.example.com/$1 [R=301,L]

Это значит, что как бы пользователь не набрал домен - с www или без, - его отправит на www.example.com (вместо example.com везде подставьте ваш домен)) с кодом 301. Все для склейки в поисковиках готово.

Если вы не хотите управлять формированием url на вашем сайте, можно больше ничего не делать. А я хочу. Хотя бы потому, что есть на сайте sitemap.xml.html, которая мне не нравится. Если вы со мной солидарны, читайте дальше.

Поменяйте конфигурацию плагина на вот такую:

&editDocLinks=Edit document links;int;1 &makeFolders=Rewrite containers as folders;int;0 &emptyFolders=Check for empty container when rewriting;int;0 &override=Enable manual overrides;int;1 &overrideTV=Override TV name;string;seoOverride

Создайте новый шаблон, например, blank. Текст шаблона прост:

[*content*]

Теперь идем на вкладку TV-параметров, создаем TV seoOverride. Тип этого параметра DropDown List Menu - самый удобный для выбора из нескольких вариантов. Возможные значения:

По умолчанию==-1||Псевдоним==0||Суффикс==1||Папка==2

По умолчанию -1.

Коротко объясню, что это значит. По умолчанию - это значит, что вы отказываетесь от управления и полностью полагаетесь на движок. Чаще всего так и будет. Псевдоним - это значит, что страница имеет имя, состоящее только из псевдонима, без префикса и суффикса. Суффикс - это псевдоним, префикс и суффикс вместе. Папка - адрес сформируется как для папки, со слешем (обратным?). Для этого параметра отмечаем все шаблоны на сайте, включая свежесозданный blank. Вот теперь действительно все.

Возвращаясь к sitemap.xml.html, укажем шаблон как blank, seoOverride установим как Псевдоним. Теперь у нас есть только sitemap.xml, и никаких других вариаций.