Вопрос или проблема
Я хочу опубликовать сайт с несколькими доменами/языками на основе WordPress.
Я настраиваю несколько доменов для публикации контента, ориентированного на посетителей, чтобы предложить сайты на французском, английском, немецком, испанском и японском языках. Каждый основной язык связан с основным доменом (.fr, .com, .de, .es, .jp), и пока WP Multisite работает хорошо.
Моя проблема:
У меня есть второстепенные домены: Бельгия, Швейцария, Соединенное Королевство (.be, .ch, .co.uk). Эти три второстепенных домена привязаны к основным доменам: .be и .ch связаны с .fr, а .co.uk связан с .com.
Я хочу найти способ использовать тот же контент, что и на основных доменах, для второстепенных доменов (если это возможно, без дублирования контента) и корректно настроить hreflang
для каждого домена (fr_FR, fr_BE, fr_CH, en_US, en_GB, es_ES, de_DE, ja_JP)
- Является ли лучшей практикой использовать мультисайт для этого?
- Есть ли рекомендации относительно выбора плагина для дублирования контента между основными и второстепенными доменами?
- Как я могу управлять
hreflang
?
Спасибо за предложения, Антуан.
Долго пытался решить аналогичную проблему. Пробовал Polylang, WPML, различные пользовательские коды. Проводил исследования в области доменных имен и языков.
Я начал с поддоменов: myfancysite.com, затем добавил de.myfancysite.com, it.myfancysite.com и т.д. Потом я осознал, что теряю потенциал.
Пришел к следующим выводам:
Распространение мультиязычного проекта на ccTLDs дороже, но ГОРАЗДО лучше, чем работа с поддоменами/папками, потому что я могу размещать каждый сайт в соответствующей стране, и мне не нужно привязывать себя к провайдерам CDN, таким как Cloudflare. Однако это не только дорого, но и сложно. Большинство плагинов, доступных для мультиязычных проектов (бесплатных ИЛИ платных), ориентированы на настройку поддоменов, с ограниченной информацией о различных доменах на разных TLDs. Пытался использовать некоторые индивидуальные плагины, платил за них. Всегда чего-то не хватало.
Поэтому я сделал следующее.
Создал тему с пользовательским именем с использованием Underscores.me. Бывшая тема _s от WordPress поддерживается Automattic, коммерческой компанией, стоящей за WordPress. Надежно. Мне не нужно платить за пользовательскую разработку, я буду использовать то, что хорошо известно. Я также не буду использовать платные темы. Они (снова) ненадежны с разных точек зрения. Underscores не должна быть ненадежной. Мне не нужно работать с дочерними темами, я также буду брендовым.
Установил первый проект локально. Начал настраивать его. Использовал некоторые плагины, не так много, и самые установленные (хорошо поддерживаемые) – SEO плагин, удаление категорий из URL, Really Simple SSL, Contact Form 7 вместе с Really Simple CAPTCHA, Easy Updates Manager и ACF.
Последний был важен для моего SEO. Он отображает поля. Такие, как мои поля hreflang.
Добавил группу в ACF и назвал ее “Языки”. Группа доступна для публикаций и страниц. Добавил поле для каждого из моих соответствующих языков. Назвал поля german_language, spanish_language, italian_language и т.д.
Вывел поля в header.php, где-то в <head>
секции.
<link rel="alternate" hreflang="de" href="https://wordpress.stackexchange.com/questions/295337/<?php echo the_field("german_language'); ?>">
ACF создает переменную для меня и сохраняет её в базе данных.
Я использовал ту же переменную для создания виджета с флагами.
Если есть страница или пост, которых нет на других доменах, я просто добавлю условие к моему коду hreflang (isset может сработать, это не должно быть сложно).
Затем установил получившийся сайт везде. Сделал резервную копию и экспортировал с помощью WPRESS (платный плагин для импорта, но он у меня есть на других проектах). Вы можете использовать что-то другое для экспорта/импорта того же проекта. Изменил язык, обновил переводы.
Промыл, ополоснул, повторил.
Google не увидит дублирующийся контент, если вы правильно используете hreflang. Это ключ – hreflang.
Будущее светло.
Ответ или решение
Теория
WordPress — это одна из самых популярных платформ для создания веб-сайтов, позволяющая пользователям управлять множеством доменов и языковых вариаций. Управление множественными доменами и языковыми версиями может быть сложным, особенно когда необходимо избегать дублирования контента и правильно управлять hreflang-тегами для поисковых систем. Hreflang-теги особенно важны, так как они помогают поисковым системам определить, какой контент предназначен для конкретного региона или языка, что позволяет избежать проблем с дублированным контентом и улучшить SEO.
Пример
В вашем случае, основная задача — создать систему управления несколькими основными и второстепенными доменами, обеспечивая при этом корректное функционирование hreflang-тегов. Вы планируете управлять следующими доменами: например, французским (.fr), английским (.com), немецким (.de), испанским (.es), японским (.jp) с дополнительными второстепенными доменами для Бельгии (.be), Швейцарии (.ch) и Великобритании (.co.uk). Основные домены связаны с второстепенными (например, .be и .ch с .fr, а .co.uk с .com).
Вы пробовали использовать различные многоязычные плагины, такие как Polylang и WPML, а также рассматривали другие варианты, включая субдомены и папки, но у этого подхода были свои недостатки, такие как пропуск возможностей и сложности в управлении хостингом для различных стран.
Применение
-
Настройка WordPress Multisite:
Multisite может быть хорошим решением для вашего сценария. Он позволяет управлять несколькими сайтами из одной установки WordPress и может поддерживать разные домены для каждого сайта. Для этого вам:- Настройте WordPress Multisite для работы с доменами верхнего уровня (ccTLDs).
- Используйте плагин Domain Mapping для соответствия второстепенных доменов с их основными доменами.
-
Плагины для управления контентом:
Чтобы избежать дублирования контента между основными и второстепенными доменами, используйте такие плагины, как WPML или Polylang, которые поддерживают мультиязычность, а также ACF (Advanced Custom Fields) для управления специфическими полями, такими как hreflang.- Настройте ACF для создания полей для каждой языковой версии вашего сайта и используйте эти поля для генерации корректных hreflang-тегов.
- Дублирование контента через автоматизированные решения следует избегать, вместо этого используйте подход «один сайт – несколько языков», обеспечивая актуальность и релевантность контента.
-
Управление hreflang-тегами:
Hreflang-теги требуют особого внимания, поскольку они указывают на региональные версии вашей страницы.- Разработайте структуру тегов hreflang для каждого из ваших доменов, включая основной язык и регион (например, fr_FR для Франции, fr_BE для Бельгии, en_US для США, en_GB для Великобритании).
- Обновите ваш файл header.php или используйте плагин для автоматизации добавления hreflang-тегов.
-
Регулярная проверка и обновления:
Тестируйте и следите за правильностью группы доменов и языковых версий через Google Search Console или аналогичные инструменты, чтобы быть уверенным, что hreflang-теги правильно работают и нет проблем с дублированием контента. -
SEO-оптимизация и хостинг:
Хостинг каждого сайта в его целевой стране может помочь улучшить локальный SEO. Использование местных IP-адресов и SSL-сертификатов для каждого из доменов важно для завоевания доверия местной аудитории и улучшения ранжирования в поисковых системах.
Этот метод позволит вам создать более сложный и разнообразный портал, отвечающий всем требованиям пользователей из разных регионов и говорящих на разных языках, минимизировав при этом проблему дублированного контента и улучшив SEO-показатели. Внедрив эту инфраструктуру, вы получите устойчивую систему управления несколькими доменами и языковыми версиями, которая будет удобной как для пользователей, так и для поисковых систем.