Работаю по всей России

vasilisa1210@mail.ru

Главная » Уроки » Уроки по Modx Evo » [Modx Evo] SEO настройки robots.txt

[Modx Evo] SEO настройки robots.txt

Изначально в modx существует такая вещь, как повтор страниц, например

 

это одна и та же страница

 

Необходимые действия для оптимизации сайта:

  1. Включаем ЧПУ в конфигурации
  2. В корень сайта заливаем файл 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

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

  3. (вместо этого пункта советую сделать пункт 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.1http://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/