Статьи

Перемещение WordPress: перемещение сайта из мультисайтовой сети

Иногда сайт был создан в многосайтовой сети WordPress, но его необходимо перенести на отдельную установку сайта. Есть несколько сценариев, где это может произойти, в том числе:

  • Сайт стал слишком большим, чтобы содержаться в сети.
  • Сайту нужен собственный IP-адрес.
  • Владелец сайта перемещает поставщиков или берет на себя полное управление сайтом самостоятельно.

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

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

  • Установка WordPress Multisite с дочерним сайтом, который вы хотите перенести в свою собственную установку WordPress.
  • Второе место, куда вы хотите переместить свой сайт.
  • Для ручного перемещения вам понадобится FTP-клиент, редактор кода и доступ к phpMyAdmin.

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

Если на вашем сайте не настроено много настроек с помощью плагинов, тем или экранов настроек сайта, вы можете успешно переместить его с помощью плагина WordPress Importer . Если на сайте есть виджеты, вы можете скопировать их настройки через плагин Wijget Settings Importer / Exporter .

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

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

Сайт, из которого вы выходите из Multisite, будет иметь три компонента, которые вам нужно скопировать из сети Multisite:

  • файлы тем и плагинов — вы можете скопировать их или переустановить на новом сайте
  • выгрузки — вы найдете их в подкаталоге сайта в wp‑content/uploads/sites
  • таблицы базы данных — вам нужны не все таблицы базы данных, а только те, которые относятся к этому сайту

Примечание. Если ваша многосайтовая сеть была создана до WordPress 3.5, у вас не будет папки sites . Вместо этого у вас будет папка blogs.dir в wp-content со всеми файлами загрузки для дочерних сайтов. Это будет нумерованная папка для сайта, который вы переносите, который вы вместо этого копируете . Я расскажу об этом более подробно ниже.

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

Но если это не единственная причина, тогда читайте дальше!

Прежде чем делать что-либо подобное, рекомендуется создать резервную копию установки Multisite. Используйте предпочитаемый плагин для резервного копирования или комбинацию FTP и phpMyAdmin, если вы предпочитаете работать вручную.

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

Каждый сайт в мультисайтовой сети имеет свой уникальный числовой идентификатор. Это используется для идентификации его папки в каталоге wp-content/uploads/sites (или wp-content/blogs.dir если ваша многосайтовая сеть старше — см. Выше), а также для идентификации таблиц базы данных для этого сайта.

Чтобы найти это, зайдите в Network Admin> Sites и затем выберите опцию Edit для сайта, с которым вы работаете. URL-адрес, по которому вы попадете на WordPress, даст вам идентификатор сайта. URL-адрес должен быть в форме http://mynetwork.com/wp-admin/network/site-info.php?id=XX .

XX — это идентификатор вашего сайта, имя папки, содержащей его файлы, а также префикс для имен таблиц базы данных.

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

В PhpMyAdmin перейдите на вкладку « Экспорт ». Затем найдите таблицы, относящиеся к экспортируемому сайту. Они начнутся с wp_XX_ , где XX — это идентификатор вашего сайта. Пример показан ниже.

Таблицы базы данных выбраны готовыми к экспорту

Выберите все таблицы, относящиеся к вашему дочернему сайту, а затем экспортируйте их.

Примечание: WordPress Multisite хранит все данные, относящиеся к пользователям сети, в таблицах wp_users и wp_usermeta : он не создает отдельных для каждого сайта. Если на вашем сайте много пользователей, которых вы хотите скопировать из сети, вы можете также экспортировать эти таблицы, импортировать их на новый сайт и отредактировать пользователей на экранах администратора, чтобы удалить те, которые не являются отношение к новому сайту. Однако, если на вашем сайте только один или два пользователя, их проще создать на новом сайте. Для получения дополнительной информации о многосайтовых таблицах и таблицах базы данных см. Этот учебник по базам данных WordPress и многосайтовым ресурсам .

Сделайте копию файла sql который был загружен на ваш компьютер, и дайте ему имя, которое сообщит вам, что это такое (например, добавив copy к его имени). Откройте его в редакторе кода.

Измените все экземпляры домена сайта в сети Multisite на новый домен одного сайта. Например, если ваш сайт был по адресу http://network.com/mysite , измените его на http://mysite.com . Если ваша сеть использует субдомены, вам нужно изменить все экземпляры http://mysite.network.com . Если вы сделаете это, я бы посоветовал также запустить проверку версии подкаталога на всякий случай. Сохраните ваш файл.

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

Таблицы базы данных в вашей новой установке с одним сайтом не будут иметь префиксов для идентификатора сайта, поэтому вам придется их удалить. В вашем файле sql замените все экземпляры wp_XX_ на wp_ , где XX — идентификатор вашего сайта.

Теперь сохраните файл sql .

В phpMyAdmin создайте новую базу данных в месте для вашего нового сайта и установите WordPress обычным способом.

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

Сделайте то же самое для любых тем, которые использует ваш сайт — скопируйте их из резервной копии в каталог wp-content/themes новой автономной установки WordPress или просто переустановите.

Скопируйте загрузки со старого сайта на новый:

  • Если сеть была создана после WordPress 3.5, у нее будет папка sites в wp-content/uploads . Найдите подпапку с идентификатором вашего сайта и загрузите ее содержимое в папку wp-content/uploads на вашем новом сайте.
  • Если сеть старая и в ней есть папка blogs.dir , в ней также будет папка с идентификатором вашего сайта. Это будет иметь подпапку с именем files . Скопируйте содержимое папки с files папку wp-content/uploads на новом сайте.

Примечание: вам может понадобиться удалить любые папки, созданные WordPress в вашей новой папке uploads чтобы избежать любых конфликтов.

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

Теперь, когда вы установили свои темы и плагины, вам нужно импортировать таблицы базы данных.

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

В phpMyAdmin удалите следующие таблицы из вашей базы данных:

  • wp_commentmeta
  • wp_comments
  • wp_links
  • wp_options
  • wp_postmeta
  • wp_posts
  • wp_terms
  • wp_term_relationships
  • wp_term_taxonomy

На скриншоте показана моя база данных с выбранными таблицами:

таблицы базы данных выбраны готовыми к удалению

Выберите их, щелкните раскрывающийся список « С выбранными:» и выберите « Удалить» . При появлении запроса нажмите « Перейти» .

Примечание. Не удаляйте таблицы wp_usermeta или wp_users , если только вы не решили скопировать их также из сети (см. Выше).

Затем загрузите базу данных, которую вы редактировали:

  • Перейдите на вкладку « Импорт ».
  • Нажмите кнопку « Выбрать файл» .
  • Выберите файл SQL, который вы редактировали, и нажмите « Выбрать» или « ОК» .
  • Нажмите кнопку « Перейти» .
  • Через некоторое время (в зависимости от размера вашей базы данных) вы увидите сообщение о том, что загрузка успешно завершена.

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

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

Посетите экран Постоянные ссылки и снова включите симпатичные постоянные ссылки.

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

Как только вы полностью убедитесь, что все работает как надо, удалите сайт из установки Multisite. Я бы порекомендовал оставить это примерно на неделю, если вы заметите что-то, что не переместилось. Тем временем вы можете настроить домен старого сайта для сопоставления с новым, используя плагин или в CPanel.

Уф! Это был долгий и немного сложный процесс, но вы сделали это.

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