Продвижение modx. SEO оптимизация MODx - все технические моменты. Значение по умолчанию

Система управления контентом MODX – одна из самых удобных в плане поискового продвижения и вывода сайта в топ. У веб-ресурсов, созданных на этой CMS, не возникает проблем с ранжированием, поскольку MODX оптимально оптимизирована под поисковые алгоритмы.

Преимущества CMS MODX

На MODX можно создавать сайты любой сложности: от одностраничных лендингов и скромных визиток до крупных порталов со сложной внутренней архитектурой.

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

Недостатки CMS MODX

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

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

Однако этот недостаток в какой-то степени является и преимуществом движка, ведь чем популярнее CMS, тем больше в ней различных дыр и уязвимостей. MODX надежнее большинства бесплатных систем управления содержимым. Безопасность сайта и стабильность его работы играют не последнюю роль в ранжировании.

Весь процесс продвижения необходимо разделить на несколько этапов и тщательно проработать каждый из них.

Выбор хостинга для сайта на MODX

Почти все популярные хостинг-провайдеры работают с этой CMS без проблем, поэтому с выбором хорошего хостинга у вас не возникнет сложностей. От себя можем порекомендовать оптимальный по цене и качеству хостинг – Beget, который прекрасно взаимодействует с любыми системами управления контентом.

Рис.1. На хостинге Beget вы можете установить нужную CMS всего в несколько кликов без необходимости скачивать дистрибутив с файлами движка и настраивать все вручную.

Определившись с хостингом, переходим к планированию стратегии продвижения ресурса и улучшению его внутренней структуры. В Юла Group это происходит следующим образом:

  1. Проверяем валидность кода и исправляем ошибки во внутренней структуре, если сайт был заказан у сторонних разработчиков.
  2. Изучаем конкурентов и составляем детальное семантическое ядро, которое раскроет весь потенциал вашей ниши.
  3. Всю семантику разбиваем на смысловые группы (кластеры) и подготавливаем технические задания для копирайтеров.
  4. Создаем качественные SEO-оптимизированные тексты, полностью отвечающие на поисковые запросы пользователей.
  5. Добавляем статьи на сайт, оформляя их по всем канонам поисковой оптимизации.
  6. Связываем все материалы сайта с помощью релевантных внутренних ссылок. Настраиваем каждую страницу таким образом, чтобы та получала только целевой трафик и привлекала потенциальных клиентов/покупателей. Это позволяет существенно сократить затраты на покупку рекламы.

Почему лучше не экспериментировать самому и доверить продвижение сайта на CMS MODX профессионалам? На это есть несколько причин:

  • вы сэкономите драгоценное время, не вникая в технические аспекты продвижения (глубокое погружение в SEO может занять не один месяц);
  • вы быстрее получите клиентов и окупите затраты на продвижение в самый короткий срок;
  • вы сможете следить за процессом продвижения в режиме реального времени и получать промежуточные отчеты по первому запросу, а также корректировать затраты для получения максимальной конверсии;
  • мы используем только белые методы раскрутки с долгоиграющим эффектом. Даже по завершении сотрудничества с оптимизаторами, вы еще очень долго будете получать профит с опубликованных на сайте материалов;
  • страницы вашего сайта не будут выпадать из индекса поисковых систем из-за некорректной внутренней оптимизации или ошибок в коде, так как у нашей команды внушительный опыт работы с CMS MODX.

Конечно, вы можете самостоятельно погрузиться в изучение всех тонкостей MODX и попробовать продвинуть свой сайт без сторонней помощи. Но для этого вы должны располагать огромным запасом свободного времени (что для любого бизнеса – непозволительная роскошь). Тем не менее вы познакомим вас с самыми важными нюансами настройки и оптимизации CMS MODX.

Настройка файла.htaccess и домен с www и без

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

#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

В указанном примере необходимо также заменить example-domain-please-change.com на свой домен. Это подскажет поисковым системам, какой адрес сайта является основным.

Правильная настройка URL (ЧПУ)

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

Для настройки URL зайдите в административную панель в раздел «Система», перейдите в подраздел «Настройки системы», в фильтре выберите «Дружественные URL» и выставьте настройки так же, как показано на скриншоте ниже.

Рис. 2. Если у вас на сайте нет каталога и вообще мало страниц (лендинг, сайт-визитка и т.п.), то в последней строке выставьте значение «Нет», чтобы не использовать вложенные URL

Для корректной транслитерации кириллических символов необходимо дополнительно скачать сниппет translit или плагин Transliterate File Names . Найти их можно в официальном репозитории CMS MODX или на GitHub.

Оформление мета-тегов

Не последнюю роль в оптимизации страниц сайта играют мета-теги, улучшающие его SEO-структуру. Правильная настройка title, description и keywords поможет поисковым системам формировать корректные и лаконичные сниппеты в органической выдаче, что не только улучшит позиции сайта, но и отразится на CTR (кликабельности) в целом.

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

Настройка карты сайта sitemap.xml

Правильно настроенная карта сайта значительно ускоряет сканирование вашего ресурса поисковыми роботами. Большое количество страниц и их уровней вложенности могут стать причиной того, что поисковики не заметят какие-то материалы сайта и вы потеряете часть драгоценных посетителей. Именно поэтому очень важно корректно настроить sitemap.xml и упростить роботам процедуру сканирования.

Для этого перейдите в раздел «Система», затем в подраздел «Управление пакетами», нажмите на «Загрузить дополнения», вбейте в поисковую строку GoogleSiteMap, после чего скачайте и установите это дополнение на MODX.

После установки создайте новый документ и назовите его sitemap. В «Тип содержимого» укажите xml и отключите пункт «Использовать HTML-редактор». В поле «Содержимое ресурса» вставьте следующий код: . Не забудьте указать псевдоним (можно вписать туда sitemap). Теперь ваша карта настроена правильно и сайт будет быстрее сканироваться поисковыми роботами и лучше индексироваться.

Настройка robots.txt

На какой бы CMS не был создан сайт, в списке его файлов обязательно должен быть robots.txt. В нем можно запрещать или разрешать индексирование отдельных страниц, разделов, директорий. Чем меньше ненужных страниц попадет в поиск, тем более релевантный трафик вы получите на свой сайт. Правильный robots.txt для MODX выглядит примерно так:

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/

Sitemap: http://site.ru/sitemap.xml

Вместо site.ru укажите основной домен вашего сайта, а в панелях вебмастера Яндекса и Google пропишите точные пути до файлов robots.txt и sitemap.xml.

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

Вывод

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

Если вы хотите создать и продвинуть сайт на CMS MODX так, чтобы вам завидовали конкуренты, обратитесь за помощью к специалистам Юла Group. Богатый опыт продвижения сайтов на MODX помогает нам не просто быстро выводить страницы в топы поисковых систем, но и за счет грамотной внутренней оптимизации позволяет значительно сокращать бюджеты на наполнение и продвижение.

Насколько 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 .

Сегодня я бы хотел предоставить полную информацию по внутренней оптимизации сайта на движке 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, открываем его на редактирование и переходим на вкладку «Конфигурация» и указываем следующую информацию:

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

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

займемся закруткой гаек
Как правило все сайты в подвале имеют надписи вида «все права защищены», «копирайт бла-бла-бла», «копирование запрещено», и т.п. ерунда которая вообще никакой пользы нам не дает. Что мы делаем? Мы пишем
Копирование информации со страницы "[*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. Есть еще модуль автоматической перелинковки страниц по ключевым словам, но мне он не нравится и я предпочитаю руками между собой странички перелинковывать.

О чём?

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

Зачем?

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

Как?

Для того, чтобы увидеть разницу между состояниями сайта до и после, советую воспользоваться сервисом PageSpeed Insights от Google. Данный сервис оценивает сайт по скорости загрузки и удобству для посетителей по шкале от 0 до 100. Естественно, не стоит полагаться только на показатели этого сервиса, но по большей части советы он даёт вполне адекватные.

Как известно, скорость загрузки сайта является одним из множества факторов ранжирования. Поэтому, даже если вам и вашим посетителям не важна скорость работы сайта, не стоит игнорировать мнение поисковых систем.

Кэширование

Кэширование - одна из сильнейших частей в MODX. Несмотря на то, что многие не умеют правильно проектировать сайты (не только на MODX), получая медленные сайты, создать сайт, способный выдержать высокую нагрузку, не так сложно. Но нужно надеяться не только на железо и программное обеспечение, но и на себя. За счёт использования кэширования можно значительно сократить количество запросов к базе данных, если они используются для получения данных, которые меняются относительно редко.

Итак, для того, чтобы повысить скорость генерации страниц, нужно отключить кэширование только там, где оно действительно мешает: скрипты, обрабатывающие данные и т. д. Как известно, чтобы отключить кэширование, достаточно поставить восклицательный знак перед именем сниппета, чанка или плейсхолдера (сниппеты, вызываемые программно, то есть $modx->runSnippet("snippetName", ), не поддаются кэшированию). Отключать кэширование также стоит во время разработки и отладки проекта, чтобы кэширование не тормозило процесс разработки.

Пример вызова без кэширования:

[[!If? &subject=`[[*id]]` &operand=`1` &operator=`==` &then=`Hello, world`]]

Пример вызова с кэшированием:

[]` &operand=`1` &operator=`==` &then=`Hello, world`]]

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

Для того, чтобы узнать, сколько запросов и времени требуется для генерации страницы, достаточно в любом месте шаблона или чанка разместить следующее: 95 0.4602 s. В первом теге будет содержаться количество запросов к базе данных, во втором - время создания страницы.

Обновление PHP

Обычно в новостях про новые выпуски PHP пишут о повышении его производительности, что не может не радовать. Поэтому для своих проектов я использую самую актуальную версию. К сожалению, не все придерживаются этого и часто можно встретить сайт, работающий на PHP 5.3 (я даже видел сервер с 5.2, в 2015-то году). К счастью, большинство хостеров предоставляют пользователям выбор версии PHP. Поэтому я, ничтоже сумняшеся, сменил на одном сайте версию PHP с 5.3 на 5.6, увеличив скорость создания страницы в 2 раза (с 0,06 с. до 0,03). Как видно, обновление версии PHP - это не просто смена циферок, но и повышение скорости и безопасности сайта.

Минификация CSS и JS

Отступы и переводы строк улучшают, конечно же, читабельность кода, но только для человека. Браузеру же можно отдавать минифицированные версии этих ресурсов: без лишних пробелов и переводов строк. Сначала я сжимал CSS и JS с помощью онлайн-сервисов, но это не совсем удобно, так как при очередном обновлении оригиналов этих файлов мне приходилось заново минифицировать эти файлы и заливать на сайт. Тогда я нашёл сниппет SmartOptimizer, который минифицирует CSS и JS на лету. Помимо SmartOptimizer есть MinifyX, который тоже предназначен для минификации и склейки статичных ресурсов. Такие популярные фреймворки как jQuery, Bootstrap и др. выпускаются в минифицированном виде, рекомендуется использовать именно эти версии. Например, вместо bootstrap.css лучше подключить bootstrap.min.css.

Проверенный сервис для минификации CSS:

На самом деле, есть более действенный способ: минификация во время разработки. То есть есть исходники - файлы в удобочитаемом виде, а есть сборка - уже минифицированные файлы, которые стоит подключать на сайте. При разработке сайта я использую: SASS, gulp - для CSS, webpack - для JavaScript.

Bootstrap

Если на сайте используется Bootstrap, можно сделать свою сборку, содержащую только необходимое. Например, самая используемая часть этого фреймворка - сетка, и зачастую достаточно оставить только её. Создать свою сборку можно на официальном сайте: .

jQuery

Не используйте jQuery. Современный JavaScript позволяет писать довольно лаконичный код, а с помощью транспайлеров будет работать даже в старых версиях Internet Explorer.

Единственная возможная проблема - какие-то jQuery-плагины, но для большинства из них есть варианты, не зависящие от jQuery.

Минификация HTML

Если открыть код страницы, отдаваемой браузеру, можно увидеть то, что в коде много лишних пробелов (при условии, что не проигнорировано форматирование кода при разработке). Опять же, браузеру глубоко всё равно на форматирование, ведь внутри элементов пробелы схлопываются в один, а между тегов они вообще игнорируются. Естественно, удалять все эти пробелы и переносы строк внутри чанков очень глупо. Поэтому для этого я добавил плагин, срабатывающий при событии OnWebPagePrerender .

$output = &$modx->resource->_output; $output = preg_replace("|\s+|", " ", $output); $modx->resource->set("content", $output);

favicon

Браузер, впервые загружая сайт, также ищет favicon. Даже если ссылка на favicon не указана в мета-тегах, браузер попытается загрузить её по адресу site.ru/favicon.ico. Эта простая операция хоть и занимает один запрос, и при загрузке следующей страницы браузер возьмёт favicon из собственного кэша, но её тоже можно исключить. Делается это очень просто - нужно закодировать favicon в base64 и вставить напрямую в страницу. Закодировать favicon в base64 можно, например, на сайте http://xaviesteve.com/pro/base64.php . Затем полученный код вставить в заголовок страницы.

Например, если раньше favicon указывался так:

То этот тег можно заменить следующим:

Дичь? Дичь.

Изображения

Каким бы банальным ни был этот совет, многие полностью игнорируют этот момент. А ведь всего лишь нужно уменьшать размеры изображений физически, используя графические редакторы и расширения (phpThumbOf, к примеру), а не визуально, устанавливая размеры в атрибутах height и width (что не соответствует стандартам, кстати) или с помощью CSS. Кстати, если вы используете phpThumbOf, то оптимизировать сайт можно, деактивировав плагин phpThumbOfCacheManager, который удаляет кэш изображений при очистке кэша сайта.

Оптимизации сквозных изображений (тех, что присутствуют на большинстве страниц) нужно уделить особое внимание. Логотипы, спрайты и фоновые изображения можно оптимизировать без изменения качества с помощью онлайн-сервисов, например, .

На рисунке ниже показано, что люди очень спешили попить пивка в подъезде, поэтому забыли сделать так, чтобы вместо оригинала, имеющего вес почти 1 МиБ, загружалась скромная миниатюра, экономящая время посетителя. На данный момент сервис PageSpeed Insights оценивает этот сайт на 0/100. Это вам не Танцы на льду с щедрыми 5.9 из 6.0.

pThumb

Стоит упомянуть про отличную альтернативу phpThumbOf - pThumb. Как уверяют разработчики, pThumb работает быстрее (лично я не проводил бенчмарки, поверю на слово). Для установки pThumb достаточно удалить phpThumbOf и установить pThumb. Не стоит бояться за то, что после этой замены что-то сломается на сайте, так как оба сниппета используют одинаковые пространства имён.

Мобильная версия сайта

Есть два способа оптимизировать сайт для мобильных посетителей:

  • Адаптивная вёрстка
  • Мобильная версия сайта

Адаптивная вёрстка

Это менее затратный для разработчика. Особенно, если используется, например, Bootstrap, упрощающий создание адаптивной вёрстки. Недостаток его лишь в том, что пользователь мобильного устройства получает фактически то же самое, что и пользователь настольного компьютера: те же скрипты, те же стили, те же изображения. Это увеличивает время загрузки и отрисовки страницы, что может вытерпеть не каждый посетитель. Может пострадать также и производительность, что негативно сказывается на уровне заряда аккумулятора и отклике интерфейса сайта.

Мобильная версия сайта

Создание мобильной версии сайта зависит от используемой системы, на которой создан сайт (MODX, CodeIgniter, Phalcon и пр.). Особенность этого способа в том, что пользователям настольных компьютеров и пользователям мобильных устройств отдаются разные версии сайта (разная вёрстка, CSS и JavaScript-скрипты). Я уже писал статью о ( и для .

Мобильное приложение

Если у сайта есть постоянные посетители, то есть смысл сделать мобильное приложение. В таком случае объём трафика между сайтом и мобильным устройством уменьшится, так как будет передаваться только сам контент, а код для отображения интерфейса уже будет содержаться в приложении. Затраты на разработку приложения и его сопровождение - это уже другая история.

Вывод

С помощью этих простых телодвижений можно существенно оптимизировать сайты, ускорив их по некоторым показателям в несколько раз.