Один из наиболее популярных вопросов, связанных с использованием мультисайтов в WordPress, заключается в следующем: «Могу ли я импортировать существующий сайт в мультисайтовую сборку?»
Другой популярный вопрос: «Могу ли я перевести какой-нибудь сайт из мультисайтовой сборки в отдельную сборку?»
Ответы на эти вопросы положительные. В данном руководстве мы посмотрим, как все это сделать. Сразу стоит сказать, что в реализации импорта/экспорта сайтов нет ничего сложного. Все основано на использовании соответствующих стандартных функций, существующих в WP.
Что будет импортировано
Невзирая на то что система WordPress может импортировать различные элементы при переходе от одного сайта к другому (включая записи, страницы, рубрики, медиафайлы и т.д.), она все равно не затронет их целиком и полностью.
В частности, система не будет автоматически импортировать ваши плагины или темы. Также она не будет импортировать некоторые ваши настройки, структуру постоянных ссылок, заголовок вашего сайта и установки часового пояса. Вам понадобится настраивать свой сайт заново.
Давайте приведем краткую статистику того, что будет импортировано, а что нет.
Будут импортированы:
- Записи
- Рубрики
- Метки
- Медиафайлы
- Страницы
- Комментарии
- Меню
- Заголовок*
- Бэкграунд*
- Пользователи
Не будут импортированы:
- Темы
- Плагины
- Виджеты
- Заголовок*
- Бэкграунд*
- Пользовательские роли
- Пользовательские пароли
- Настройки
* WordPress импортирует любые медиафайлы (изображение заголовка, бэкграунд), однако не будет применять автоматически данные изображения к сайту. Также WordPress не будет импортировать настройки цветовой гаммы – скажем, если вы установили в качестве фона определенный цвет, WordPress не будет импортировать его.
Есть некоторые плагины, которые позволяют справиться с данной проблемой. Одним из таких плагинов является <aclass=”extern” href=”http://wordpress.org/extend/plugins/widget-settings-importexport/” target=”_blank”>Widget Settings Importer/Exporter.
Экспорт сайта из отдельной сборки в мультисайтовую
1. Экспорт сайта.
Переходим в раздел Tools > Export, выбираем то, что нам требуется экспортировать в виде XML-файла, после чего жмем Download Export File.
Таким образом, мы сохраним этот файл на свой компьютер, после чего импортируем его на новый сайт.
2. Импорт сайта
Некоторая информация, представленная ниже и связанная с именами пользователей, может показаться не совсем понятной. Преимущество мультисайтов заключается в том, что вы можете добавлять и удалять сайты по своему желанию. Если вдруг что-то пойдет не так, вы всегда можете удалить недавно созданный сайт и пройти весь процесс заново.
Давайте теперь начнем сам импорт.
Шаг 1. Устанавливаем новый сайт в своей мультисайтовой сборке.
Переходим к разделу My Sites > Network Admin > Sites > Add New.
URL-адрес сайта, который вы введете в поле Site Address, будет стандартным именем администратора для данного сайта. К примеру, если вы введете в качестве URL «xyz.example.com», то в таком случае имя администратора для этого сайта будет «xyz».
Однако существует также одно небольшое исключение для данного правила. Если вы будете использовать почтовый адрес пользователя, уже зарегистрированного в мультисайтовой сборке, то в таком случае администратор получит имя этого пользователя.
Имя пользователя «Admin»
Многие люди используют имя «Admin» для аккаунта администратора. Однако, так как имя «Admin» уже может использоваться суперадминистратором в мультисайтах, у вас не получится назвать администратора нового сайта «admin» (даже если оно было таким на старом сайте). В дальнейшем мы посмотрим, как справиться с этой проблемой.
Если вы используете такой же электронный адрес, как и суперадминистратор в мультисайтовой сборке, причем суперадминистратор имеет имя пользователя «admin», то вы можете связать записи с этим пользователем – в итоге будет казаться, что записи публикуются автором «Admin».
Шаг 2. В качестве почты администратора вы можете поместить почтовый адрес администратора с вашей одиночной сборки. Если вы будете запускать сайт самостоятельно, то в таком случае вы можете поместить почтовый адрес для вашего суперадминистратора.
Шаг 3. Щелкаем Add Site.
Шаг 4. Переходим к консоли только что созданного сайта. Сделать это можно через удобную ссылку «Visit Dashboard», которая должна появиться сразу после создания нового сайта.
Доступ к консоли также можно получить через My Sites > Network Admin > Sites.
Шаг 5. В консоли нового сайта переходим к разделу Tools > Import.
Последняя настройка в списке должна относиться к WordPress. Если вы еще не устанавливали плагин импорта в мультисайтовой сборке, вы увидите следующее сообщение рядом с опцией WordPress:
«This importer is not installed. Please install importers from the main site»
Если плагин импорта установлен, можете сразу перейти к шагу 12.
Шаг 6. Кликаем по данной ссылке.
После щелчка по ней вы перейдете к разделу Network Admin (покинете консоль вашего нового сайта).
Шаг 7. Щелкаем по ссылке WordPress.
Шаг 8. Появится окно с плагином. Устанавливаем его, щелкая по ссылке Install Now.
Шаг 9. Теперь кликаем по ссылке Network Activate.
Шаг 10. Возвращаемся к консоли нового сайта (My Sites > Network Admin > Sites).
Шаг 11. Переходим к разделу Tools > Import.
Шаг 12. Кликаем по ссылке WordPress в списке, чтобы загрузить файл, который до этого был сохранен на компьютере.
Шаг 13. Находим файл и загружаем его.
Шаг 14. Теперь мы рассмотрим проблему наличия администраторского аккаунта «admin» в отдельной сборке.
Как было замечено ранее, если суперадминистратор во всей сети имеет имя «admin» (или кто-то другой в сети имеет такое имя), то вы не сможете создать пользователя на новом сайте с именем «admin».
Когда вы добавляете новый сайт к сети, название сайта (URL) автоматически трансформируется в пользователя для данного сайта. Этот пользователь будет администратором по умолчанию. Если URL вашего сайта xyz.example.com, то в таком случае у вас будет пользователь с именем xyz, который будет администратором для данного сайта.
Как вы можете видеть ниже, я импортирую XML-файл из своей одиночной сборки. На том отдельном сайте у меня было два пользователя – один из них был назван как «admin», а второй – «singleuser».
Также вы увидите выпадающий список «or assign posts to an existing user …» (или привязать записи к уже существующему пользователю). Как и следует из названия данной опции, все записи пользователя с именем «admin» на отдельном сайте будут присвоены новому администратору сайта – в нашем случае пользователю xyz.
Естественно, вы можете создать другого пользователя сайта еще до импорта, после чего просто присвоить ему все записи. Также вы можете использовать почтовый адрес, уже связанный с пользователем в мультисайтовой сборке.
Шаг 15. Также вам могут понадобиться все файловые прикрепления. Выделим соответствующий пункт на экране и щелкнем по кнопке Submit.
Готово. Теперь у вас есть импортированный сайт, в котором записи пользователя admin с вашего одиночного сайта будут присвоены стандартному администратору для нового сайта (в нашем примере – пользователю xyz).
Помните, что надо обновить пароли и роли импортированных пользователей. Также в новом блоге, который вы установите, будет стандартная страница по умолчанию и первая демо-запись «Привет, мир». Вам понадобится удалить все это.
Экспорт сайта из мультисайтовой сборки и преобразование его в отдельный сайт
Перед тем, как начать данный процесс, установите одиночную версию WordPress на сервер.
Шаг 1. Переходим к консоли отдельного сайта (в мультисайтовой сборке), который вы хотите экспортировать. Идем в Tools > Export.
Экспортируем XML-файл для данного сайта и сохраняем его на компьютер.
Шаг 2. Выбираем, что именно мы хотим экспортировать, после чего щелкаем по кнопке Download Export File.
Шаг 3. В консоли одиночной версии WordPress (отдельной сборки) переходим в раздел Tools > Import.
Опция WordPress должна быть последней в списке. Если у вас нет до сих пор плагина для импорта, установите его.
Шаг 4. Выбираем сохраненный XML-файл и загружаем его.
Шаг 5. Вы можете определить, надо ли связывать записи с каким-либо пользователем или нет.
Если вам нужно подробное объяснение этого действия, прочтите первый шаг в разделе выше.
Когда вы будете готовы, щелкните по ссылке Submit.
Не забудьте обновить пароли и роли импортированных пользователей.
Также заметьте, что если у вас возникли проблемы с импортом файла, вы всегда можете удалить все импортированные компоненты и затем повторно импортировать файл.
Привязка записей к новому пользователю после импорта
Если вы хотите присвоить записи новому пользователю после импорта, следуйте инструкциям, представленным ниже.
Шаг 1. Переходим в раздел Posts > All Posts.
Щелкаем по имени автора, записи которого вы хотите присвоить другому пользователю.
В данном примере я хочу присвоить записи singleuser пользователю xyz.
Шаг 2. Вы увидите список всех записей, созданных данным автором. Вы можете либо выбрать все записи, щелкнув по ссылке Select All, либо вручную отметить конкретные записи.
Шаг 3. В выпадающем меню сверху выбираем Edit и щелкаем по кнопке Apply.
Шаг 4. Теперь под столбцом Рубрики вы должны увидеть выпадающий список, в котором можно выбирать автора.
Выберите автора, который вам подходит, после чего щелкните Update.
Готово. Автор записей будет изменен.
Итог
В принципе, мы добились того, чего хотели. Чтобы не запутаться с именами, просто заранее присвойте записи пользователям, уже существующим на сайте. Тогда все пройдет просто и быстро.
Если остались вопросы, пишите в комментариях!