В какой-то момент времени я задумался над оптимизацией поисковой выдачи для сайта. Яндекс вебмастер настойчиво напоминал о том, что у меня на сайте нет метатегов Description. Вот хлебом не корми — дай Description.
Решить проблему с отсутствием метатегов поможет модуль Metatag. Этот модуль автоматически подставляет метаданные на странички сайта, что улучшает отображение контента в результатах поисковой выдачи. Кроме того, модуль позволяет вставлять специальные метатеги для социальных сетей. Конечно, ему нужно будет в этом помочь грамотными настройками, обязательно настроим. Модуль использует tokens.
https://www.drupal.org/project/metatag
Устанавливаем модуль
Здесь пример на основе Drupal 8, но в более старший версиях отличий не много.
Устанавливаем и включаем модуль Metatag.
Вместе с модулем Metatag у нас появляются дополнительные модули:
Эти модули либо добавляют функционал метатегов в другие модули, например, Metatag Views встраивает метатеги в представления, либо добавляют специализированные метатеги для социальных сетей.
Пока я их трогать не буду, разберёмся со стандартным функционалом. Переходим в конфигурацию модуля Metatag.
/admin/config/search/metatag
Здесь можно и нужно настроить значения метатегов по-умолчанию. Какие-то настройки уже есть, а какие-то нужно подправить.
Глобальный
В этом разделе указываем метатеги, которые будут отображаться на сайте по умолчанию. Переопределить их можно в других разделах.
Указываем глобальные настройки:
- Заголовок страницы:
[current-page:title] | [site:name] - Описание:
[site:name] - Канонический URL:
[current-page:url]
В разделе редактирования есть ссылочка - "Просмотр доступных токенов". Можно ткнуть и узнать какие токены можно использовать в данном разделе.
Итак, мы указали, что на всех страницах сайта (если их охватывает модуль Metatag) будет title "[current-page:title] | [site:name]". Результат будет примерно такой:
<meta name="title" content="Маркировка SSD накопителей | internet-lab.ru" />
<link rel="canonical" href="http://internet-lab.ru/ssd_types" />
<meta name="description" content="internet-lab.ru" />
Главная страница
А вот на главной странице title отобразится как:
<meta name="title" content=" | internet-lab.ru" />
Вертикальная черта нам не нужна. Настраиваем раздел "Главная страница" и переопределяем метатеги:
Указываем настройки главной страницы:
- Заголовок страницы:
[site:name] - Канонический URL:
[site:url] - Короткая ссылка:
[site:url]
Заметили что нет описания (description)? Оно возьмётся из блока "Глобальный". Вот что выходит теперь на главной странице:
<meta name="title" content="internet-lab.ru" />
<link rel="shortlink" href="http://internet-lab.ru/" />
<link rel="canonical" href="http://internet-lab.ru/" />
<meta name="description" content="internet-lab.ru" />
Содержимое
На страницах статей в метатеге description хочется чего-то более основательного, нежели URL сайта. Редактируем "Содержимое".
Указываем настройки содержимого:
- Заголовок страницы:
[node:title] | [site:name] - Канонический URL:
[node:url] - Описание:
[node:summary] | [site:name] - Ключевые слова:
[node:field_tags]
Очень удачно теги статьи впишутся в keywords. "[node:summary]" - это анонс статьи, но он не везде есть, поэтому к нему добавляю "| [site:name]", уж название сайта всегда есть. А то Яндекс вебмастер будет ругаться на такие статьи. Вот что получается в статье:
<meta name="title" content="Маркировка SSD накопителей | internet-lab.ru" />
<link rel="canonical" href="http://internet-lab.ru/ssd_types" />
<meta name="description" content="Принято разделять основные типы SSD накопителей по объёму данных, который хранится в ячейке накопителя: SLC, MLC, TLC, QLC. Встречаются разделения и среди дисков с равным объёмом данных в ячейке. | internet-lab.ru" />
<meta name="keywords" content="HP, hardware" />
Пользователь
Настройки юзера я оставил по умолчанию.
- Канонический URL:
[user:url] - Заголовок страницы:
[user:display-name] | [site:name]
Термин таксономии
Настраиваем метатеги для странички тега.
- Канонический URL:
[term:url] - Заголовок страницы:
[term:name] | [site:name] - Описание:
[term:name]
Страница 403 и 404
Эти настройки я тоже оставил по умолчанию.
- Канонический URL:
[site:url] - Короткая ссылка:
[site:url]
Вот и всё. Через месяц Яндекс вебмастер подскажет какие страницы остались без description, но основное мы настроили.