Занимаюсь решением ряда SEO задач для сайта на Drupal. Одна из них связана с урлами, генерируемыми пейджером.
На самом деле это комплекс задач, который требует помимо замены урла вида
1 |
drupal.site/uri-страницы?page=N |
на
1 |
drupal.site/uri-страницы/page/N |
еще и смены заголовков страница и H1, изменении данных в метаполях и т.п.
Итак, обо всем по порядку.
ЧПУ урлы пейджера
Первая проблема — ЧПУ урлы пейджера — решается установкой модуля Сleanpager. Модуль не большой, его функционал, возможно, стоит скопировать в какой то свой модуль, чтобы не захламлять список модулей.
После установки и активации модуля, проследуйте в раздел администрирования — /admin/config/system/cleanpage.
Здесь требуется указать пути сайта, где применять модуль. Можно использовать звездочку * для шаблона.
На скриншоте, видно, что я выбрал две опции, для нас важна use /page/page_number, которая приводит ссылки пейджера к требуемому виду.
Смена заголовков страниц на страницах пейджера
Речь идет о добавлении в название страницы и её заголовок надписи вроде — «страница N». Можно пойти опять по пути использования модулей. В частности, можно попробовать модуль из состава Metatag, Metatag: Context.
Но, как мне кажется, задача слишком мелкая для активации дополнительного модуля, потому решим её иначе.
Я использовал зацепку темы оформления function theme_process_page(&$variables) для модификации заголовков до вывода в шаблон.
1 2 3 4 5 6 7 8 |
function ВашаТема_process_page(&$variables) { if (!empty($_GET['page']) && is_numeric($_GET['page']) ) { //меняем H1 $variables['title'] .= ', страница ' . ($_GET['page'] + 1); //меняем meta title drupal_set_title(drupal_get_title() . ', страница ' . ($_GET['page'] + 1)); } } |
Как видите — это всего несколько строк.
Меняем метатеги для пейджера
Здесь нужно будет использовать другую зацепку — theme_html_head_alter(&$head_elements). Смысл остаётся прежним — до вывода тегов в шаблон мы их меняем, согласно тому что требуется для SEO.
Некоторые оптимизаторы добавляют в meta description номер страницы. Другие наоборот предпочитают очистить теги для всех страниц, кроме первой. Я склоняюсь к пользе второго варианта.