Вывод META-данных для категорий

Долгое время я пользовался записью «МЕТА данные для категорий и тегов» Александра Тодосийчука, но каждый раз искать несоответствия в коде примера стало надоедать.

Поэтому решил сделать обновляемый пост на своём блоге, чтобы каждый раз при обновлении плагина All in One SEO Pack (дальше по тексту — AIOSP) иметь под рукой актуальную информацию о необходимых изменениях.

Данная статья более не актуальна, т.к. перешёл на новый SEO плагин: WordPress SEO by Yoast. Скорее всего материалы инструкции не будут работать с новыми версиями AIOSP.

Так вот, многие знают, что сейчас страницы категорий и меток активно используются для поискового продвижения. Делается это следующим образом: прописываются текстовые описания и заголовки в интерфейсе WordPress и затем выводятся на страницах категорий или меток.

Плагин CategoryTinymce

Для удобства написания текстов в разделе «Рубрики» и «Метки» существует плагин CategoryTinymce. Он добавляет возможность писать текст с помощью удобного редактора TinyMCE:
Вывод META-данных для категорий в WordPress 01

Это всё хорошо, но не стоит забывать и о мета-тегах, а именно выводе корректных title и description для этих страниц.

Плагин Category SEO Meta Tags

Для решения этой задачи существует плагин Category SEO Meta Tags. Устанавливаем и активируем его как обычно, ничего нового вы тут не узнаете.

После этого можем зайти в раздел «Записи» — «Рубрики» вашего блога, выбрать нужную рубрику и увидим следующее:
Вывод META-данных для категорий в WordPress 02

Таким образом, с помощью этого плагина мы добавляем в WordPress возможность заполнять нужные нам значения meta-тегов.

Но есть одно «но» — нужно внести несколько правок в файл плагина AIOSP, чтобы исключить дублирования лишних тегов и активировать работу плагина Category SEO Meta Tags.

На момент написания этой заметки версия AIOSP на моём блоге 2.0.3.1 и все изменения касаются именно её. Если вы читаете эту заметку и версия вашего плагина отличается — напишите в комментариях, обновлю пост в соответствие с новой версией.

Добавляем фильтр для плагина Category SEO Meta Tags

Подключаемся к хостингу через FTP или SSH, заходим в директорию плагина AIOSP: /wp-content/plugins/all-in-one-seo-pack/ и открываем на редактирование файл aioseop_class.php.

Находим строку 1752 и вставляем сразу после неё код:

$title = apply_filters('aioseop_category_title', $title);

В итоге получится следующий код:

$title = $this->apply_page_title_format( $title );
$title = $this->paged_title( $title );
$title = apply_filters('aioseop_category_title', $title);
$title = apply_filters( 'aioseop_title_page', $title );

Теперь перемещаемся к строке 1775 и добавляем после неё код:

$title = apply_filters('aioseop_title', $title);

Получается следующий код:

$title = $this->paged_title( $title );
$title = apply_filters('aioseop_title', $title);
return apply_filters( 'aioseop_title_single', $title );

Я искал эти строки по фразе «paged_title», именно после неё необходимо добавлять наши фильтры.

Убираем дублирование meta-тега description

После выполнения предыдущего пункта, скорее всего у вас на странице будет два meta-тега description, первый от него плагина, второй от AIOSP, выглядеть это будет примерно так:
Вывод META-данных для категорий в WordPress 03

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

Для этого находим строку 1156:

$meta_string .= sprintf( "<meta name=\"description\" content=\"%s\" />\n", $description );

Её быстро найти можно с помощью фразы «meta name».

И обрамляем её условием if:

if (!is_category()) {
    $meta_string .= sprintf( "<meta name=\"description\" content=\"%s\" />\n", $description );
}

Всё, теперь должно работать как нам надо.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Комментарии

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: