wpcorp.ru wordpress WP Corp

Как изменить заголовки страниц в WordPress через хуки: практические примеры

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

Почему важно управлять заголовками через хуки в WordPress

В WordPress основная функция, отвечающая за заголовок страницы, это wp_title (устаревшая) и более современный фильтр document_title_parts. Использование хуков позволяет централизованно менять заголовки без изменения исходных файлов темы, что облегчает обновления и снижает риск поломок.

Кроме того, правильное управление заголовками важно для SEO: корректный title помогает поисковым системам лучше индексировать страницы и повышать их ранжирование.

Мы рассмотрим оба метода, с упором на современный — фильтр document_title_parts.

Использование фильтра document_title_parts для изменения заголовков

Фильтр document_title_parts позволяет модифицировать отдельные части заголовка, такие как название сайта, описание и заголовок текущей страницы.

Пример базового кода для изменения заголовка всех страниц:

add_filter('document_title_parts', 'wpcorp_modify_document_title_parts', 10, 1);
function wpcorp_modify_document_title_parts($title_parts) {
    if (is_singular('post')) {
        // Добавляем префикс к заголовку поста
        $title_parts['title'] = 'Статья: ' . $title_parts['title'];
    }
    return $title_parts;
}

В этом примере мы добавляем слово «Статья:» перед заголовком поста. Такой подход удобен для кастомизации заголовков в зависимости от типа контента.

Изменение заголовка для главной страницы

Часто требуется изменить заголовок главной страницы отдельно. Для этого используем условный тег is_front_page():

add_filter('document_title_parts', 'wpcorp_front_page_title', 10, 1);
function wpcorp_front_page_title($title_parts) {
    if (is_front_page()) {
        $title_parts['title'] = 'Добро пожаловать на сайт WP Corp';
        // Можно изменить и название сайта
        $title_parts['site'] = 'WP Corp';
        // Удаляем описание
        unset($title_parts['tagline']);
    }
    return $title_parts;
}

Так вы получите уникальный заголовок для главной страницы, который не зависит от настроек темы.

Использование фильтра wp_title для совместимости с устаревшими темами

Если ваша тема не поддерживает document_title_parts, можно использовать старый фильтр wp_title. Он менее гибкий, но до сих пор актуален для многих проектов.

add_filter('wp_title', 'wpcorp_modify_wp_title', 10, 2);
function wpcorp_modify_wp_title($title, $sep) {
    if (is_category()) {
        $title = 'Категория: ' . single_cat_title('', false) . " $sep " . get_bloginfo('name');
    }
    return $title;
}

Здесь мы изменяем заголовок для страниц категорий, добавляя префикс «Категория:».

Пример решения: динамические заголовки для пользовательских типов записей

Если на сайте используются кастомные типы записей (Custom Post Types), заголовки для них тоже можно менять через document_title_parts. Рассмотрим пример для типа записи product:

add_filter('document_title_parts', 'wpcorp_custom_post_type_title', 10, 1);
function wpcorp_custom_post_type_title($title_parts) {
    if (is_singular('product')) {
        $product_id = get_the_ID();
        $custom_label = get_post_meta($product_id, '_wpcorp_product_label', true);
        if ($custom_label) {
            $title_parts['title'] = $custom_label . ' – ' . $title_parts['title'];
        }
    }
    return $title_parts;
}

В этом примере к заголовку продукта добавляется метка из метаполя _wpcorp_product_label. Это позволяет гибко управлять SEO-заголовками для товаров или других кастомных записей.

Плагины для управления заголовками и SEO, которые можно использовать

Для более продвинутого управления заголовками и SEO советуем обратить внимание на следующие плагины:

  • Yoast SEO — самый популярный SEO-плагин, который позволяет настроить шаблоны заголовков для всех типов страниц через интерфейс.
  • All in One SEO Pack — альтернатива Yoast с похожими функциями.
  • Clearfy Pro — плагин оптимизации и управления WordPress, который среди прочего позволяет тонко настраивать заголовки и мета-теги. Подробнее о нем можно узнать на официальной странице.

Советы по SEO при изменении заголовков через хуки

Изменяя заголовки, стоит помнить:

  • Сохраняйте уникальность заголовков для каждой страницы.
  • Включайте ключевые слова, релевантные содержимому.
  • Не делайте заголовки слишком длинными — оптимально до 60 символов.
  • Используйте условные теги, чтобы управлять заголовками по типу страницы.

Также важно тестировать изменения в различных браузерах и проверять, как они отображаются в поисковой выдаче.

Как интегрировать изменение заголовков с темами WPShop

Темы, такие как Reboot и Root, поддерживают современный фильтр document_title_parts. Поэтому код из примеров будет работать с ними без доработок. Если используете кастомные шаблоны, проверьте, чтобы в header.php была функция wp_head(), которая отвечает за вывод заголовка.

Выводы и практические рекомендации

Изменение заголовков через хуки — лучший способ гибко управлять SEO и UX вашего сайта на WordPress. Используйте фильтр document_title_parts для современных тем и добавляйте логику через условные теги. Для устаревших тем подойдет wp_title.

Для упрощения и расширения функционала можно подключать SEO-плагины, например, Clearfy Pro, который отлично интегрируется с WPShop и позволяет настраивать заголовки без кода.

×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙