Как сделать мультиязычность мультисайта WP?

Ссылка скопирована
1 ответ

Здравствуйте.
Пытаюсь придумать структуру сайта, но получается пока не очень.
Суть какая:
Будет сайт, где есть несколько "зон" и несколько языков.
Сайт под видеокурсы, но там же так же люди будут делиться результатами своих работ по курсам, писать статьи и так далее. И от этого есть желание разделить сайт на две зоны, основную (где вся движуха) и зону обучения, где чисто курсы и уроки. Основная на домене, курсы на поддомене. Это все реализовать через мультисайт на вордпресс.
Но тогда возникает вопрос, куда пихать языки? Как минимум языка будет три. Делать разные сайты под каждый язык не хочется, так как как минимум хочется что бы пользователи могли между собой общаться и читать статьи на всех языках сразу (получая их в ленте выдачи), при этом понятно что языки можно отфильтровать будет (ну условно язык статьи как раздел идет, и можно по разделам отфильтровать). Но при этом страницы сайта будут на языке пользователя (выбранном в личном кабинете или по браузеру автоматом).
Отсюда вопрос, как в эту всю историю добавить эти все языки, что бы не получилось путаницы?

Вариант который я придумал, это сделать в принципе мультиязычные блоки, где не страницы с разными языками, а на одной странице сразу все языки, и пользователи это выбирают в профиле, на каком языке им страница будет выдаваться. Но что то он мне кажется каким то... Да и как это тогда реализовать лучше/правильней на WP? Как эти языки будут или не будут учитываться в ЮРЛ и так далее?

Дополнительно:

最好將語言分開

Ответы:

https://ru.wordpress.org/plugins/polylang/
https://wpml.org/
И еще 100500+ вариантов
Там можно через get запрос / поддоменом / паркой локали получать нужные блоки на одной странице / на разных страницах

  • А эти плагины и блоки отдельно могут перестраивать, не только страницы? Просто не знал об этом.
    А можно так что бы вообще без каких то запросов? Ну например без поддоменов, подразделов, гет запросов? Условно одна и та же страница, но на разных языках для разных пользователей?
  • RigidStyle, как сайту понимать какие строки дергать тогда без всего этого ?
  • Роман Страх, например блок существует в двух или более вариантах языка, которые подменяются через JS на фронтенде непосредственно. Какой язык ставить сайт понимает:
    1. По настройкам в профиле пользователя
    2. По кукам, которые пользователь получает, когда выбирает язык сайта, при условии что он незалогинен.
    3. Первичный язык (когда еще куки не получены) присваивается когда пользователь заходит на сайт по языку его браузера, в том случае если контент не привязан к языку (страницы товаров и т.д.), а если привязан (статья), то язык страницы соответствует языку контента.

    Возможно ли так сделать? Возможно ли так сделать на WP. Если да, то как? И на сколько это вообще адекватно?
    Я просто хочу сделать сайт, который типо линкедина, где пользователь просто выбирает язык и видит сайт на своем языке, который выбрал, а контент на том языке, на котором он есть в зависимости от своих фильтров (фильровать контент по языку тоже можно).

    И как на это все будет смотреть поисковая система (сео оптимизация)?
    Ну в смысле заходит робот на страницу статьи. Язык статьи русский, допустим, язык интерфейса будет русский (по языку контента), но если робот заходит на страницу товара, то какой язык он получит? Как в этом случае сделать что бы по ру запросу выдавалась страница на ру языке, а по англ запросу на англ языке? Учитывая, что это одна и та же страница (например страница выбора товаров или страница товара. Через аргументы в UTM? Или еще какие есть варианты?

Да и как это тогда реализовать лучше/правильней на WP?

Вначале определись "как это тогда реализовать лучше/правильней" в принципе (по задачам, управлению, SEO и пр), а потом уже спрашивай "как это реализовать на ВП".

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

Совсем не обязательно. Курсы могут быть и кастомный тип контента. И его можно вынести на подомен (если вдруг возникнет такая необходимость).

читать статьи на всех языках сразу (получая их в ленте выдачи),

Ты не собираешься их переводить? Тогда на кой мультиязычность? А если собираешься - на кой юзерам "читать" (большинству переводить машинным переводом!) одно и тоже на нескольких языках?

Делать разные сайты под каждый язык не хочется

А я бы именно так и сделал. И даже разнёс по разным серверам. Одна из причин - выше, но главное - 99% юзеров (из 2% желающих "общаться") общаются только на одном языке. А для тех, кто хочет мультиязычного общения просто должно быть удобно это делать. В см - нужно грамотно реализовать юзабилити.

  • А как реализовать правильно?

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

    Почему думал курсы не кастомным типом контента, а мультисайтом, так это потому, что бы шаблоны разные использовать можно было. Просто там есть такая штука, как лернпресс (плагин) для курсов. И к нему три десятка дополнений, которые можно получить бесплатно если использовать премиум шаблон от создателей плагина. Отсюда с целью уменьшения расходов и ускорения производства сайта такое решение. Но этот шаблон для курсов не ложиться на раздел со статьями.

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

    Пример ресурса с мультиязычностью, где пользователи с разных языковых зон общаются между собой, это линкедин. Где можно профиль сделать на нескольких языках, читать посты на разных языках и не испытывать проблем при этом никаких (а те, кому это не надо, просто отключают другие языки).
    Разнести на разные сервера если, то как пользователи будут писать друг другу?
    Да, согласен 98% пользователей предпочитают общаться на одном языке. Но дело в том, что моя целевая аудитория, это как раз оставшиеся 2%. Вернее 10% от этих 2%.

для мультиязычного сайта есть такой плагин Polylang. Для каждого языка своя страница или запись. Если не хотите ставить автоматический перевод, тогда воспользуйтесь Polylang. В хидере, в верху, будет перечень языков. Для каждого языка будет свой url, допустим для английского https: //ваш домен/en/ ..., для русского https: //ваш домен/ru/ ... и т.д. В этом случае надо переводить все страницы и записи вручную. Это очень кропотливый труд. Тем более если страниц и записей много.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Елена Вебер Ответ

Для Вашего сценария я бы не начинал с WordPress Multisite только ради языков. Multisite хорош, когда действительно нужны отдельные сайты: разные администраторы, разные наборы плагинов, разные домены/поддомены, отдельная структура. Но для мультиязычности контента он часто усложняет жизнь.

У Вас есть две оси: зоны сайта и языки. Если сделать “основной сайт” и “курсы” как два сайта в multisite, а потом ещё умножить это на три языка, получится сложная матрица: пользователи, роли, переводы, общая лента, поиск и комментарии будут требовать синхронизации.

Более управляемый вариант:

  • один WordPress;
  • кастомные типы записей для курсов, уроков, работ, статей;
  • таксономии для зон и языков;
  • мультиязычный плагин: WPML, Polylang или TranslatePress;
  • единая база пользователей и единая лента.

Если курсы должны быть на поддомене, можно сделать отдельный frontend/раздел courses.example.com, но всё равно хранить данные в одной установке или аккуратно настроить multisite. Поддомен сам по себе не обязан означать отдельный сайт WordPress.

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

Multisite имеет смысл, если зона обучения должна быть почти самостоятельным продуктом: отдельные плагины LMS, отдельные админы, отдельная нагрузка, отдельный домен и своя логика доступа. Но даже тогда языки внутри каждой зоны лучше решать мультиязычным плагином, а не плодить сайты “зона x язык”.

Итог: начните с модели данных. Для описанного проекта чаще всего лучше один WP + CPT + LMS/права доступа + мультиязычный плагин. Multisite выбирайте только если есть сильная организационная причина разделять сайты.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

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

Вам также может быть интересно