Блог для начинающих веб разработчиков. HTML, СSS, Jquery, Drupal и другое.

→ SEO Оптимизация сайта на Drupal 7. Всё что нужно.

Опубликовано: 15 мая 2012

Приветствую всех читателей и подписчиков heavenweb.ru. В этой статье я хочу рассказать немного об оптимизации сайта, управляемого системой Drupal. Мы поговорим о необходимых, на мой взгляд, модулях для этой CMS, разберём важные настройки, касающиеся SEO, и оптимизируем сайт для наибольшего удобства, как пользователей, так и поисковых систем.

Хотел бы отметить, что меня нельзя назвать SEO профи со стажем, однако все доводы в этой статье общеизвестны, кроме того оба моих сайта на Drupal (не включая этот блог), созданные и настроенные согласно советам ниже, успешно проиндексированы как Яндексом, так и Googl’ом, без каких-либо ошибок и дублей страниц в выдаче.

С точки зрения SEO, в Друпале всё выстроено довольно грамотно. В базовом пакете установки уже есть поддержка ЧПУ, тегов, и настроен файл robots.txt. Однако, всё равно для успешного продвижения такого сайта в ПС, необходима ещё большая гибкость настроек, а значит не обойтись без сторонних модулей. Как устанавливать сторонние модули в Drupal 7 я уже писал в этой статье. Итак, начнём мы с…

1. ЧПУ и дубли страниц.

В установочном пакете Drupal 7 уже есть модуль Path, дающий возможность создания синонимов – «человекопонятных url-ов», при создании страниц.

Для каждой ноды создаются адреса вида:

http://site.ru/node/num (где num – номер ноды – назначается автоматически)

http://site.ru/?q=node/num (если отключен модуль Path)

А так же при создании материала, веб-мастер сам может задать url, например: http://site.ru/stranica

Видно, что каждая страница доступна до 3 разным адресам. Это – потенциальные дубли в поисковой выдаче. Необходимо оставить только последний вид адреса – пользовательский.

Есть 2 варианта:

  • Закрыть ненужные адреса от поисковиков в robots.txt, но тогда возможна путаница, если внутренние ссылки будут указывать на страницы закрытые от поисковиков, их вес никуда не перетекает.
  • Создать 301 перенаправления (редиректы) с первых двух вариантов на третий. На мой взгляд, этот метод целесообразнее.

Global Redirect – этот модуль автоматически производит все нужные нам 301 перенаправления для всех страниц сайта.  Его настройки (скриншот ниже) по умолчанию оптимальны, обычно их менять не требуется.

Администратору сайта не обязательно вводить каждый url создаваемой страницы вручную.

Pathautoэтот модуль автоматически формирует адреса создаваемых страниц на основе информации о статье (обычно на основе её заголовка - title).

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

Transliterationесли ваш сайт на кириллице, то вам нужен и этот модуль. Он преобразует кириллические заголовки страниц в транслит, перед постановкой их в url.

Настройки модуля Pathauto расположены по адресу admin/config/search/path/patterns. Здесть можно задать шаблон пути по умолчанию для каждого типа материала. (смотрите выпадающий список «подстановочные шаблоны» - все возможные данные для подстановки).

Например, пусть у нас сайт-каталог, на нём есть несколько типов  материалов-товаров. Задаём шаблон пути:

[node:content-type:machine-name]/ [node:title]

Получаем для каждого товара url с учётом типа этого товара. Например такой: http://site.ru/phones/nokia-n8. Здесь «phones» – так называемое, машинное имя типа материала (вводится обычно при создании новых типов), а «nokia-n8» – заголовок материала. Так же зайдите на вкладку «Настройки» и отметьте «Транслитерировать перед созданием синонима», чтобы избавиться от кириллицы в URL.

С ЧПУ всё. Мы настроили только один адрес для каждой страницы сайта, и этот url формируется автоматически, всё так, как нам и нужно. Идём дальше.

2. Карта сайта

Карта сайта создаётся с помощью модуля XML-Sitemap. После установки этот этого пакета вам необходимо включить модули XML sitemap и XML sitemap node.

Затем нужно указать в настройках типов материала, что их следует включить в карту.

Выберите на странице admin/structure/types нужный тип материала (а лучше проделайте это для всех), и нажимте «изменить». Там выберите вкладку «XML sitemap» и отметьте «Включено» в раскрывающемся списке, как показано на скриншоте ниже.

 Карта сайта по умолчанию имеет адрес http://site.ru/sitemap.xml . После создания карты её желательно добавить в панели для веб-мастера Яндекса и Google. При добавлении новых статей на сайт, карта будет обновляться автоматически, никаких действий от админа не требуется.

3. Тег title. Заголовки страниц

Page Title -  этот модуль позволяет более гибко настроить заголовки страниц (содержание тега <title>). После его установки по адресу admin/config/search/page-title вы можете явно указать:  что вы хотите видеть в заголовке title в зависимости от типа страницы.

Здесь используются те же подстановки (их ещё называют токенами), что и при настройке ЧПУ, поэтому при использовании этого модуля, Token должен быть включен.

Например, указав в поле «по умолчанию» шаблоны:



[current-page:page-title] | [site:name]

Мы получаем заголовок вида:

Название статьи | Название сайта.

Можно установить шаблон заголовка главной страницы, а так же заголовки страниц для каждого типа материала по отдельности. Здесь всё просто.

4. Внутренняя перелинковка страниц.

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

На форуме webmasters.ru я публиковал один раз статью об установке редактора CKEditor в Drupal, она не вызвала интереса там, но с помощью этого редактора можно ускорить добавление внутренних ссылок, если установить дополнительный модуль:

CKEditor Linkв паре с редактором CKEditor позволяет удобно вставлять ссылки на уже имеющиеся страницы сайта.

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

Чтобы включить этот модуль, нужно зайти в настройки профиля редактора CKEditor (admin/config/content/ckeditor/edit/) и в выпадающем списке «Внешний вид редактора» установить флажок «Support for the CKEditor Link module».  Всё.

5. Мета теги

Есть несколько модулей для добавления метатегов, description и других в код страниц, я же расскажу о том, которым пользуюсь сам.

Metatags Quick – маленький и лёгкий модуль. Позволяет к типу материала добавить текстовое поле «meta». Содержание этого поля будет располагаться в заголовке html кода, в теге meta. Так как поисковая система google иногда использует значение этого поля, для формирования спинета, то этот модуль может оказаться полезным. Примечание: новое поле добавляется через «управление полями» для нужных типов материалов.

6. WWW редирект.

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

Для этого в Drupal 7, в файле  .htaccess уже есть необходимые куски кода, которые нужно раскомментировать.

Если вам нужен www, уберите комментарии (значки #) в файле .htaccess (строки 80-82) как показано в этом блоке кода: 



  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # uncomment the following:
  RewriteCond %{HTTP_HOST} !^www\. [NC]
  RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

А если же вам не нужен www то удалите комментарии из блока кода ниже (строки 86-88), как показано ниже:



  # To redirect all users to access the site WITHOUT the 'www.' prefix,
  # (http://www.example.com/... will be redirected to http://example.com/...)
  # uncomment the following:
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

7. Настройка темы

В статьях по WORDPRESS обычно оптимизируются так же теги H1…6. К сожалению, из админки в Drupal влиять на эти теги нельзя. Вы можете поменять их вручную в теме.

Все темы находятся в каталоге /sites/all/themes/ .

Весь html код в том числе теги, находится в *.tpl.php файлах. Однако в зависимости от темы, они могут очень существенно различаться, здесь посоветовать что-то общее и универсальное сложно.

В файле template.php темы находится вся логика работы темы оформления, однако там нет html кода как такового.

В этот файл я советую вставить код



function НазваниеТемы_html_head_alter(&$head_elements) {

  unset($head_elements['system_meta_generator']);

}

Где «НазваниеТемы» должно быть точно таким же как и название папки с этой темой.

Этот код убирает тег  <meta content="Drupal 7 (http://drupal.org)" name="Generator" />, который обычно не нужен. После изменений не забудьте почистить кэш.

Настраивая тему, не забудьте ещё одну маленькую, но важную вещь. Эта вещь – иконка, или значок сайта.

Перейдите в раздел «оформление» или зайдите по адресу admin/appearance, и кликните на ссылку «Настройки» у активной темы оформления.

Там есть блок «Настройка значка». Если убрать флажок с пункта «Использовать стандартный значок», то появятся настройки. Можно указать адрес файла favicon.ico, или загрузить его с компьютера.

8. Настройка служебных страниц.

В разделе «конфигурация», можно указать какие страницы будут показаны, в случаях 404 и 403 ошибок. Можно заранее создать и оформить такие страницы, и указать их адреса здесь, пример - на скриншоте ниже.

9. Оптимизация загрузки страниц.

И последнее, о чём можно сказать в этой статье это повышение производительности. По умолчанию, Drupal 7 подключает много файлов стилей (CSS) и скриптов (JS) к странице. Я насчитал на своём блоге 22 подключаемых файла.

На странице «производительность» раздела «конфигурация» (admin/config/development/performance), желательно позволить движку автоматически оптимизировать файлы стилей и JavaScript файлы, а так же можно задать параметры кэширования страниц и блоков, если сайт сильно нагружает сервер хостинга.

Спасибо за прочтение статьи. Подпишитесь на обновления, и приходите ещё!

Поделиться:
Комментарии

Здравствуйте! Расскажите пож-та, как настраивать "хлебные крошки"? С этим у меня, как начинающего, всегда страшные проблемы. А они, говорят, тоже важны для СЕО))

сб, 2012-05-26 19:25

Марина, приветствую. Хорошо, возьму на заметку написать статью на эту тему.

Faraday
сб, 2012-05-26 22:19

И еще вопрос: нельзя ли поподробнее написать про то, как настраивать производительность?

вт, 2012-08-07 21:21

То что я привёл это просто две настройки, они живут на странице admin/config/development/performance
Там в разделе "Оптимизация пропускной способности"
есть две настройки.
Первая собирает все стилевые файлы в один и удаляет все пробелы, переводы строк и т.д., немного снижая размер файлов.
Вторая настройка то же самое делает со всеми скриптами.
Наверное есть и более продвинутые модули, для оптимизации, однако я не сталкивался с этим, потому что, например этот блог и так работает достаточно быстро, как вам кажется?

Faraday
вс, 2012-08-12 18:54

Есть замечательный модуль оптимизации нагрузки на стороне сервера Memcache (http://drupal.org/project/memcache), значительно увеличивают скорость сайта.

vote
ср, 2012-09-26 17:12

Спасибо, Faraday. Твоя статья очень помогла мне. Как для первичной оптимизации. Подскажи пожалуйста статьи более детальной оптимизации.

ср, 2012-11-28 15:31

Спасибо за статью. Хотел бы добавить что при использование Metatags Quick поле хорошо бы назвать "Keywords"

StepanISK
чт, 2013-01-31 19:11

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

Faraday
пт, 2013-02-01 20:19

Спасибо большое за статью.
Очень помогла мне, как начинающему друпалеру.
Все внятно, последовательно.

сб, 2013-06-01 11:23

Спасибо! Давно искал все и в одном месте. А то этот друпал уже честно бесит - из коробки нет вообще нихрена, все нужно настраивать вручную

пн, 2013-06-24 16:57

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

Jaan Pajusalu
сб, 2013-07-06 12:29

Спасибо за статью узнал много нового! А есть подобие модуля "Page Title" но только для Мета тегов? Заранее СПС!

пт, 2014-01-17 04:49

Спасибо! Очень помогло разобраться!

чт, 2014-02-06 16:52

Скажите, когда я включаю чекбокс "Объединение и сжатие файлов CSS", то сайт "преображается" в плохом смысле этого слова. текст становиться меньше, ссылки меняют свой цвет и т.п. С чем это может быть связано?! работаю на денвере

Михаил
вт, 2014-09-30 06:42

Удивительный сайт у вас
есть здесь, но я был любопытно если бы вы
знали ни форумах пользователей , которые охватывают те же вопросы,
говорили о в этой статье ?

Я бы очень нравится, чтобы быть частью сообщество,
где я могу получить Отзывы от друга осведомлены люди, которые разделяют те же интересы.

Если у вас есть предложения, пожалуйста, дайте мне знать.

Спасибо !

чт, 2014-10-23 09:15

Настроил Global Redirect по вашим рекомендациям. Неканонические ссылки появляются. Что можно сделать еще?

вт, 2015-01-27 12:18
Комментировать