Как из сети WordPress Multisite перенести сайт в одиночную инсталляцию

In Блог by Денис Болвинов

Процесс это в целом не сложный, но содержит в себе огромный потенциал разнообразных глюков и нестыковок, так как крайне зависим от работы всех тем и плагинов, которые вы переносите.

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

Итак, давайте разберёмся, какие стандартные шаги вам надо будет сделать, чтобы вынести сайт из сети в индивидуальную инсталляцию.

Этап 1. Вытаскиваем сайт из сети

  1. Деактивируем на переносимом сайте все плагины
  2. Надо определить ID переносимого сайта в рамках сети. Для этого зайдите в раздел Мои сайты — Управление сетью — Сайты, наведите мышь на сайт, который собрались переносить и посмотрите на ссылку, которая высвечивается в браузере. В этой ссылке будет ID вашего сайта.
  3. Откройте FTP-клиент или Менеджер файлов в панели хостинга и скачайте оттуда папку с медиафайлами сайта. Она находится в папке wp-content/uploads/sites/(ID вашего сайт)
  4. Там же, в wp-content/ находятся папки /themes и /plugins, из которых нам надо скачать темы и плагины, используемые на переносимом сайте.
  5. Зайдите в PhpMyAdmin, найдите в базе сети таблицы вашего сайта. Они будут иметь вид wp_(ID сайта)_ . Выделите все таблицы и выберите пункт «Экспорт» — «в SQL». Вы получите sql-файл с таблицами, который мы будем править в NotePad++ или другом удобном вам редакторе текстовых файлов.
  6. Делаем копию скачанного sql-файла (это всегда пригодится!). Открываем его в NotePad++ , нажимаем Ctrl + F , чтобы «Найти и Заменить» все интересующие нас значения. А интересуют нас старый-домен.ру , менять его мы будем на новый-домен.ру (будьте внимательных, не поставьте лишних «/» слэшей), префикс таблиц wp_(ID сайта в сети)_ на wp_  , а также /wp-content/uploads/sites/(ID сайта в сети) на /wp-content/uploads/
  7. Если на вашем сайте зарегистрировано много пользователей, то найдите любой бесплатный плагин экспорта — импорта пользователей в репозитории WordPress и экспортируйте пользователей сайта в файл. Если же у вас 1 — 3 пользователя, скорее всего, будет проще создать их вручную, чем заморачиваться с экспортом — импортом.

Ура! Первый этап завершен! Переходим ко второму этапу!

Этап 2. Новая инсталляция WordPress

  1. Устанавливаем на ваш хостинг свежий WordPress. На всякий случай зайдем в него и проверим, всё ли работает!
  2. Теперь загрузим через FTP-клиент или Менеджер сайтов панели управления хостингом скачанные нами папки wp-content/themes , wp-content/plugins в соответствующие папки свежей инсталляции.
  3. Медиафайлы мы загружаем в прямо в wp-content/uploads
  4. Теперь идём в PhpMyAdmin, открываем там базу данных вашего свежего сайта и готовим её к импорту, для этого удаляем следующие таблицы:
    • wp_commentmeta
    • wp_comments
    • wp_links
    • wp_options
    • wp_postmeta
    • wp_posts
    • wp_terms
    • wp_termmeta
    • wp_term_relationships
    • wp_term_taxonomy
  5. Импортируем подготовленный на первом этапе sql-файл в нашу базу данных.

Этап 3. Проверка, перенос пользователей и доработка

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

  1. Заходим в админку сайта, и если на этапах 1 и 2 всё сделано правильно, вы увидите именно ту админку, которую ожидаете. «Фронт энд» пока не смотрите. Зайдите в Настройки — Постоянные ссылки и нажмите «Обновить».
  2. Активируйте все нужные плагины. Переключите и вновь активировать тему. Эти простые шаги позволяют избежать достаточно большого количества глюков.
  3. Активируем плагин экспорта-импорта пользователей из этапа 1 и импортируем пользователей из файла.

Всё! Все остальные проблемы, которые могут проявиться при переносе сайта, скорее всего, будут связаны с конкретными темами и плагинами. Иногда есть смысл заглянуть и в файл .htaccess , чтобы скопировать настройки оттуда. Но помните, что они различаются у мультисайтового и односайтового WordPress.

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

Желаю удачи, а также легких и непринуждённых переносов сайтов WordPress!