Сегодня небольшой SEO урок, о том как в MODX Revo для каждой отдельной страницы с пагинацией использовать разные title и description, т.к. не для кого наверное не секрет, что дублирование тайтлов и мета описаний не есть хорошо.
Вариант 1. Используем GET-параметр page
Данный вант подходит вам если вы используете пагинацию без Ajax.
Создаем сниппет get_post
со следующим содержимым:
<?php
if(empty($_GET['page'])) return;
return ', страница'.$_GET['page'];
Затем вызываем его в head:
<title>[[*longtitle]][[!get_post]]</title>
<meta name="description" content="[[*description]][[!get_post]]">
Так же вы можете расширить данный сниппет и передать к примеру TV:
<?php
if(empty($_GET['page'])) return;
return $text.', страница '.$_GET['page'];
Ну и вызываем:
<title>[[!get_post? &text=`[[*longtitle]]`]]</title>
<meta name="description" content="[[!get_post? &text=`[[*description]]`]]">
Вариант 2. Используем pdoTitle
Я обычно вызываю его так:
<title>[[!pdoTitle?limit=`0`&cache=`1`®isterJs=`0`]]</title>
<meta name="description" content="[[!pdoTitle?limit=`0`&cache=`1`&titleField=`description`®isterJs=`0`]]">
Fenom
<title>{'!pdoTitle' | snippet : [ 'limit' => '0', 'cache' => '1', 'registerJs' => '0' ]}</title>
<meta name="description" content="{'!pdoTitle' | snippet : [ 'limit' => '0', 'cache' => '1', 'titleField' => 'description', 'registerJs' => '0' ]}">
Неплохо, но я бы дополнил условием, а то будет добавлять к основной странице без пагинации — «страница»
if (!$page) {
// ничего не делаем
} else {
return » — страница » . $page;
}
Ну как вариант, дойду до обновления данного урока модифицирую немного сниппет