Иногда сайт был создан в многосайтовой сети 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
.
Установка WordPress и создание базы данных в новом месте
В 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 в собственную установку — это не то, что вы можете сделать быстро или без особой тщательности, но это возможно, и я делал это несколько раз. Если вы выполните описанные выше шаги и убедитесь, что у вас есть резервные копии в случае каких-либо проблем, то вы должны убедиться, что они работают без проблем.