Как перенести WordPress на другой домен или хостинг

Как перенести WordPress на другой домен или хостинг

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

Содержание

  1. Подготовка к переносу
  2. Перенос сайта на Вордпресс вручную
  3. Перенос сайта на Вордпресс с помощью встроенных инструментов
  4. Перенос с помощью плагина
  5. Перенос с помощью Notepad++
  6. Выводы

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

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

Рассмотрим сложную ситуацию, когда сайт на Вордпресс нужно перенести на другой домен в рамках того же хостинга или другого.

Подготовка к переносу

1. Делаем бекап всего

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

Сначала деактивируем плагины кэширования, если они есть, и удаляем кэш.

Скачиваем бекап к себе на локальную машину или в облако. Можно сразу из бекапа достать содержимое нашего сайта и сохранить в отдельную папку. Папка с директорией сайта обычно называется public_html, docs, web или аналогично, в зависимости от того, насколько богата фантазия вашего хостера.

2. Скачиваем дамп базы данных Вордпресс

Заходим в панель управления базами данных PhpMyAdmin. Обычно в панели управления хостингом есть ссылка на PhpMyAdmin. Может называться “Управление базами данных” или “Базы данных”. Например на моем сервере сначала нужно зайти в “Управление базами данных”, а оттуда будет ссылка на PhpMyAdmin.

В PhpMyAdmin находим раздел “Экспорт” и экспортируем дамп базы к себе на локальную машину.

Скачиваем дамп базы данных Вордпресс

Открываем на просмотр наш файл конфигурации Вордпресс wp-config.php и извлекаем оттуда имя пользователя БД и пароль. Записываем их, они понадобятся еще, и с этими данными заходим в PhpMyAdmin.

Отлично! У нас есть все для начала переноса.

Перенос сайта на Вордпресс вручную

На новом сервере создаем новую пустую базу данных MySQL в кодировке UTF8

Точно так же как и на старом сервере создаем новую базу из панели управления хостинга или через PhpMyAdmin. Базу называем любым именем, но если удастся назвать новую базу тем же именем, что и на старом сервере (врядли), то следующий этап можно пропустить. Если у нас другое название БД делаем следующее:

Открываем файл дампа с расширением .sql программой Notepad++ или другим продвинутым текстовым редактором.

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

В самом начале файла вы увидите такие строки:

CREATE DATABASE IF NOT EXISTS `_старое_имя_базы_` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

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

CREATE DATABASE IF NOT EXISTS `_новое_имя_базы_` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;USE `_новое_имя_базы_`;
USE `_старое_имя_базы_`;

И сохраняем файл дампа в кодировке UTF8 без BOM. Это важно, чтобы не испортить базу.

сохраняем файл дампа в кодировке UTF8 без BOM

Импортируем дамп в новую базу

Заходим в PhpMyAdmin на новом сервере в раздел “Импорт” и импортируем наш отредактированный дамп. Импорт должен пройти без ошибок.

Импортируем дамп в новую базу

Чаще всего проблемы на этом этапе возникают из-за несоответствия названий БД или неверной кодировки.

Меняем название сайта в полях site_url и home_url

В панели PhpMyAdmin заходим в раздел “SQL” и вставляем туда следующую строку:

UPDATE wp_options SET option_value = REPLACE(option_value,'https://oldsite.com', 'https://newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';

Где newsite.com – новое имя сайта, а oldsite.com старое имя.

Меняем название сайта в полях site_url и home_url

Жмем “Вперед”. Перезапись выполнена!

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

Заливаем статические файлы через фтп из директории public_html нашего бекапа из п.1.

Открываем наш файл конфигурации Вордпресс wp-config.php и пишем там новые данные в секциях

/** Имя базы данных для WordPress */
/** Имя пользователя MySQL */
/** Пароль к базе данных MySQL */

Если вы устанавливали Ворпресс, знаете как это сделать.

Заходим в админку Вордпресс newsite.com/wp-login.php

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

В админке Вордпресс заходим в раздел “Плагины” -> “Добавить новый” и устанавливаем плагин Better Search Replace

Активируем его и переходим в раздел “Инструменты” -> Better Search Replace.

Better Search Replace

В поля для замены вводим oldsite.com и newsite.com, выделяем все таблицы и жмем “Запустить поиск и замену”.

Этим действием мы перезаписываем все URL со старого имени сайта на новый.

Все! И не так страшно, как казалось.

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

А если что-то пошло не так?
Тогда надо повторить все манипуляции, начиная с п.2.

Какие еще могут быть засады и подводные камни?

  1. Ошибки имен, синтаксиса, кодировок.
  2. Ошибки при копировании файлов, переданных по FTP в неверном формате.
  3. Иногда мешают куки и кэш. Перед бекапированием кэш следует удалить, а плагины, отвечающие за кэширование отключить.
  4. Слишком короткий таймаут работы PHP, когда прерывается выполнение скриптов.

Какие еще есть способы переноса сайта на Вордпресс на другой хостинг или домен?

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

Перенос сайта на Вордпресс с помощью встроенных инструментов

  1. Заходим в раздел “Настройки” - > Экспорт и экспортируем xml файл.
  2. Устанавливаем новый экземпляр Вордпресс на новом сайте
  3. Заливаем папку /wp-content/uploads/ по адресу нового сайта
  4. На новом сайте заходим в “Настройки” - > Импорт и импортируем файл xml.
  5. Долго и мучительно производим все настройки, включая установку виджетов и плагинов, редакций темы, css и прочих "приятных" штук.
Перенос сайта на Вордпресс с помощью встроенных инструментов

Минусы такого способа переноса Вордпресс, надеюсь, понятны. К этому добавляется возможность вообще не выполнить операции экспорта-импорта если сайт большой. Таймауты выполнения скриптов PHP не позволят этого сделать.

Перенос сайта на Вордпресс на другой хостинг или домен с помощью плагина

Плагинов для переноса сайта на Вордпресс довольно много. Самый известный и удобный это Duplicator.

Теоретически создан для переноса сайтов на Вордпресс в одно движение. Практически имеет недостатки, хотя и неплох для переноса.

  1. Устанавливаем плагин Duplicator, активируем его.
  2. Переходим в раздел Duplicator на главной панели.
  3. Создаем новый пакет с базой данных и содержимым сайта.
  4. Скачиваем архив и файл installer.php
  5. Создаем новую базу данных и пользователя на новом сайте.
  6. Заливаем по FTP архив, созданный Дупликатором и файл installer.php
  7. Запускаем файл newsite.com/installer.php и следуем инструкциям мастера настроек.
плагин Duplicator

Недостатки такого способа переноса:
1. Таймаут на выполнение скриптом архивации. В этом случае Duplicator предложит создать архив базы данных, а статическое содержимое перенести вручную.

2. Отсутствие функции перезаписи в момент установки. Бесплатная версия Дупликатора не умеет вносить изменения “на лету”, тем самым сводя на нет всю его работу, опция перезаписи доступна только в платной версии. Статические файлы и дамп базы можно перенести вручную, точно так же как и с помощью Дупликатора.

3. Критическая уязвимость сайта в момент переноса. Дупликатор создает архивы и файлы в папке wp-snapshots. В некоторых случаях, в зависимости от настроек сервера, эта папка может быть доступна для просмотра, а в архивах лежит ничем не защищенный файл конфигурации с логином и паролем к базе данных.

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

Перенос стайта на Вордпресс с помощью педальной тяги и Notepad++

  1. Скачиваем статические файлы по FTP
  2. Скачиваем дамп базы как это описано в п.2
  3. Открываем в текстовом редакторе Notepad++ файл дампа БД и производим перезапись: все старые имена сайта меняем на новые.
  4. Импортируем файл дампа базы как указано в п.5
  5. Заходим в админку Вордпресс и редактируем тонкие настройки, виджеты и меню.
Перенос стайта на Вордпресс с помощью педальной тяги и Notepad++

Минусы такого способа:
1. Не сохраняются тонкие настройки виджетов и меню, их придется настраивать заново.

2. Можно испортить файл базы, некоторые плагины хранят данные в сериализованном виде, например Envira Gallery, и такие плагины будут работать некорректно при переносе.

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

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

  1. Скачать статические файлы в архиве через вебпанель или по FTP
  2. Скачать дамп базы
  3. Загрузить файлы по FTP в автоматическом режиме любым файловым менеджером.
  4. Импортировать дамп в новую базу и не забыть отредактировать wp-config.php

Инструментарий для переноса:
FTP клиент Total Commander, да, не смейтесь, мне хватает Тотал Командера, в редком случае использую WinCP
Текстовый редактор Notepad++

Неплохой мануал по запросам к БД при переносе сайта на Вордпресс на другой хостинг или домен.

Выводы

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

Этот способ тоже проверен и опробован. Для переноса сайта с помощью командной строки понадобится root на старом и новом сервере, программа Putty если у нас Windows или любая машина под Linux, а так же вдумчивое чтение мануала по SCP и прямые руки. Принцип простой. Нужно указать что мы копируем, откуда копируем, куда копируем. Этот способ годится для массового переноса сайтов не только на WordPress.

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

Неплохо использовать плагины для переноса, тот же Duplicator и Better Search Replace.

Самые простые способы с помощью встроенных инструментов Вордпресс и Notepad++ требуют дополнительных настроек после переноса и есть риск испортить секвентированные фрагменты БД.

В любом случае каждый сам решает как перенести сайт на Вордпресс.

Об авторе

Дмитрий Дмитриев

Дмитрий administrator

Привет, меня зовут Дмитрий и я занимаюсь созданием сайтов на Wordpress. Мне нравится моя работа, я могу сделать вам сайт на Wordpress или помочь с реализацией ваших замыслов на другой CMS.

2 комментария

TerrytedДата:2:25 пп - Авг 29, 2021

Спасибо отличный мануал!

Оставить ответ