Здравствуйте.
Пытаюсь придумать структуру сайта, но получается пока не очень.
Суть какая:
Будет сайт, где есть несколько "зон" и несколько языков.
Сайт под видеокурсы, но там же так же люди будут делиться результатами своих работ по курсам, писать статьи и так далее. И от этого есть желание разделить сайт на две зоны, основную (где вся движуха) и зону обучения, где чисто курсы и уроки. Основная на домене, курсы на поддомене. Это все реализовать через мультисайт на вордпресс.
Но тогда возникает вопрос, куда пихать языки? Как минимум языка будет три. Делать разные сайты под каждый язык не хочется, так как как минимум хочется что бы пользователи могли между собой общаться и читать статьи на всех языках сразу (получая их в ленте выдачи), при этом понятно что языки можно отфильтровать будет (ну условно язык статьи как раздел идет, и можно по разделам отфильтровать). Но при этом страницы сайта будут на языке пользователя (выбранном в личном кабинете или по браузеру автоматом).
Отсюда вопрос, как в эту всю историю добавить эти все языки, что бы не получилось путаницы?
Вариант который я придумал, это сделать в принципе мультиязычные блоки, где не страницы с разными языками, а на одной странице сразу все языки, и пользователи это выбирают в профиле, на каком языке им страница будет выдаваться. Но что то он мне кажется каким то... Да и как это тогда реализовать лучше/правильней на WP? Как эти языки будут или не будут учитываться в ЮРЛ и так далее?
А эти плагины и блоки отдельно могут перестраивать, не только страницы? Просто не знал об этом.
А можно так что бы вообще без каких то запросов? Ну например без поддоменов, подразделов, гет запросов? Условно одна и та же страница, но на разных языках для разных пользователей?
Роман Страх, например блок существует в двух или более вариантах языка, которые подменяются через JS на фронтенде непосредственно. Какой язык ставить сайт понимает:
1. По настройкам в профиле пользователя
2. По кукам, которые пользователь получает, когда выбирает язык сайта, при условии что он незалогинен.
3. Первичный язык (когда еще куки не получены) присваивается когда пользователь заходит на сайт по языку его браузера, в том случае если контент не привязан к языку (страницы товаров и т.д.), а если привязан (статья), то язык страницы соответствует языку контента.
Возможно ли так сделать? Возможно ли так сделать на WP. Если да, то как? И на сколько это вообще адекватно?
Я просто хочу сделать сайт, который типо линкедина, где пользователь просто выбирает язык и видит сайт на своем языке, который выбрал, а контент на том языке, на котором он есть в зависимости от своих фильтров (фильровать контент по языку тоже можно).
И как на это все будет смотреть поисковая система (сео оптимизация)?
Ну в смысле заходит робот на страницу статьи. Язык статьи русский, допустим, язык интерфейса будет русский (по языку контента), но если робот заходит на страницу товара, то какой язык он получит? Как в этом случае сделать что бы по ру запросу выдавалась страница на ру языке, а по англ запросу на англ языке? Учитывая, что это одна и та же страница (например страница выбора товаров или страница товара. Через аргументы в UTM? Или еще какие есть варианты?
Да и как это тогда реализовать лучше/правильней на WP?
Вначале определись "как это тогда реализовать лучше/правильней" в принципе (по задачам, управлению, SEO и пр), а потом уже спрашивай "как это реализовать на ВП".
Основная на домене, курсы на поддомене. Это все реализовать через мультисайт на вордпресс
Совсем не обязательно. Курсы могут быть и кастомный тип контента. И его можно вынести на подомен (если вдруг возникнет такая необходимость).
читать статьи на всех языках сразу (получая их в ленте выдачи),
Ты не собираешься их переводить? Тогда на кой мультиязычность? А если собираешься - на кой юзерам "читать" (большинству переводить машинным переводом!) одно и тоже на нескольких языках?
Делать разные сайты под каждый язык не хочется
А я бы именно так и сделал. И даже разнёс по разным серверам. Одна из причин - выше, но главное - 99% юзеров (из 2% желающих "общаться") общаются только на одном языке. А для тех, кто хочет мультиязычного общения просто должно быть удобно это делать. В см - нужно грамотно реализовать юзабилити.
Почему вордпресс? Потому что я в нем разбираюсь немного, и по крайней мере страницы сам могу делать. Отсюда это сильно сэкономит либо время, либо стоимость создания сайта.
Почему думал курсы не кастомным типом контента, а мультисайтом, так это потому, что бы шаблоны разные использовать можно было. Просто там есть такая штука, как лернпресс (плагин) для курсов. И к нему три десятка дополнений, которые можно получить бесплатно если использовать премиум шаблон от создателей плагина. Отсюда с целью уменьшения расходов и ускорения производства сайта такое решение. Но этот шаблон для курсов не ложиться на раздел со статьями.
Нет, статьи переводить не собираюсь. Так как статьи публиковать будут сами пользователи, то переводить их только автопереводом. Но это отталкивает читателей (роботы конечно любят когда много контента, но выдавать эти автопереводы, которые заполонили выдачу, это просто издевательство над пользователем). Отсюда задумка такая, что пользователю предлагается статья, если хочет перевести, то просто переводит ее в браузере переводчиком. Отключить выдачу статей на других языках можно просто в фильтре одной галочкой.
Пример ресурса с мультиязычностью, где пользователи с разных языковых зон общаются между собой, это линкедин. Где можно профиль сделать на нескольких языках, читать посты на разных языках и не испытывать проблем при этом никаких (а те, кому это не надо, просто отключают другие языки).
Разнести на разные сервера если, то как пользователи будут писать друг другу?
Да, согласен 98% пользователей предпочитают общаться на одном языке. Но дело в том, что моя целевая аудитория, это как раз оставшиеся 2%. Вернее 10% от этих 2%.
для мультиязычного сайта есть такой плагин Polylang. Для каждого языка своя страница или запись. Если не хотите ставить автоматический перевод, тогда воспользуйтесь Polylang. В хидере, в верху, будет перечень языков. Для каждого языка будет свой url, допустим для английского https: //ваш домен/en/ ..., для русского https: //ваш домен/ru/ ... и т.д. В этом случае надо переводить все страницы и записи вручную. Это очень кропотливый труд. Тем более если страниц и записей много.