/sites/default/files/2024-02/71601611.jpg

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

Для настройки мета-тегов используем одноимённое решение — модуль Metatag и его подмодули:

  • Базовый модуль позволяет настраивать шаблоны мета-тегов по типам сущностей.
  • Для настройки мета-тегов в представлениях используем подмодуль metatag_views.
  • Для настройки мета-тегов на произвольных страницах используем подмодуль metatag_context.

Модуль Context позволяет настраивать реакции для заданных условий. Одной из таких реакций является переопределение мета-тегов, которая доступна после установки подмодуля metatag_context. Для переопределения H1 заголовка используем соответствующую реакцию из модуля Title Override с этим патчем. Вывод информационных блоков также следует реализовать в виде реакций для модуля context, это позволит выполнять настройку более централизованно. Реакция для работы с блоками уже имеется в самом модуле. В зависимости от исходных требований функционал информационных блоков может быть реализован в виде отдельного самописного решения, однако, в общем случае следует придерживаться идеи расширения функционала модуля context через добавление плагинов условий и реакций.

В модуле context есть больше десятка готовых условий для управления диапазоном страниц, на которых будут выполняться заданные реакции. Два условия напрямую оперируют URL-адресом страницы — это условия «Path» и «Query string», которые оперируют путём и строкой параметров страницы, соответственно. Использование этих двух условий, а также их комбинаций с другими условиями, позволяет выполнять рассмотренные выше реакции для произвольных групп страниц на сайте.

Основа любых шаблонов в Drupal — это модуль Token. На больших сайтах загрузка дерева токенов может требовать много времени и много памяти, в ряде случаев оно не загружается вовсе. Для решения этой проблемы используем модуль Fast Token Browser.

В случае, когда на сайте имеется каталог с фасетными фильтрами, используем модуль Facets Tokens. Модуль предоставляет токены для подстановки значений в зависимости от активных фасетов на текущей странице. В отличие от токенов из модуля Facet API, здесь не требуется непосредственное указание активного фасета, для которого извлекаются токены, а также имеется поддержка множественных значений.

Для упрощения настройки контекста рекомендуется использование модуля Facet API Pretty Paths. В этом случае страницы фильтров будут иметь уникальные пути без привязки к строке параметров, от условия «Query string» можно будет отказаться.

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

  1. Используем модуль Token Morpher, для его работы потребуется покупка и установка PHP расширения Морфер.
  2. Используем дополнительные поля сущностей, в которых указываем подставляемые значения в нужных словоформах. Это накладывает ограничение, требующее, чтобы заменяемый токен всегда был связан с какой-нибудь сущностью, чьи поля можно будет использовать. Для фасетов используем доработку модуля Facets Tokens (пока не реализована), позволяющую ссылаться на поля связанной сущности. Также добавляет ограничение — значения фасетов, используемых в шаблонах, должны ссылаться на сущности.

Решение из пункта 2 можно использовать для реализации функционала синонимов.

Добавить комментарий