Как переместить существующую папку wp-контента Wordpress вместе с базой данных на новый сервер и новое доменное имя?


Запуск WP 3.5.1 в стеке LEMP (в Linode)...

У меня есть папка wp-контента для сайта WP вместе с полной резервной копией базы данных. URL-адрес сайта был примерно таким:

Test.example.com

Я хочу, чтобы сайт работал на моем собственном сервере по адресу:

Test.mydomain.com

И как только сайт будет завершен и изменения DNS вступят в силу, я хочу, чтобы URL-адрес сайта был:

Myclientsdomain.com

Каков предпочтительный (и, надеюсь, наиболее простой способ) обработки перемещений сервера и изменений домена, подобных этому? Я ищу пошаговый ответ, который учитывает все ситуации, описанные выше, как для файлов, так и для базы данных.

Author: wgpubs, 2013-02-11

7 answers

Есть довольно хороший шаг за шагом по перемещению WordPress в Кодексе. Это то, чему я следую при смене доменов.

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

 7
Author: helgatheviking, 2013-02-20 01:26:57

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

Http://wordpress.org/extend/plugins/duplicator/

Плагин полностью поддерживается, и здесь доступны отличные часто задаваемые вопросы:

Http://lifeinthegrid.com/labs/duplicator/

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

, вероятно, мой любимый WP-плагин на сегодняшний день.

Если вам понадобится помощь по пути, просто дайте мне знать.

 4
Author: cunningfox, 2013-02-20 01:28:17

Вам нужно будет обдумать несколько вещей (позже ответ), я предлагаю следующие шаги:

Резервное копирование файлов и базы данных

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

Передача ваших файлов

Самый быстрый способ сделать это - иметь хостера, где вы можете импортировать каталоги с другого сервера. Это можно сделать, предоставив FTP-данные, а также определив каталог целей.

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

Более медленный вариант - создать ZIP-файл, загрузить, загрузить на ваш новый сервер и распаковать его. Если у вас нет возможности сделать это, выберите медленный путь - не загружайте все и не загружайте все. И сходи за кофе, пока передача файлов:)

Перенесите свою базу данных

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

Если вы можете это сделать, отлично, но вы также можете экспортировать/импортировать свою базу данных.

Установите новый (поддомен) в свой новый каталог

На вашем новом сервере убедитесь, что ваши файлы настроены так же, как и на старом, и укажите поддомен в том же каталоге, что и на старом сервере (обычно корневой каталог WordPress)

Отредактируйте wp-config.php

Сохраните новый wp-config.php. Вам просто нужно отредактировать сведения о подключении к базе данных.

Загрузите новый URL-адрес

WordPress уже должен быть настроен, но он все еще использует старые SiteURL и AdminURL, поэтому вы не сможете войти в систему. Измените эти значения в таблице options в вашей новой базе данных. Два значения, которые вы ищете, - это siteurl и home. Разместите свой новый домен там.

Проверьте свой логин и свой сайт

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

Если ваши сообщения содержат старый URL-адрес или если вы не уверены, проверьте свою базу данных в своей posts-таблице.

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

Проверьте другие таблицы

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

Восстановите ваши постоянные ссылки

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

Проверьте свой сайт

Пожалуйста, не забудьте ДЕЙСТВИТЕЛЬНО проверить свой сайт после того, как вы его перенесли. Проверьте все функции, особенно AJAX-материалы, формы контактов, карты и т.д., так как они с большей вероятностью выйдут из строя, чем обычный PHP/HTML.

Время для пива:)

На что стоит обратить внимание!!

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

  • Плохо закодированные плагины (Сохранение URL-адреса вашего сайта вместо относительного пути и использование функций WordPress для получения полного URL-адреса. Также может быть много проблем с вашим AjaxURL.)
  • Проблемы с кодировкой ( Будьте абсолютно уверены, что вы используете одну и ту же кодировку как на своих Серверах, так и в базах данных!!! Обычно, если вы используете рекомендуемый UTF-8, это должно быть нормально)
  • Сериализованные данные (Это самая большая проблема, с которой вы можете столкнуться. Если ты используйте плагин, такой как Tableppress, где вся таблица хранится в сериализованном массиве, она сломается, как только вы автоматически что-то замените. Если у вас есть такие данные, найдите функцию экспорта/импорта в этих конкретных плагинах и используйте это в качестве дополнительного шага. Если у них нет этой функции, вам придется делать это вручную)
  • Настройки сервера (Может легко случиться, что ваш сайт не будет работать на вашем новом сервере из-за стандартных настроек. Будьте уверены, что у вас достаточно ресурсов доступно!)
  • Жестко закодированные URL-адреса в вашей теме (хотя этого не должно происходить, это происходит слишком часто и нарушает ваши изображения и ссылки, как только старый сайт больше не доступен)
  • Проблемы с кэшированием (Не используйте те же файлы кэширования, что и на вашем старом сервере. Лучшим способом было бы отключить кэширование перед экспортом сайта, а также очистить все кэширования)
  • Предполагая, что все работает при повторном изменении настроек на вашем сервере (всегда проверяйте все еще раз)
  • Параметры в ваших плагинах и теме (Старые адреса электронной почты и т.д.)

Так и должно быть. Похоже, что предстоит много работы, но на самом деле большая ее часть выполняется автоматически. Вам просто нужно подумать обо всем, что МОЖЕТ пойти не так, и проверить, так ли это:)

Веселитесь!

 3
Author: fischi, 2020-06-15 08:21:38

Нет необходимости использовать какие-либо плагины, скрипты или даже знание sql. Для миграции достаточно простого блокнота. Вы должны загрузить все свои файлы wordpress на свой новый сервер и просто изменить wp-config.php (в вашей основной папке wordpress) 3 значения: определите ('ИМЯ_ДБ', 'имя_новой_дб_"); определите ('DB_USER', 'имя_вашего_пользователя'); определите ('DB_PASSWORD', 'ваш_дб_пассворд');

Далее, если вы используете какой-либо клиент mysql, например phpmyadmin, на своем текущем сервере, вы должны экспортировать базу данных в файл, затем откройте файл your_db_dump.sql в блокноте, затем найдите и замените все вхождения test.example.com с test.mydomain.com после этого вам необходимо импортировать этот db_dump в вашу новую базу данных (которую вы определили в wp-config.php). Это все.

 1
Author: bigwolk, 2013-02-22 21:33:03

Что я делаю, так это:

  1. Создайте новую базу данных на принимающем хосте. Импортируйте файл SQL. Выполните следующие SQL-запросы к новой базе данных:

    UPDATE wp_options SET option_value = replace(option_value, 'test.example.com', 'test.mydomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
    
    UPDATE wp_postmeta SET meta_value = replace(meta_value, 'test.example.com', 'test.mydomain.com') WHERE meta_key = '_menu_item_url';
    
    UPDATE wp_posts SET guid = replace(guid, 'test.example.com','test.mydomain.com');
    
    UPDATE wp_posts SET post_content = replace(post_content, 'test.example.com', 'test.mydomain.com');
    
  2. Загрузите файлы WordPress на принимающий сервер.

  3. Загрузите папку wp-content, перезаписав файлы WordPress по умолчанию.
  4. Настройте свой wp-config.php как обычно, используя имя базы данных, пользователя и пароль из созданной вами базы данных.
  5. Перейдите на панель мониторинга и вручную измените любые случаи test.example.com в виджетах (их нельзя изменить с помощью SQL-запроса , потому что они сериализованы в базе данных).
  6. Когда придет время переключиться на myclientsdomain.com, снова выполните описанные выше SQL-запросы и исправления виджетов.

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

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

define('WP_HOME','http://'. $_SERVER['SERVER_NAME']);
define('WP_SITEURL','http://'. $_SERVER['SERVER_NAME']);

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

Обновление: Я должен был предположил, что будет плагин для обработки части базы данных http://wordpress.org/extend/plugins/wp-migrate-db/

 0
Author: Michael Dozark, 2013-02-20 00:54:11

В предыдущем ответе было это, но вот шаг за шагом с некоторыми другими входными данными:

  • Не устанавливайте WP
  • Ftp весь исходный каталог WP в новый каталог (см. Ниже, если что-то отсутствует)
  • Импортируйте sql с помощью phpmyadmin на панели управления сервером.
  • Ftp-сервер searchreplacedb.php в каталог, в котором находится WP.
  • Выполнить searchreplacedb.php из вашего браузера (удалите после!!!)
  • Отдохните немного и выставьте счет своему клиенту $75!

    (searchreplacedb.php доступен БЕСПЛАТНО по адресу: interconnectit.com/products/search-and-replace-for-wordpress-databases ... у них тоже есть инструкции).

Если у вас есть только папка с содержимым WP, у вас другая проблема. Вы должны получить остальную часть установки WP ТОЧНО ТАКОЙ ЖЕ ВЕРСИИ. Поищите в базе данных, если вы не знаете, какая версия WP. Старые версии легко скачать онлайн. Разместите все это в нужном месте, как и раньше, используя ftp для настройки новых папок, если вы хотите, чтобы он просто появился, как выглядел раньше. Не заходите на сайт после загрузки материалов db и WP, если вы что-то упустили, или по умолчанию будет выбрана стандартная тема или отключены плагины. Я потерял настройки плагина, и мне пришлось делать все заново, так что просто подумайте и не торопитесь.

Если у вас уже есть подпапка или дополнение, или они понадобятся новому сайту, планируйте заранее. Не просто заменяйте URL-адрес, прежде чем принимать во внимание необходимую новую папку или отсутствие новой. Возможно, вам придется бежать searchreplacedb для "папки/URL", Прежде чем вернуться к "URL" и т. Д. В противном случае вы можете испортить "дополнение", изменив его на "корневой дисплей с установкой в подкаталог" или другую подобную ерунду!

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

Если у вас нет ftp доступ или доступ к панели управления или доступ к sql вам действительно нужен лучший сервер, и вам может не повезти.


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

Кроме того, никогда не редактируйте данные в блокноте, если вы не знаете, что там нет строк длиннее, чем он примет. Теперь есть приятная ошибка, на которую вы можете потратить недели ищу! Если вам нужно взглянуть на это, только посмотрите, не сохраняйте это. Вы должны забыть о существовании блокнота и использовать notepad++, но вручную редактировать сериализованные данные в текстовом редакторе так же плохо, как пытаться найти и заменить в phpmyadmin; не делайте этого.

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

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

 0
Author: Don, 2013-02-23 03:06:49

Таким образом я переместил несколько сайтов с одного сервера/домена на другой, и все, что вам обычно нужно, - это резервная копия и ваша папка wp-контента, которая, похоже, у вас есть. Вот метод, которому я следую:

  1. Установите Wordpress на новый сайт. Вы можете использовать для этого любой метод, который вам нравится, некоторые хосты предлагают установку в один клик, в противном случае просто продолжайте и делайте это в соответствии с вашим предпочтительным методом.
  2. Замените папку wp-content имеющейся у вас копией. Это гарантирует, что все ваши плагины, загруженные файлы и т. Д. Относятся к вашему старому серверу.
  3. Перезапишите базу данных имеющейся у вас копией. Обычно я делаю это с помощью phpMyAdmin с функцией импорта. Здесь следует обратить внимание на то, что если ваша резервная копия не содержит инструкций DROP, вам сначала нужно удалить все таблицы в базе данных.
  4. Если вы меняете доменное имя, вам нужно просмотреть таблицу wp_options в phpMyAdmin и обновить параметр "site_url". Есть еще один вариант под названием "дом", который вы можно обновить, но вам не нужно этого делать, так как это можно изменить в администраторе WordPress, как только ваш сайт заработает.

Готово!

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

 0
Author: Owen Cutajar, 2013-02-26 14:45:25