Веб

Реализация региональности в WordPress на поддоменах и подпапках

Пошаговое руководство по настройке региональности в WordPress с использованием поддоменов для Яндекса и подпапок для Google. Синхронизация контента и блокировка индексации.

1 ответ 1 просмотр

Как реализовать региональность в WordPress на поддоменах и подпапках одновременно? Необходимо настроить систему так, чтобы для Яндекса использовались поддомены, а для Гугла - подпапки. При этом важно закрыть от индексации для Яндекса подпапки, предназначенные для Гугла, и наоборот. Как обеспечить дублирование контента на поддоменах и подпапках при использовании единого редактора в WordPress, чтобы не заполнять две версии контента вручную? Приведите примеры реализации такой архитектуры.

Реализация региональности в WordPress с использованием одновременно поддоменов для Яндекса и подпапок для Google требует комплексного подхода с настройкой WordPress Multisite, конфигурацией robots.txt для разных поисковых систем и использованием плагинов синхронизации контента. Такая архитектура позволяет удовлетворить требования обоих поисковых гигантов, избегая дублирования контента в ручном режиме за счет автоматической публикации материалов во всех региональных версиях через единый редактор.


Содержание


Принципы реализации региональности в WordPress

Региональная оптимизация сайта на WordPress с использованием одновременно поддоменов и подпапок — это продвинутая стратегия, позволяющая максимально эффективно работать с двумя разными поисковыми системами. В России Яндекс предпочитает поддомены для регионального таргетинга, в то время как Google рекомендует использовать подпапки.

Такая архитектура создает техническую сложность, но обеспечивает максимальную гибкость в SEO-стратегии. Основной принцип заключается в создании единого ядра сайта с несколькими версиями контента — поддомены для российского рынка (ru.example.com) и подпапки для международного (example.com/en). Каждая версия должна содержать уникальный контент, адаптированный для региональной аудитории, при этом весь контент управляется через единую административную панель WordPress.

Важно понимать, что при такой конфигурации необходимо правильно настроить robots.txt файлы для каждой поисковой системы, чтобы избежать индексации нежелательных версий контента. Например, Яндекс должен видеть только поддомены, а Google — только подпапки.


Настройка WordPress Multисite для поддоменов и подпапок

Начинаем с активации мультисайтовой сети WordPress. В файле wp-config.php добавляем строку:

php
define('WP_ALLOW_MULTISITE', true);

После активации переходим в “Инструменты” → “Настройка сети”. Здесь выбираем тип сети — поддомены или подпапки. Но для нашей задачи нам нужна гибкая конфигурация, поэтому сначала настраиваем сеть поддоменов.

После установки мультисайта добавляем в wp-config.php:

php
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Теперь создаем сайты для каждого региона:

Для Google нам нужны подпапки, поэтому создаем отдельную установку WordPress в подпапку сайта. Например, устанавливаем WordPress в папку /en/ и настраиваем его для работы с Google.

Такая конфигурация позволяет нам иметь:

Но это создает сложность с управлением контентом, которую мы решим с помощью плагинов синхронизации.


Блокировка индексации для разных поисковых систем

Правильная настройка robots.txt критически важна для нашей архитектуры. Нам нужно блокировать ненужные версии контента для каждой поисковой системы.

Для Яндекса (robots.txt для ru.example.com):

User-agent: Yandex
Disallow: /en/
Disallow: /en/*
Disallow: /wp-admin/
Disallow: /wp-login.php/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Host: ru.example.com
Clean-param: utm_source&utm_medium&utm_campaign

Для Google (robots.txt в корне example.com):

User-agent: Googlebot
Disallow: /ru/
Disallow: /ru/*
Disallow: /wp-admin/
Disallow: /wp-login.php/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/

Подпапка /en/ (для Google):

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/

Также важно добавить в robots.txt инструкцию для User-agent: * (все роботы), чтобы они не индексировали дублирующийся контент:

User-agent: *
Disallow: /ru/
Disallow: /ru/*
Disallow: /en/
Disallow: /en/*

Такая конфигурация гарантирует, что Яндекс будет видеть только поддомены, а Google — только подпапки, избегая дублирования контента в индексах.


Синхронизация контента между версиями сайта

Проблема дублирования контента решается с помощью специальных плагинов для WordPress Multisite. Один из лучших вариантов — Simple Multisite Crossposting.

Установка и настройка плагина:

  1. Устанавливаем плагин через админ-панель WordPress
  2. Переходим в “Настройки” → “Crossposting”
  3. Включаем автоматическое кросспостинг между сайтами

Настройка синхронизации:

php
// Пример кода для автоматического создания записей во всех версиях
add_action('publish_post', 'create_regional_versions', 10, 2);

function create_regional_versions($post_id, $post) {
 if ($post->post_type !== 'post') return;
 
 $sites = get_sites();
 foreach ($sites as $site) {
 if ($site->blog_id != 1) { // Исключаем основной сайт
 switch_to_blog($site->blog_id);
 $new_post = array(
 'post_title' => $post->post_title,
 'post_content' => $post->post_content,
 'post_status' => 'publish',
 'post_author' => $post->post_author,
 'post_category' => get_the_category($post_id),
 'tags_input' => get_the_tags($post_id),
 'post_date' => $post->post_date,
 'post_date_gmt' => $post->post_date_gmt
 );
 wp_insert_post($new_post);
 restore_current_blog();
 }
 }
}

Альтернативные решения:

  • WPML: Плагин для многоязычных сайтов, который поддерживает поддомены и подпапки
  • Polylang: Более легковесное решение для синхронизации контента
  • Кастомные скрипты: Для полной автоматизации можно написать скрипты на PHP, которые будут копировать контент при публикации

Важно настроить правильные перенаправления для пользователей. Например, пользователь из России должен автоматически попадать на ru.example.com, а пользователь из США — на example.com/en/.


Настройка hreflang и канонических тегов

Правильная настройка hreflang-тегов критически важна для мультирегиональных сайтов. Они помогают поисковикам понять, какая версия страницы предназначена для какой языковой и региональной аудитории.

Реализация hreflang в WordPress:

php
// Добавление hreflang-тегов в head
function add_hreflang_tags() {
 if (is_single()) {
 $post_id = get_the_ID();
 $languages = array('ru', 'en');
 $current_lang = get_locale();
 
 foreach ($languages as $lang) {
 if ($lang === 'ru') {
 $url = 'https://ru.example.com' . get_permalink($post_id);
 } else {
 $url = 'https://example.com/en/' . get_permalink($post_id);
 }
 
 echo '<link rel="alternate" hreflang="' . $lang . '" href="' . $url . '" />' . "\n";
 }
 }
}
add_action('wp_head', 'add_hreflang_tags');

Канонические теги:

php
// Установка правильного канонического URL
function set_canonical_url() {
 if (is_single()) {
 if (strpos(get_bloginfo('url'), 'ru.example.com') !== false) {
 $canonical_url = 'https://ru.example.com' . get_permalink();
 } else {
 $canonical_url = 'https://example.com/en' . get_permalink();
 }
 echo '<link rel="canonical" href="' . $canonical_url . '" />' . "\n";
 }
}
add_action('wp_head', 'set_canonical_url');

Плагины для hreflang:

  • TranslatePress: Автоматически добавляет hreflang-теги для всех языковых версий
  • Hreflang Manager: Позволяет управлять hreflang-тегами через админ-панель
  • SEO Framework: Встроенная поддержка hreflang в популярном SEO-плагине

Важно проверить правильность настройки hreflang-тегов с помощью Google Search Console и Яндекс.Вебмастера.


Оптимизация и проверка конфигурации

После настройки всей системы необходимо провести комплексную проверку и оптимизацию.

Проверка robots.txt:

Используем Google Search Console и Яндекс.Вебмастер для проверки индексации:

  • Убедимся, что Google индексирует только подпапки
  • Проверим, что Яндекс видит только поддомены
  • Убедимся в отсутствии ошибок индексации

Анализ дублирования контента:

Используем инструменты для анализа дублирования контента:

Оптимизация производительности:

При работе с несколькими версиями сайта важно оптимизировать производительность:

php
// Кэширование для мультисайта
define('WP_CACHE', true);

// Оптимизация базы данных
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_DATABASE', 0);

Мониторинг и аналитика:

Настройте отслеживание для каждой версии сайта:

  • Google Analytics для каждой поддомены и подпапки
  • Яндекс.Метрика для российского рынка
  • Отдельные цели и конверсии для каждого региона

Регулярный аудит:

Проводите ежемесячный аудит конфигурации:

  • Проверка robots.txt
  • Анализ индексации в Search Console и Вебмастере
  • Проверка скорости загрузки страниц
  • Анализ позиций в разных регионах

Источники

  1. Complete Guide to WordPress Multisite — Подробное руководство по настройке мультисайта в WordPress: https://www.smashingmagazine.com/2020/01/complete-guide-wordpress-multisite/
  2. Simple Multisite Crossposting — Плагин для синхронизации контента между multisite установками: https://rudrastyh.com/plugins/simple-multisite-crossposting
  3. Yandex Webmaster Documentation — Официальная документация по индексации поддоменов для регионального таргетинга: https://yandex.com/support/webmaster/yandex-indexing/subdomain.html
  4. Kinsta WordPress Multisite Guide — Комплексное руководство по настройке multisite и оптимизации производительности: https://kinsta.com/blog/wordpress-multisite/
  5. Hreflang Implementation in WordPress — Детальное руководство по реализации hreflang-тегов в WordPress: https://translatepress.com/hreflang-wordpress/
  6. Google Search Console Documentation — Официальная документация Google по работе с мультирегиональными сайтами: https://developers.google.com/search/docs/crawling-indexing/ hreflang-tag-multilingual
  7. Yandex Webmaster Documentation — Требования Яндекса к региональной оптимизации: https://yandex.com/support/webmaster/region-and-language.html
  8. WPML Multilingual CMS — Плагин для многоязычной поддержки сайтов с поддоменами и подпапками: https://wpml.org/documentation/getting-started-guide/wizard/

Заключение

Реализация региональности в WordPress с использованием одновременно поддоменов для Яндекса и подпапок для Google — сложная, но эффективная стратегия. Ключевые элементы успеха включают: правильную настройку WordPress Multisite, корректную конфигурацию robots.txt для разных поисковых систем, автоматическую синхронизацию контента через плагины и тщательную настройку hreflang-тегов. Такая архитектура позволяет удовлетворить требования обоих поисковых гигантов, избегая ручного дублирования контента и обеспечивая единую точку управления сайтом. Регулярный мониторинг и оптимизация помогут поддерживать эффективность системы в долгосрочной перспективе, обеспечивая высокие позиции в обоих поисковых системах для целевых регионов.

Авторы
Проверено модерацией
Модерация