Перенос WordPress в multisite - мудрёный, но исчерпывающий способ

HTML&CSSWordPress

Перенос WordPress в multisite — задача не частая, но в целом важная и необходимая, в случае, если вы предоставляете пользователям вести свои сайты на вашей площадке.

Перенос WordPress в multisite — вот о чем пойдет речь в данной статье.

В последней статье я продемонстрировала лёгкий способ переноса сайта на WordPress в Мультисайт с помощью плагинов. Для большинства сайтов этот способ работает просто отлично. Но что если настройки вашего сайта немного сложнее?

Если вы переносите сайт с помощью плагинов, вам нужно будет перевести две вещи: ваш контент (публикации, страницы, пользовательские типы записей, меню — весь ваш контент) и виджеты. Но что он (плагин — прим. переводчика) не позволяет переместить, так это настройки вашего сайта. Если у вас установлены какие-либо объёмные плагины (например, плагин e-commerce) или вы внесли много изменений в настройки вашего сайта, то вам придётся идти в панель администратора вашего нового сайта и устанавливать их вручную, копируя то, что было сделано на вашем старом сайте.

Это может стать настоящей пыткой. Это занимает много времени и не совсем надёжно. Что если вы пропустите что-то важное? Если у вашего сайта много настроек, сложно быть уверенным в том, что вы перенесли всё.

Так что в этой статье я собираюсь рассказать вам о более исчерпывающем и надёжном способе переноса сайта в Мультисайт.

Перенос WordPress в multisite вручную — общие сведения

Этот способ включает в себя 6 шагов, многие из которых такие же как при использовании плагинов:

  1. Создайте новый (пустой) сайт в вашем Мультисайте.
  2. Создайте копию таблицы базы данных wp_options вашего старого сайта и отредактируйте её.
  3. Создайте копию тем и плагинов вашего старого сайта и загрузите их в директорию wp_content вашего Мультисайта.
  4. Запустите экспортирование и импортирование вашего контента и пользователей.
  5. Импортируйте таблицу базы данных, которую вы редактировали, в ваш новый сайт.
  6. Запустить экспортирование настроек виджетов вашего старого сайта и импортируйте их в ваш новый сайт.

Шагов достаточно много и это не то, что вы можете с легкостью взять на себя. Этот способ подразумевает, что вы комфортно чувствуете себя загружая файлы и таблицы базы данных вручную.

Примечание: Если вы привыкли вручную переносить сайты из одного места в другое, то может показаться, что это очень долгий процесс. Это всё из-за того как Мультисайт хранит пользовательские данные. Когда речь идёт об одном сайте, мы можем просто скопировать весь контент и таблицы базы данных из одного сайта и импортировать их в другой сайт. Но в Мультисайте все пользователи хранятся для всей сети, а не отдельно для каждого сайта. Это значит, что если вы хотите импортировать ваших пользователей из вашего старого сайта в новый и назначить (присвоить) им корректный контент, вам понадобится использовать инструмент импортирования.

Что вам понадобится

Чтобы воспользоваться этим способом, вам понадобятся следующие инструменты:

  • FTP-клиент, например FileZilla или редактор кода со встроенным FTP, например Coda
  • Доступ к БД вашего сайта через phpMyAdmin, инструмент, доступ к которому даёт ваш хостинг-провайдер
filezilla

FileZilla отличный и бесплатный FTP-клиент

Итак, начнём!

Прежде чем начать — резервное копирование

Прежде чем вы что-либо сделаете, создайте бэкап вашего Мультисайта. Не игнорируйте этот шаг — если что-нибудь пойдёт не так, то вам нужен будет бэкап для восстановления. Я рекомендую использовать для этого наш плагин Snapshot Pro.

Создание нового сайта в вашей сети

Создайте новый сайт в вашем Мультисайте обычным способом. Как только сделаете это, запишите его ID: Мультисайт даёт каждому сайту в сети уникальный числовой ID. Чтобы его найти нужно зайти в пункт Сайты (Sites) на вашей админ панели, найти новый сайт и нажать Редактировать (Edit).

После этого откроется окно редактирования вашего нового сайта:

edit-site

Проверьте URL для этого окна в вашем браузере. ID сайта — это последние две цифры в конце URL. Запишите.

Копирование ваших тем и плагинов

Первый шаг — это создание копии тем и плагинов вашего старого сайта,  так же как и таблицы wp_options из БД. Начнем с тем, плагинов и загрузок.

Вот мой начальный сайт:

starting-site

Скачивание тем и плагинов

Откройте FTP-клиент или редактор кода и перейдите в директорию wp-content перемещаемого сайта (который я буду называть вашим старым сайтом). Скачайте копии этих папок:

  • themes
  • plugins

Сохраните их на ваш локальный компьютер туда, где вы с легкостью их найдёте — я всегда создаю специально предназначенную для этого папку.

Загрузка тем и плагинов в Мультисайт

Теперь нужно загрузить скопированные из старого сайта темы и плагины в ваш Мультисайт.

Найдите директорию wp-content в вашем Мультисайте и откройте каждую из папок themes и plugins по очереди.

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

Примечание: Если вам не хочется делать это вручную, вы можете просто установить соответствующие темы и плагины на ваш Мультисайт. Я предпочитаю делать это вручную, так получается быстрее. Если вы пойдёте этим путём, то вам не придётся активировать темы и плагины — это произойдёт автоматически, как только вы импортируете таблицу БД.

Копирование и редактирование таблицы wp_options

Я предпочитаю экспортировать таблицу БД посредством phpMyAdmin. Вам в любом случае придётся использовать phpMyAdmin для импортирования таблицы БД в новый сайт, так что можете начать прямо сейчас.

Экспортирование Таблицы

В админ панели вашего хостинг-провайдера перейдите в phpMyAdmin и найдите БД, которая запускает ваш старый сайт.

Примечание: если у вас больше одной БД, то для того, чтобы выяснить какая именно относится к перемещаемому сайту, нужно посмотреть файл wp-config.php этого сайта.

Найдите таблицу wp_options и выберите её:

export-wp-options

Теперь прокрутите вниз и найдите выпадающий список С отмеченными: (With selected:). Выберите Экспорт (Export). Для подтверждения нажмите кнопку Вперёд (Go).

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

Редактирование файла SQL

Откройте скачанный файл SQL. Используя редактор, выберите опцию Find & Replace — Найти и Заменить (во многих редакторах это Ctrl-F или Cmd-F).

В поле Find (Найти) введите wp_, а в поле Replace (Заменить) введите wp_XX_, где XX — это две цифры ID вашего нового сайта в Мультисайте (в моём случае получается wp_71_, у меня очень много сайтов в Мультисайте!)

Нажмите кнопку All (Всё), если в вашем редакторе такая имеется, или же Replace all (Заменить всё). Подождите пока программа закончит.

Теперь повторите этот шаг с URL вашего сайта. В поле Find (Найти) введите URL вашего старого сайта, а в поле Replace (Заменить) — URL вашего нового сайта. Убедитесь, что все слэшы на месте. Я предпочитаю опускать все http:// или www и просто использовать корневой URL, например rachelmccollin.com.

Примечание: Если вы будете делать переадресацию вашего старого доменного имени на ваш новый сайт используя привязку домена — не беспокойтесь. Вы установите привязку домена как только переместите свой сайт. Пока что используйте URL, сгенерированный вашим Мультисайтом.

Сохраните файл и закройте его.

Экспортирование и импортирование контента

Следующий шаг — воспользоваться инструментом импортирования WordPress, чтобы экспортировать контент с вашего старого сайта и импортировать его в новый.

Экспортирование контента из старого сайта

В админ панели вашего старого сайта перейдите в Инструменты (Tools) > Экспорт (Export):

export-screen

Если вам не надо экспортировать какие-то определённые типы записей, оставьте отмеченной опцию Весь контент (All content) и нажмите Скачать файл экспорта (Download Export File). WordPress создаст XML файл и загрузит его на ваш компьютер. Сохраните его в папку с вашими рабочими файлами.

Импортирование контента в новый сайт

Прежде чем импортировать контент с вашего старого сайта, удалите весь макетный контент, который был создан, когда вы создали сайт.

Прежде чем вы сможете импортировать контент со старого сайта, вам нужно будет установить плагин WordPress Importer. Перейдите на экран Плагины (Plugins) в админке Мультисайта и установите его (вам нужно будет искать WordPress Importer через поиск).

Теперь в админ панели вашего нового сайта перейдите в Инструменты (Tools) > Импорт (Import) и прокрутите вниз до WordPress внизу списка. Нажмите на Запустить импортёр (Run Importer).

WordPress попросит выбрать загрузочный файл:

import-file

Нажмите на кнопку Выбрать файл (Choose File) и выберите файл с вашего компьютера (он будет в вашей папке с загрузками, если только вы его никуда не переместили). Помните, что вы ищите XML-файл. Как только вы это сделаете, нажмите кнопку Загрузить файл и импортировать (Upload file and import).

Далее вам необходимо привязать контент к существующим авторам в вашем Мультисайте или импортировать авторов. Выберите подходящий вам вариант. Я привязываю свои записи к своему существующему имени пользователя, но вам, возможно, нужно импортировать авторов.

Наконец, выберите опцию Загрузить и импортировать вложенные файлы (Download and import file attachments), чтобы скопировать медиафайлы с вашего старого сайта и вставить их в соответствующие места в новом.

Нажмите Подтвердить (Submit) и импортёр импортирует контент, после чего вы увидите сообщение Готово! (All done!).

Примечание: этот плагин импортирует только тех пользователей, у которых есть привязанный к ним контент. Если на вашем сайте есть другие пользователи, например подписчики, вам придётся импортировать их отдельно. Для этого вы можете воспользоваться плагином Cimy User Manager.

Импортирование таблицы в БД вашего Мультисайта

Теперь вам нужно импортировать таблицу wp_options в БД вашего Мультисайта. Важно сделать это после загрузки тем и плагинов, так как многие из параметров будут связаны с темами и плагинами.

Откройте phpMyAdmin вашего Мультисайта. Найдите таблицу wp_options вашего нового сайта (в моём случае это wp_71_optionsи выберите её:

drop-table

Прокрутите вниз и выберите Очистить (Drop) в выпадающем списке С отмеченными: (With selected). Для подтверждения нажмите кнопку Да (Yes).

Теперь нажмите на вкладку Импорт (Import) наверху панели phpMyAdmin, чтобы увидеть настройки импорта:

import-table

Нажмите кнопку Выбрать файл (Choose file) и выберите SQL-файл, который вы редактировали. Затем нажмите на кнопку Вперёд (Go).

Начнётся импортирование, а по окончании вы увидите сообщение о том, что всё прошло успешно:

import-successful

Импортирование настроек виджетов

Последнее, что осталось импортировать с вашего старого сайта, это настройки виджетов.

Экспортирование виджетов со старого сайта

Перейдите в админ панель вашего старого сайта, установите и активируйте плагин настроек виджетов. Перейдите в Инструменты (Tools) > Экспорт настроек виджетов (Widget Settings Export), чтобы увидеть настройки экспорта:

widget-export

В случае, если вам не нужна лишь парочка виджетов с вашего старого сайта (а не все), нажмите Выбрать все активные виджеты (Select All Active Widgets). Чтобы скачать файл экспорта, нажмите кнопку Экспорт настроек виджетов (Export Widget Settings). Файл будет называться widget_data.json.

Импортирование виджетов на ваш новый сайт

Теперь перейдите в админ панель вашего нового сайта, а там — в Инструменты (Tools) > Импорт настроек виджетов (Widget Settings Import).

Нажмите кнопку Выбрать файл (Select a file) и найдите ранее скачанный файл. Обратите внимание, что в этот раз вы ищете json-файл, а не XML-файл. Затем нажмите Показать настройки виджетов (Show widget settings), чтобы увидеть имеющиеся в файле виджеты:

widget-import

Выберите виджеты, которые вам нужно импортировать, или просто нажмите на кнопку Выбрать все активные виджеты (Select All Active Widgets), и убедитесь, что у вас стоит галочка напротив опции Удалить текущие виджеты перед импортом (Clear Current Widgets Before Import). Затем нажмите кнопку Импорт настроек виджетов (Import Widget Settings).

Вот и всё! Ваши контент, авторы и виджеты — всё импортировано, так же, как и ваши настройки.

Перемещение вашего сайта таким способом будет дольше, но тщательнее

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

final-site

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

Добавить комментарий

Один коменнтарий на “Перенос WordPress в multisite — мудрёный, но исчерпывающий способ

  1. Здравствуйте.
    Читаю Вашу статью https://oiplug.com/blog/wordpress/3094 по созданию копии сайта (основного) на под домен, и не могу понять где расположена директива под домена. Остановился на шаге
    Загрузка тем и плагинов в Мультисайт
    Теперь нужно загрузить скопированные из старого сайта темы и плагины в ваш Мультисайт.
    Найдите директорию wp-content в вашем Мультисайте и откройте каждую из папок themes и plugins по очереди.

    Бду Вам признателен если Вы подскажите куда заливать темы и плагины

Вступайте в нашу группу в VK

Через группу удобно следить за обновлениями сайта, а так же получать дополнительный интересный материал, который публикуется только в группе.

ИП Исаенко А.В.

ОГРНИП 317774600344403

ИНН 773770600180