Seo продвижение modx. SEO оптимизация MODx - все технические моменты. Уникальный и индивидуальный подход к каждому проекту

21.06.2020 Программы

В сегодняшней статье мы рассмотрим небольшие настройки, которые помогут вам оптимально выводить все необходимые мета теги.

В MODx существует огромное количество дополнительных тегов, с ними можно ознакомиться, изучив документацию к этой CMS, я вам этим голову забивать не буду, а расскажу только о тех, которые нам нужны на данный момент.

Если посмотреть на сайт, то параметр title и description для всех страниц у нас одинаковые, поскольку фиксировано, заданы в чанке «HEAD». Кто хоть немного знаком с seo оптимизацией знают, что за такое можно легко получить бан от поисковых систем. Будем это исправлять.

Мы с вами уже рассматривали то, как добавлять страницы в MODx – . Мимо того мы говорили о теге [*content*] . Но все эти поля имеют свои такие же теги. Именно их мы и будем использовать. Наше внимание стоит сконцентрировать на трех основных:

[*pagetitle*] – в данное поле мы вводили название статьи. Предлагаю выделить его под seo title, то есть именно текст, введенный в нем, будет отображаться между тегами .

[*longtitle*] – данный тег у нас будет отвечать за вывод заголовка H1 на странице. Сюда мы будем вписывать заголовок «для людей».

Давайте сразу подправим это и в шаблоне. Для этого идем в раздел с чанками и выбираем «MAINCONTENT». В нем, перед тегом [*content*], вставляем следующее:

[*longtitle*]

Это позволит получать автоматический заголовок H1.

[*description*] – этот тег будет отвечать за вывод описания страницы. Один из наиболее важных параметров при оптимизации, поскольку из него часто формируется и сниппет в поисковой выдаче.

Правим чанк «HEAD»

Заходим в этот чанк и изменяем следующее.

Retina - Free CSS template by ChocoTemplates.com

[*pagetitle*]

Поскольку по умолчанию в шаблоне у нас нету поля description, то мы под тего title добавляем код:

Вот что у меня получилось.

Сегодня я бы хотел предоставить полную информацию по внутренней оптимизации сайта на движке MODx. На многих движках работа по внутренней оптимизации настолько усложнена, что приходится действительно потратить много времени и средств, чтобы добиться нужного результата. Причем это актуально даже для коммерческих CMS. Что касается движка MODx, то здесь все значительно просто и разобраться с этим сможет программист даже с небольшим опытом.

Этапы внутренней оптимизации сайта

Валидность кода

Перед тем как приступить к внутрененй оптимизации сайта на MODx и не только - зарегистрируйтесь в панели вебмастерс поисковых систем Яндекс и Гугл, а также установите коды счетчиков Яндекс.Метрика и Гугл.Аналитикс. Это поможет проверить структуру сайта, установить факт правильной индексации сайта, проверить файлы robots.txt, .htaccess, sitemap.xml. Помимо всего вы сможете отслеживать поведение пользователя на сайте, что весьма важно.

Первое на что стоит обратить внимание, это валидность кода. Если поисковая система Яндекс не обращает внимания на ошибки в коде, то Гугл может значительно повлиять на выдачу сайта при наличии ошибок.

Проверить сайт на наличие ошибок в коде можно на сайте http://validator.w3.org совершенно бесплатно. Если ошибки найдены, то вам нужно зайти в чанк, в котором находится кусок кода с ошибкой и исправить ее. Ничего сложного нет.

Конечно, будут ошибки, которые вы не сможете исправить, к примеру, у меня на сайте код яндекс метрики совершенно невалиден. Но большую часть все же рекомендуется поправить.

Настройка индексации

Для лучшей индексации сайта необходимо создать xml карту сайта . Я уже описывал о том, как это делается.

Также необходимо проверить robots.txt, чтобы нужные разделы не были закрыты от индексации. Правильный robots.txt

я уже выкладывал ранее. Поэтому углубляться не будем, стоит отметить, что если у вас есть разделы, которые также необходимо скрыть от индексации, то сделайте это в robots.

Избавляемся от дублей

Для начала необходимо определиться с главным зеркалом сайта (с www или без). Если вы определились с этим, то необходимо указать это в файле htaccess .

Помимо всего необходимо проверить, что несуществующие страницы возвращали ошибку 404, нет необходимости перекидывать пользователя на страницу заглушку и отдавать ответ 200. ЭТО НЕВЕРНО! Вы можете сверстать красивую страницу 404 и с помощью навигации направить пользователя, куда вам нужно.

Чтобы избавиться от дублей, возникающих при паджинации можно воспользоваться готовым решением, которое я предлагал ранее - rel=canonical , или же любым другим способом. Кто-то прописывает инструкцию в файле robots.txt, я думаю мой способ более оптимальный в плане трудозатрат, но решать только вам.

Дополнительно нужно отработать варианты появления дублей при использование дополнительных сниппетов, к примеру сниппет Jot, который используется для комментирвоания статей, также дублирует страницы. Поэтому, если вы его используете у себя на сайте, то прописываем в файл robots.txt следующие инструкции:

Disallow: /*/*/*?*=*

Необходимо переделать конструкцию под структуру вашего сайта.

Оптимизируем контент

Структура контента

Страница должна иметь четкую структуру, которой стоит придерживаться. Для этого проверьте порядок заголовков. Он должен быть следующим h1-h2-h3-h4-h5-h6. Придерживайтесь этого правила при добавлении следующих статей. Более подробно о оптимизации контента я расскажу чуть позже, поскольку в рамках данной статьи я хотел лишь обратить ваше внимание на техническую сторону внутренней оптимизации сайта modx.

Meta-данные

Чтобы понять для чего они нужны рассмотрим сниппет поисковой выдачи:

Кликабельность сниппета зависит от его внешнего вида.

Обязательно стоит заполнять мета-данные страницы, если хотите, чтобы в выдаче появился сниппет с нужной вам информацией. С этим в modx нам помогут специальные теги ресурсов и tv-параметры, данные из которых будут подставляться в чанк с мета-данными.

Если в вашем чанке с метаданными нет подобной конструкции, то рекомендую ее сразу добавить:

< title> [ *longtitle*]< /title>
< meta name="description" content="[ *description*]" />
< meta name="keywords" content="[ *keywords*]" />

[ *pagetitle*] - будет использоваться в качестве заголовка h1;
[ *longtitle*] - подставляется в title страницы;
[ *description*] - подставляется в описание страницы;
[ *keywords*] - это tv-параметр, можно не прописывать, но многие используют его для вывода похожих статей или новостей.

Человеко-подобные урл очень просто настраиваются в modx. Для этого переходим в раздел «Конфигурация» вкладка «Дружественные URL» и выставляем все как на изображении:

Предварительно необходимо переименовать файл в корневой папке сайт ht.access в.htaccess и прописать необходимые инструкции, о которых я писал ранее.

Далее переходим в раздел плагинов, находим плагин TransAlias, открываем его на редактирование и переходим на вкладку «Конфигурация» и указываем следующую информацию:

Это необходимо для того, чтобы наш движок генерировал чпу самостоятельно. Сохраняем настройки и все у нас заработало.

Насколько MODX Revolution подходит для создания сайта, который будет продвигаться в поисковых системах?

Если кратко - то на пятерку. Возможно что с небольшим минусом, но только с небольшим. В целом же MODX Revolution, при должной настройке, у любого SEO-оптимизатора вызовет одобрение, так как трудностей с ним будет очень мало.

Рассмотрим основные моменты настройки сайта на MODX Revolution для его успешного дальнейшего продвижения.

1. Использовать www перед адресом сайта или нет?

MODX Revolution все равно, будет ли у вас имя сайта начинатся с www или нет. Вы сами выбираете это. Разработчики MODX предусмотрели возможность указать вариант использования доменного имени.

Для этого вам необходимо открыть файл.htaccess в корне сайта и найти в его начале 2 закомментированных блока:

# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin #RewriteCond %{HTTP_HOST} . #RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com #RewriteRule (.*) http://example-domain-please-change.com/$1 # # or for the opposite domain.com -> www.domain.com use the following # DO NOT USE BOTH # #RewriteCond %{HTTP_HOST} . #RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change \.com #RewriteRule (.*) http://www.example-domain-please-change .com /$1

Раскомментируйте один из них и замените адрес домена на свой. Теперь при неверном наборе адреса будет происходить 301 редирект на правильный вариант. Это самое лучшее решение для этой ситуации.

2. Настройка ЧПУ (человеко-понятные урл)

MODX Revolution полностью поддерживает ЧПУ, обеспечивая страницам красивые адреса. Правда по-умолчанию этот функционал отключен.

Для его включения необходимо в системе управления перейти в раздел "Система"->"Настройка системы" и в фильтре выбрать "Дружественные URL".

Откроется ряд настроек, связанных с работой механизма Friendly URL`s.

Необходимо установить следующие значения для основных из них:

  • automatic_alias - Да
  • friendly_urls - Да
  • use_alias_path - Если Да - то адреса будут вложенными, если Нет, то вложенности не будет
  • global_duplicate_uri_check - проверяет адреса страниц на уникальность, орбязательно Да, если в прошлом пункте вы выбрали Нет

3. Установка пакета Translit

Дополнение translit (его можно установить через раздел "Управление пакетами") позволит автоматически генерировать значение поля "Псевдоним" латинскими буквами при редактировании документа. Хотя мы только что включили настройку automatic_alias, и MODX начал заполнять это поле, но заполняет он его в том числе и русскими буквами.

После установки пакета translit необходимо снова вернутся в раздел "Настройки системы", найти параметр friendly_alias_translit и присвоить ему значение russian :

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

4. Meta теги title (Заголовок), keywords (Ключевые слова), description (Описание)

MODX Revolution предлагает вам слеудующих набор полей, которые могуть использоваться для управления Meta тегами:

  • pagetitle - основной заголовок;
  • longtitle - расширенный заголовок;
  • menutitle - заголовок для отображения в меню;
  • description - описание страницы,

Вот тут, на наш взгляд, и есть небольшой минус MODX Revolution, так как нет однозначного соответствия имеющихся полей и требуемых нам.

Бывает достаточно трудно задать title страницы, для него не предусмотрено отдельное поле, приходится как-то комбинировать из pagetitle и longtitle, а поле для keywords вообще не предусмотрено.

Исправляем. Необходимо создать 3 новых TV поля: seoTitle, seoKeywords, seoDescription, задать им категорию Seo, у первых двух тип ввода Тест, у последнего Текстовая область. Эти TV поля дослжны быть доступны для всех шаблонов сайта.

Отлично, теперь мы можем совершенно независимо задать title, keywords, description для любой страницы сайта.

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

seoTitle - формирует значение тега title.

Пример вызова:

[] Исходный код: $pagetitle = $modx->resource->get("pagetitle"); $longtitle = $modx->resource->get("longtitle"); $seotitle = $modx->resource->getTVValue("seoTitle"); $sitename = $modx->config["site_name"]; $v = ""; if($seotitle != ""){ $v = $seotitle; } else{ if($longtitle == ""){ $v = $pagetitle; } else{ $v = $longtitle; } } # иной алгоритм для главной страницы if($modx->config["site_start"] == $modx->resource->get("id")){ return $v; } return $v." - ".$sitename;

pageTitle - формирует заголовок для страницы, тег h1.

Пример использования:

[]

Исходный код:

$longtitle = $modx->resource->get("longtitle"); if($longtitle != ""){ return $longtitle; } return $modx->resource->get("pagetitle");

Таким образом при минимальном заполнении страницы достаточно заполнить pagetitle, но в тоже время вы можете указать значения полей longtitle, seoTitle и других.

5. Настройка страницы с 404 ошибкой

Все что вам нужно, что бы MODX отображал корректную страницу с ошибкой 404, это создать ее, обязательно опубликовать (но скрыть в меню), и изменить значение настройки error_page на id вашей страницы:

Надо заметить, что MODX корректно возвращает 404 код ошибки при попытке просмотра несуществующей страницы.

6. Sitemap.xml

Наличие файла sitemap.xml для современного сайта весьма важно. Для MODX Revolution есть отличное дополение, которое позволит сформировать вам этот файл с минимальными затратами.

  • Скачиваем и устанавливаем пакет GoogleSiteMap
  • Создаем в корне сайта новый документ, называем его sitemap.xml, в поле псевдоним пишем sitemap (без xml!), шаблон пустой. Переходим на вкладку "Настройки" и в поле Тип содержимого ставим XML. Также необходимо снять галочки "Доступен для поиска" и "Использовать HTML редактор".
  • В поле "Содержимое ресурса" помещаем вызов сниппета GoogleSiteMap.
  • Публикуем ресурс.

Наш файл должен открываться по адресу http://ваш-сайт/sitemap.xml и быть похожим на

На официальной странице документации GoogleSiteMap доступно описание всех параметров сниппета: http://rtfm.modx.com/display/ADDON/GoogleSiteMap

7. Robots.txt

Содержимое этого файла для MODX Revolution зависит от конкретного сайта, самое минимальное может быть таким:

User-agent: * Disallow: /manager/ Host: ваш-сайт.ru

8. Суффиксы адресов страниц

Вы можете указать произвольные суффиксы для страниц различных типов у сайтов, созданных на MODX Revolution.

Например:

  • /page1.html, /page1/page2.html
  • /page1/, /page1/page2/

Для этого необходимо открыть раздел "Система"->"Типы содержимого" и задать необходимые настройки. Пример настроек для 2-го варианта:

Обратите внимание, что суффикс для страницы-контейнера задается в Настройках, за него отвечает параметр container_suffix .

Я рассказал хоть и очевидные вещи, но почему-то большинстве случаев и этого не делается даже не смотря на то, что это важно для продвижения. Теперь продолжим рассматривать очевидные вещи.

займемся закруткой гаек
Как правило все сайты в подвале имеют надписи вида «все права защищены», «копирайт бла-бла-бла», «копирование запрещено», и т.п. ерунда которая вообще никакой пользы нам не дает. Что мы делаем? Мы пишем
Копирование информации со страницы "[*pagetitle*]" запрещено 2012

pagetitle vs menutitle
Но ведь pagetitle у нас может называться новости , что никак не поможет нам в продвижении, а назвав «новости туризма» мы порушим меню составляемое с помощью Wayfinder. Что делать?
Для этих целей существует поле: «пункт меню». Пишем в него «новости», а в заголовок пишем «новости туризма». Как говорится и волки сыты, и овцы целы.

Сайт с WWW или без?
Склеивать адреса с www и без www нужно обязательно.
а) для избежания дублей
б) для склеивания веса страниц
От куда куда ставить редирект дело ваше. Мне больше нравятся сайты без www. Клеится это все 301 редиректом в.htaccess. Долго останавливаться не будем. можно почтить и .

XML карта сайта
Для XML выводим все страницы нашего сайта. Можно сделать это с помощью сниппета этого или ditto . Я же использую этот сниппет .
Для всех этих решений необходимо выставить шаблон blank , тип содержимого text/xml и снять галочку «Использовать HTML-редактор» . У меня привычка давать этой странице псевдоним sitemap.xml

HTML карта сайта
В HTML карте сайта стоит выводить все страницы только тогда, когда вы хотите добавить сайт в сапу (чтобы сделать все страницы 3 уровня вложенности). Но мы же делаем сайт для людей, поэтому в карте не стоит выводить все страницы. К этому выводу я пришел давно долго эксперементируя . Для карты сайта этого вида как правило испльзуется wayfinder с вызовом [] . Как правило этого достаточно, но бывают разные сайты и разное дерево документов, поэтому иногда приходится писать свои сниппеты для html карты сайта под конкретный проект.

RSS фид
Очень часто забывают про этот важный элемент. Он помогает немного ускорить индексацию новых страниц. Для создания RSS фида используем Ditto . Обязательно устанавливаем тип содержимого application/rss+xml и шаблон blank и снимаем галочку «Использовать HTML-редактор» .

404 ошибка (страница не найдена)
Вы можете создать свою оригинальную страницу , а можете сделать страницу ссылку на html карту сайта. Главное потом не забудьте зайти в инструменты->конфигурация и на вкладке «сайт» указать ID вашей странички в поле страница ошибки "404" . Помимо этого рекомендую поставить модуль Error 404 Logger , дабы своевременно поправить пути к несуществующим страницам.

Включаем ЧПУ
Для того, чтобы потом легко можно было отследить в той же самой метрике какой раздел пользуется наибольшей популярность я советую использовать вложенные ЧПУ. Для этого заходим в инструменты->конфигурация и настраиваем
использовать дружественные URL : да
Использовать вложенные URL : да
Остальные параметры на ваше усмотрение. Единственное, на что хотелось бы обратить ваше внимание, так это на префикс и суффикс. Обязательно делаем эти поля пустыми, во избежение дублей . Либо же можете поставить SEO Strict URLs .

шлифанем robots.txt
Не стесняйтесь составлять развернутые инструкции в robots.txt и для яндекса в отдельности (он это любит). Во время составления пригодится сервис яндекса . ну и ниже общие рекомендации:
1) Удаляем первые страницы пагинации ditto, а именно те, которые имеют параметр start=0. Т.е. ditto может вызываться с параметром id, то и start может иметь приставку. На этот случай пишем Disallow: /*?*start=0$
2) Добавляем в disallow все, что относится к служебным страницам и не должно участвовать в выдаче: страница обратной связи, страница с партнерами как правило содержит кучу ссылок и поэтмоу тоже в disallow, и т.п.
3) Если установлен phpthumb или что-то на подобе, что складывает картинки в папку /assets/cache/, то прописываем Allow: /assets/cache/phpthumbof/
4) Прописываем путь к нашей XML карте сайта Sitemap: example.com/sitemap.xml
5) Прописываем основной хост сайта (куда выредиректите с www или без www) Host: example.com
6) Все эти правила мы писали в блоке User-agent: * теперь копируем их и чуть ниже вставляем под блоком User-agent: Yandex
7) Закрываем доступ к ненужным роботам
8) Проверяем через сервис яндекса верно ли мы составили правила в файле
Рабочий пример файла

P.S. Есть еще модуль автоматической перелинковки страниц по ключевым словам, но мне он не нравится и я предпочитаю руками между собой странички перелинковывать.

Здравствуйте! Уже не секрет, что самая seo ориентрованнная cms - это Modx (и Revolution и Evolution) и одним из главных критериев выбора cms для своего сайта я считаю как раз возможность рамотной и качественной оптимизации сайта посредством cms. Но не все знаю как именно пользоваться всеми ресурсами MODX Revo для оптимизации сайта. Я сам иногда забываю что-то сделать и решил и для себя и для Вас создать пошаговый список оптимизации и продвижения сайта на modx revolution.

Самое первое (но я не буду включать это в список), что Вам нужно понять: сайт создается для того, что вашу информацию, вашу услугу или ваш товар смогли найти в поисковиках, поэтому создать сайт - это пол дела. Намного важнее его продвинуть в топы поисковиков по нужным Вам запросам. Итак, начинаем список:

1. Работа с файлом.htaccess. Домен с www или без него.

Вам нужно решить вы будете использовать www перед домен вашего сайта или нет. В этом файле есть строки

# Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin #RewriteCond %{HTTP_HOST} . #RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com #RewriteRule (.*) http://example-domain-please-change.com/$1 # # or for the opposite domain.com -> www.domain.com use the following # DO NOT USE BOTH # #RewriteCond %{HTTP_HOST} . #RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com #RewriteRule (.*) http://www.example-domain-please-change.com /$1

Нужно разкомментировать строки с www или без него и поставить вместо example-domain-please-change название своего домена. Скажем на сайт разкомментированы строки

RewriteCond %{HTTP_HOST} . RewriteCond %{HTTP_HOST} !^bayguzin\.ru RewriteRule (.*) http://сайт/$1

2. Настройка Человекопонятных url (ЧПУ)

Очень важный пункт. Следует знать, что поисковики обращают внимание на url и отдают предпочтение сайту с url, которое больше отображает суть того, о чем написано на странице. Идем в настройки системы

Выбираем в фильтре "Дружественные url"

Здесь будут несколько параметров, которые обязазательны. Скажем, пункт "Автоматически генерировать псевдонимы" я считаю обязательно "Да". Ну я привожу скриншот с одного из моих сайтов и в основном эти настройки я применяю для всех своих сайтов. Только варьирую делать вложенность или нет. Если это сайт каталог, то в пункте "Использовать вложенные url" я ставлю "Да", так как мне нужно всегда показывать путь к категории, а далее к товару. Если это сайт визитка, то никчему делать длинные заголовки, используя вложенные url.

Внимание ! Пункт транслитерация псевдонима работает только при помощи сниппета translit , его вы можете скачать и установить в репозитории.

3. Уникальные meta-теги: заголовки, ключевые слова, описание

Очень важно показать поисковикам уникальные, соответствующие тематике страницы, title , keywords и description , чтобы он (поисковик) правильно сформировал сниппет. Это отразится как на позиции сайта по тому или иному ключевому запросу, так и на CTR кликов с поисковика.

Есть мнение, что ключевые слова уже никак не влияют на выдачу, но у меня есть пример поднятия в топ на несколько позиции после того, как я вставил keywords

Я не использую по назначению пункт "Аннотация (введение) ", а пишу в этой графе ключевые слова, иногда использая их как теги. Вам надо будет вставить в шапке сайта выводы этих метатегов:

[[*pagetitle]]

4. Карта сайта для поисковиков. Sitemap.xml

Идем в раздел Система - Управление пакетами

Нажимаем "Загрузить дополнения "

Вбиваем в поиск GoogleSiteMap , скачиваем, устанавливаем его

Создаем документ с именем sitemap

В Настройках выставляем в Тип содержимого: xml , убираем галочку в "Использовать HTML-редактор"

В Содержимое ресурса вставляем:

[]

Псевдоним называем sitemap

Карта сайта готова.

5. Файл robots.txt

Выглядеть этот файл должен примерно так (ну почти на всех моих сайтах он выглядит так)

User-agent: * Disallow: /manager/ Disallow: /assets/components/ Disallow: /core/ Disallow: /mgr/ Disallow: /connectors/ Disallow: /index.php Disallow: *? Host: сайт.ru Sitemap: http://сайт.ru/sitemap.xml

Файл robots.txt исключает из поиска ненужные для выдачи страницы и папки

P.S. Не забудьте потом в вебмастерах Яндекса и Гугла прописать пути до sitemap.xml и robots.txt

6. Страница 404 ошибки

Для начала в дереве документов нужно создать страницу 404 ошибки с соответствующим дизайном и текстом, а потом зайти в Система - Настройки системы и выбрать фильтр "Сайт "

Выставляем в параметре "Страница ошибки 404 «Документ не найден» (error_page) " - id страницы в дереве документов, соответствующей 404 странице. Некоторые 404 страницу ошибки делаю главной страницей или картой сайта, но лучше такого не делать!

7. Уникальный контент

Пункт, который относится к продвижению не только сайта на MODX Revolution . Раскрутка сайта в гугле и яндекс просто невозможна без уникального, живого, человеческого, естественного текста. Обязательный пункт для любого типа сайта на любую тематику. Только с уникальным контентом на сайте вы можете расчитывать на SEO продвижение . При чем уникальность не только текстов, но и изображений (хотя они не так сильно влияют). Проверить уникальность текста вы можете сейчас где угодно. Существуют сотни бесплатных и платных программ и онлайн сервисов.

Вот собственно 7 основных пунктов , без которых seo раскрутка сайта на системе управления MODX Revolution в интернете не возможна. Будут вопросы: задавайте в комментариях - постараюсь ответить! Всем спасибо за внимание.