wplang.ru wordpress WP Lang

Как удалить или скрыть языковую верстку в WordPress

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

Почему важно управлять языковой версткой в WordPress

По умолчанию многие темы и плагины WordPress добавляют языковые атрибуты, чтобы поддерживать мультиязычность и улучшать SEO. Например, в HTML-элементах добавляется lang="ru-RU", а в заголовке страницы – ссылки с hreflang для разных языков.

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

Также избыточная языковая разметка может влиять на скорость загрузки страницы и усложнять работу с кэшированием.

Как удалить атрибут lang из тега html в WordPress

По умолчанию WordPress добавляет атрибут lang в тег <html> через функцию language_attributes(). Чтобы убрать этот атрибут, можно применить фильтр или переопределить вывод.

Способ 1: Переопределение функции language_attributes через фильтр

В файл functions.php вашей темы или в плагин добавьте следующий код:

function wplang_remove_lang_attribute($output) {
    // Убираем атрибут lang и xml:lang
    $output = str_replace(array('lang="'.get_bloginfo('language').'"', 'xml:lang="'.get_bloginfo('language').'"'), '', $output);
    return $output;
}
add_filter('language_attributes', 'wplang_remove_lang_attribute');

Этот код убирает стандартный вывод языковых атрибутов, оставляя тег <html> без них.

Способ 2: Полное удаление вызова language_attributes

Если в вашей теме в файле header.php используется вызов <html , вы можете заменить его на просто <html>. Но это менее гибко и может привести к проблемам с доступностью.

Как отключить и удалить теги hreflang из WordPress

Теги hreflang автоматически добавляются плагинами мультиязычности (например, WPML, Polylang) или SEO-плагинами (Yoast SEO, Rank Math) для указания поисковым системам языковых версий страниц.

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

Отключение hreflang в Yoast SEO

В Yoast SEO теги hreflang генерируются автоматически при активном мультиязычном плагине. Чтобы их отключить, можно использовать фильтр:

add_filter('wpseo_alternate_hreflang', '__return_false');

Добавьте этот код в functions.php, чтобы полностью убрать hreflang.

Удаление hreflang в Polylang

В Polylang отключить hreflang можно через настройки плагина, сняв галочку с “Добавлять hreflang”. Если такой настройки нет, можно использовать фильтр:

add_filter('pll_get_hreflang', '__return_empty_array');

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

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

  • Clearfy Pro (https://wpshop.ru/plugins/clearfy-pro/?utm_source=wplang.ru&utm_medium=article&utm_campaign=kak-udalit-ili-skryt-verstku-yazyka-v-wordpress) — позволяет отключать ненужные метатеги, в том числе языковую разметку.
  • WPML и Polylang — для мультиязычности с настройками языковых атрибутов.
  • Yoast SEO — дает удобный контроль над hreflang и языковой разметкой.

Кастомные решения: скрытие языка для SEO и пользователей

Если вам нужно скрыть языковые метки только на фронтенде, при этом не нарушая функциональность админки и плагинов, можно использовать JavaScript или CSS. Но лучше решать проблему на уровне PHP, чтобы не создавать лишние нагрузки.

Пример функции для удаления lang в body и html

function wplang_remove_lang_body_html() {
    add_filter('language_attributes', '__return_empty_string');
    add_filter('body_class', function($classes) {
        return array_diff($classes, ['lang-ru']); // если есть класс с языком
    });
}
add_action('init', 'wplang_remove_lang_body_html');

Выводы и рекомендации

Удаление или скрытие языковой верстки в WordPress важно для одностраничных и однородных по языку сайтов, чтобы улучшить SEO и избежать путаницы поисковиков. Используйте фильтры WordPress для удаления атрибутов lang и тегов hreflang, а также настройте SEO-плагины для отключения лишней разметки.

Рекомендуется тестировать сайт после внесения изменений с помощью инструментов Google Search Console и валидаторов HTML, чтобы убедиться в корректности отображения и индексации.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее