[Modx Evo] SEO настройки robots.txt
Изначально в modx существует такая вещь, как повтор страниц, например
- /index.php?id=6
- /alias.html
- /6
- /6.html
- /internet-magazin.html
это одна и та же страница
Необходимые действия для оптимизации сайта:
- Включаем ЧПУ в конфигурации
- В корень сайта заливаем файл robots.txt с таким внутренним содержанием:
User-agent: *
Disallow: /assets/cache/
Disallow: /assets/docs/
Disallow: /assets/export/
Disallow: /assets/import/
Disallow: /assets/modules/
Disallow: /assets/plugins/
Disallow: /assets/snippets/
Disallow: /install/
Disallow: /manager/
Disallow: /?
Disallow: /*?
Host: yoursite.ru
Sitemap: http://yoursite.ru/sitemap.xmlтаким путем мы исключаем из индексирования страницы первого типа.
- (вместо этого пункта советую сделать пункт 4) Для исключения страниц остальных типов необходимо отредактировать файл /manager/includes/document.parser.class.inc.php
Где то около 1077 строки найдите код
$this->documentIdentifier= $this->getDocumentIdentifier($this->documentMethod);
и затем введите
preg_match('/[0-9]*/', $this->documentIdentifier, $res);
asort($res);
if (intval($res[0])>0){
if (!preg_match('/\/[0-9]{1,}/', ($this->makeUrl($res[0], '', '', 'full')))){
header ('HTTP/1.1 301 Moved Permanently');
header("Location: ".($this->makeUrl($res[0], '', '', 'full')));
}
}
должен получиться такой вот файл
4. его надо делать вместо пункта 3.
Существует такой вот милый и удобный плагин SEO Strict URLs 1.0.1. http://modx.com/extras/package/seostricturls это его официальная страница.
Скачиваем код, создаем в админке новый плагин (Элементы – Управление элементами – Плагины), назовем его SEOStrict, в поле кода вставляем скаченный код.
Затем перейдите на вкладку КОНФИГУРАЦИЯ, там в окне Конфигурация плагина вставим :
&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;0 &overrideTV=Override TV name;string;seoOverride
Edit document links (редактировать ссылки документа) – При включенном параметре(1) все ссылки будут проверены и изменены на единственно верные. Например, ссылки на главную страницу вида http://site.com/index.htm будут заменены на строгое http://site.com/.
Rewrite containers as folders (перезаписывать контейнеры как папки) – Если не отключить, то в УРЛе всех документов имеющих дочерние ресурсы будет добавлен символ слеш «/» в конце.
Check for empty container when rewriting (проверить пустой контейнер при перезаписи)
Enable manual overrides (включить ручной отмен) – Чтобы подключать к конкретной странице ручные значения из TV параметра «seoOverride» потребуется выставить здесь единицу.
Override TV name (имя TV параметра для ручного отмена) – по умолчанию seoOverride.
Затем переходим на вкладку «Системные события». И проставляем галочки напротив строк OnWebPageInit и OnWebPagePrerender.
И последнее, создаем TV с именем seoOverride. Тип ввода: DropDown List Menu. Управление элементами – Параметры (TV) – Новый параметр (TV)
В поле возможные значения :
Disabled==-1||Base Name==0||Append Extension==1||Folder==2
Значение по умолчанию: -1 (минус один). Делаем его доступным для всех шаблонов и сохраняем.
Disabled – заблокировано ручное изменение URL для данной страницы.
Base Name – указывать в адресе страницы только псевдоним без суффикса. Например, псевдоним страницы у нас sitemap.xml. Если включено автоматическое добавление суффикса, то мы получим адрес этой страницы – http://sitemap.xml.html. Назначив же для этого документа значение Base Name, мы отключим суффикс и получим адрес страницы http://sitemap.xml.
Append Extension – добавить расширение. Разрешить MODx добавлять автоматически суффикс (.html или .htm). Противоположно предыдущему параметру.
Folder – выделять страницу как папку. Добавляет слеш в конце адреса веб-страницы. То есть было http://site.com/page, а станет http://site.com/page/