Вопрос или проблема
Это бизнес-сайт с изображениями продуктов.
У меня есть многосайтовая установка с 3 языками в 3 каталогах, которые впоследствии будут отображаться на полностью отдельных доменах хостингом, когда работа будет завершена.
Медиа (ИЗМ. : на одном из сайтов) в настоящее время почти полностью состоит из крупных изображений (ИЗМ. : всего 1,8 ГБ), которые не зависят от языка, и редакторам нужно будет добавлять те же изображения при создании страниц с текстами на их языке.
Тем не менее, их медиатека в настоящее время пуста.
Вы рекомендуете, чтобы языковые сайты как-то использовали медиа только с одного из сайтов, поскольку контент практически идентичен, или вы рекомендуете копировать одни и те же медиа на все языковые сайты?
У меня языки представлены как отдельные сайты, потому что они будут отличаться по структуре, но будут использовать одни и те же изображения.
Если вы рекомендуете использовать медиатеку одного сайта, как это достигается? Плагин Network Shared Media не работает для меня, потому что его вкладка не появляется для кнопки Добавить изображение плагина, который я должен использовать.
Если вы рекомендуете копировать изображения, можете ли вы порекомендовать наиболее эффективный способ сделать это, чтобы не вызвать тайм-аут PHP?
Я думаю, что отдельный языковой сайт лучше в большинстве случаев, пока не появятся лучшие технологии автоматического перевода. Плагин MultiSite Language Switcher – хороший плагин для этой цели.
Медиа можно связывать по URL, вы даже можете использовать внешний/выделенный сайт для хранения блоков.
Если нужно, и нет ограничений на основное хранилище, просто создайте cron с rsync для копирования медиа из wp-content/uploads в wp-content/uploads/sites/N, где N = номер сайта.
Разные языки означают, что посетители из разных стран?
Если ваши посетители на каждом сайте из разных стран, я думаю, вам следует иметь отдельные каталоги. Когда количество ваших посетителей увеличивается. Вы можете масштабировать свой сайт, перемещая эти сайты ближе к посетителям. Таким образом, каждый сайт размещается на сервере в разных локациях.
Ответ или решение
На вашем сайте с несколькими языками у вас есть выбор между использованием одного медиа-ресурса для всех языковых сайтов или копированием одних и тех же медиа на каждый язык. Давайте рассмотрим оба подхода и их преимущества и недостатки.
1. Использование одного медиа-ресурса
Преимущества:
- Экономия места: Все изображения хранятся в одном месте, что позволяет значительно экономить дисковое пространство, особенно если ваши файлы большие.
- Облегчение управления: Обновление изображений выполняется один раз, а не для каждого языкового сайта. Это упрощает управление медиафайлами.
- Снижение времени загрузки: Поскольку изображения не копируются по нескольку раз на разных сайтах, это может скорректировать скорость передачи данных и улучшить производительность при использовании CDN.
Недостатки:
- Технические ограничения: Не все плагины поддерживают совместное использование медиафайлов между сайтами в multisite-установках. Если плагин, который вы используете для добавления изображений, не поддерживает эту функциональность, вы можете столкнуться с проблемами.
- Сложность настройки: Настройка общего доступа к медиафайлам может потребовать дополнительных технических шагов, таких как использование специализированного плагина или написание кода.
Как настроить общие медиафайлы
Если вы хотите использовать один медиа-ресурс, но плагин Network Shared Media не работает, возможно, вам стоит рассмотреть возможность:
-
Создайте символическую ссылку: Вы можете создать символическую ссылку на папку с медиафайлами, чтобы все сайты на multisite могли ссылаться на один и тот же набор изображений.
-
Использование REST API: Некоторые технологии позволяют использовать REST API для работы с медиа, что может помочь интегрировать обмен изображениями между сайтами.
2. Копирование медиафайлов на каждый языковой сайт
Преимущества:
- Простота и совместимость: Этот метод прост в реализации и не требует от вас дополнительных настроек. Все плагины будут работать без проблем, и вам не придется беспокоиться о совместимости.
Недостатки:
- Увеличение занимаемого пространства: Вам понадобится значительное количество места на сервере для хранения дубликатов изображений.
- Дополнительное время на обновление: Буквально каждое изменение изображения придется делать на каждом языковом сайте, что может быть утомительным.
Эффективное копирование медиафайлов
Если вы выбрали путь копирования, рекомендуется использовать команду rsync
или scp
для автоматизации этого процесса. Вы можете настроить cron-задачу для регулярного копирования файлов из одной папки в другую. Пример команды rsync
:
rsync -av --progress /path/to/source/uploads/ /path/to/destination/uploads/
Убедитесь, что вы добавили соответствующие исключения, чтобы временные файлы не копировались. Это предотвратит загрузку PHP и таймауты.
Заключение
Ваш выбор будет зависеть от конкретных требований вашего проекта и серверной инфраструктуры. Если экономия места и простота управления для вас критичны, выбирайте использование одного медиа-ресурса, настроив это корректно. Если же вы хотите избегать технических сложностей, копирование медиафайлов может быть более простым решением, хотя и менее эффективным с точки зрения ресурсов.