Создано 20.10.2018, обновлено 25.10.2021.
Иногда, когда требуется внести изменения на свой блог WordPress, лучше всего создать тестовый веб-сайт, на котором можно предварительно проверить все изменения. И только убедившись, что все работает, перенести эти изменения на “живой” сайт. Недавно создавал тестовую копию своего блога для того, чтобы поменять тему – хочу поделиться опытом.

Тестовую копию сайта лучше всего создавать на поддомене, а не на своем компьютере, установив LAMP (Linux Apache MySQL PHP), потому что если вы создадите тестовую копию на своем ПК, то нет гарантии, что когда вы перенесете сайт на свой хостинг, все будет работать. Потому что у вас на компьютере одни настройки веб-сервера Apache, MySQL и PHP, а на хостинге они будут совершенно другими. Тестировать сайт на другом хостинге тоже плохая идея. Так что лучше всего тестировать изменения на том хостинге, где расположен ваш сайт.

Создание тестовой копии своего сайта на поддомене – это то же самое, что и перенос своего сайта на новый хостинг со сменой доменного имени. Есть разные способы сделать это. Предварительно создайте поддомен на основном домене (как это сделать – посоветуйтесь со своим хостинг-провайдером). Кстати, очень важно, чтобы у вас был хороший хостинг, поэтому проверьте насколько надежен ваш хостер в моем рейтинге лучших хостинг-провайдеров.

Способ первый. При помощи плагина WordPress

По идее самый простой способ – это перенос сайта при помощи плагина. Я изучил все плагины Вордпресс для создания среды разработки и тестирования, которые только нашел. Вот они:

Таблица «Топ-7 плагинов WordPress для создания тестового сайта (WP staging plugins)»

Название плагина Бесплатная версия Цена в год Установки Рейтинг Особенности и комментарии
WP Staging+ $104 60 000 4.9 В бесплатной версии копия сайта создается в отдельной папке и в той же самой БД. Нельзя копировать на другой домен. Также нельзя переносить изменения с тестовой копии на основную копию сайта. В платной версии можно создавать тестовый сайт в отдельной БД и на другом домене.
All-in-One WP Migration+ - 4 000 000 4.6 Плагин не позволяет создавать тестовый сайт, а просто создает копию сайта в любое другое место. Бесплатная версия позволяет копировать сайты до 512 Мб. Если надо больше, то надо единоразово заплатить $99.
BlogVaultНет $88,8 90 000 4.2 Можно попробовать 7 дней бесплатно. Вроде есть все, что надо. Создает копию сайта на своих серверах с отдельной БД.
WPStageCoach.com Нет $99 - - На сайте wordpress.org плагина нет. Невозможно увидеть скачивания и отзывы. Возникает вопрос - почему? Не рассматривал по этой причине.
WP Time CapsuleНет $49 20 000 4.2 Можно бесплатно попробовать плагин в течение 30 дней. В платную версию вкл. 2 сайта (другие плагины - 1 сайт). Можно купить плагин один раз и пожизненно за $149. Создает тестовый сайт в той же БД (мне это не нравится).
Duplicator+ $69 1 000 000 4.9 Позволяет бесплатно копировать сайт в новое расположение. Бесплатная версия в целом включает все, что нужно. Мне этот плагин не нравится - сложен в управлении.
BackUp Buddy (ithemes.com) Нет $80 - - Это плагин для создания бэкапов, но там также есть функция создания тестового сайта. На сайте wordpress.org плагина нет. Но это вроде известная компания.

Я сам протестировал эти плагины:

  • WP Staging;
  • All-in-One WP Migration.

Это хорошие плагины – тысячи установок, отличные отзывы.

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

Также я тестировал плагин Duplicator и подробно писал о том как пользоваться им в этой статье. Но этот плагин просто позволяет создать копию сайта. Это не тестовая копию с возможностью переноса изменений.

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

Способ второй. Как создать тестовую копию WordPress-сайта вручную

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

Шаг первый. Копируем БД и файлы

Ну сначала нужно, как при обычной смене хостинга, создать новую базу данных, скопировать файлы и базу данных, а затем поменять доступы к базе данных в файле wp-config.php. После этого можно проверять, доступен ли сайт на новом поддомене.

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

Шаг второй. Реанимируем админку

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

Если вы не можете войти в админку, то поменяйте тогда урлы в файле wp-config.php, добавив в него следующий код:

define( 'WP_HOME', 'http://example.com' );
define( 'WP_SITEURL', 'http://example.com' );

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

Того же самого эффекта можно добиться поменяв адрес вашего WP-сайта напрямую в базе данных через PHPMyAdmin. Там надо найти таблицу wp_options и изменить там старый URL на новый в полях “siteurl” и “home”.

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

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

Шаг третий. Меняем URL в базе данных, в статьях, файлах и картинках

Сделать это лучше всего при помощи одного из плагинов:

Мне больше нравится плагин Better Search Replace, так как с плагином Velvet Blues у меня один раз были проблемы, но он тоже хороший.

Впишите в настройках Better Search Replace старый и новый урлы:

И нажмите кнопку “Запустить Поиск/Замену”.

Кстати, есть еще одно решение, как создать копию базы данных и при этом уже при создании дампа (так называется копия базы данных) поменять в БД все урлы на новые. Это можно сделать при помощи плагина WP Migrate DB. Просто установите его на старом сайте, задайте в настройках старый и новый урлы, и он создаст копию БД с обновленными урлами.

Все, после этого ваш сайт уже должен заработать “как новенький”! Если же не заработал, то у вас какие-то нестандартные проблемы! И тогда вам нужно либо нанять веб-мастера – пусть разбирается – или же гуглить часами и пробовать разные решения.

И еще. Удалите с тестовой копии сайта счетчики Яндекс Метрика и Гугл Аналитикс, настроенные для вашего основного домена.

На сайте wordpress.org есть отличная статья про перенос Вордпресс на английском языке (на русском она недоработана!). Если знаете английский, то она очень поможет…

На этом все – тестовая копия вашего основного WordPress-сайта готова, можете вносить правки…

2 КОММЕНТАРИИ

  1. А как насчет Duplicator? Я только им пользуюсь последний год, но на поддомены не переносил.

Вопросы? Мысли? Не стесняйтесь, делитесь)!