Перенос wordpress в другую папку. Работа с базой данных. Резервная копия базы данных

  • Tutorial

Каждый веб-разработчик регулярно сталкивается с задачей миграции. Сюда входят и развёртывание (deploy) локальной версии на удалённом сервере, и перенос работающего сайта с одного сервера на другой. Некоторые печатные издания для программистов называются «Cookbook» – что буквально значит «книга рецептов». Рецептов множество, какой из них лучший - дело вкуса. В этом материале автор расскажет о том, какую технологию переноса типичного сайта на WordPress он считает оптимальной, и почему.

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

Резервное копирование данных

С технической точки зрения нам предстоит сделать копии двух составляющих сайта:
  • Файловой системы
  • Базы данных
Каждый веб-разработчик должен заботиться о сохранности данных веб-сайта. Поэтому, как правило, после того как рабочая версия развёрнута на удалённом сервере, разработчик сайта настраивает резервное копирование данных или «бэкап» (от англ. «backup copy», резервная копия).

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

В чём главная цель разработчика при переносе сайта с одного сервера на другой? Ничего не потерять. То есть на новом месте сайт должен быть полностью идентичен тому же сайту на старом.

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

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

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

Режим обслуживания

Вы могли заметить, что когда WordPress обновляет плагины или ядро системы, посетители сайта видят вместо его содержимого белый фон и поверх большой заголовок «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту. ».

Как принудительно перевести в него сайт?

Для этого необходимо в корне сайта создать файл под названием.maintenance и разместить в нём следующий PHP-код:

Результат:

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

Однако, если вы хотите сделать страницу более привлекательной, можете создать в папке wp-content файл maintenance.php , который будет загружаться вместо исходного текста. В нём вы можете сверстать какую угодно картинку для поджидающего окончания работ пользователя.

Также можно порекомендовать специальный плагин , которые можно использовать в тех же целях:

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

Резервная копия базы данных

Способов создания резервной копии базы данных WordPress существует несколько:
  • При помощи плагинов WP-DB-Backup , WP Database Backup и прочих.
  • При помощи браузерной утилиты phpMyAdmin
  • При помощи консоли сервера
  • При помощи панели хостинга
С целью экономии места в посте не буду рассказывать про первые два способа, они достаточно тривиальны.

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

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

Mysqldump -u[пользователь] -p[пароль] [имя_базы_данных] > [имя_файла_резервной_копии].sql

По-хорошему будет заархивировать дамп базы на ходу:

Mysqldump -u[пользователь] -p[пароль] [имя_базы_данных] | gzip >[имя_файла_резервной_копии].sql.gz

Текстовые файлы, коим является дамп базы, архивируются наилучшим образом. Размер архива может быть значительно ниже размера дампа базы. Это важно при переносе, т.к. 100Мб перенести куда быстрее, чем 1Гб, например.

Некоторые хостинг-компании предоставляют возможность архивирования данных сайта через панель управления услугами:


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

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

Резервная копия файлов

Файловая система WordPress обычно выглядит следующим образом (без поддиректорий и их содержимого):
├── index.php ├── license.txt ├── readme.html ├── wp-activate.php ├── wp-admin ├── wp-blog-header.php ├── wp-comments-post.php ├── wp-config-sample.php ├── wp-config.php ├── wp-content ├── wp-cron.php ├── wp-includes ├── wp-links-opml.php ├── wp-load.php ├── wp-login.php ├── wp-mail.php ├── wp-settings.php ├── wp-signup.php ├── wp-trackback.php └── xmlrpc.php

В принципе, больше всего нас интересуют папка wp-content и конфигурационный файл wp-config.php .

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

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

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

Представьте себе перенос по FTP тысячи или даже нескольких тысяч маленьких файлов. Для переноса каждого из них требуется сначала установить, а потом разорвать соединение. В итоге процесс получается долгим и иногда случается что-либо потерять в пути. Тем более, когда файлы переносятся сначала на локальный компьютер, а потом уже - на новый удалённый сервер.

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

Так можно использовать консольные утилиты наподобие rsync , но для этого необходимо иметь навыки работы с консолью севера. Несколько обучающих материалов по теме на англ. - одна и вторая .

Восстановление данных

Итак, архив файлов сайта и дамп базы данных перенесены на новый сервер.

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

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

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

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

Например, если вы сжимали сайт при помощи консольного архиватора из корня сайта zip -r "full-backup.zip" * , то и распаковывать на новом сервере его необходимо также в корне сайта unzip full-backup.zip .

Обратите внимание , что невидимые файлы, коим является.htaccess не всегда архивируются вместе с остальными. Поэтому, если на вашем новом сайте не работают «красивые адреса», первым делом проверьте, перенесли ли вы.htaccess в корень сайта.

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

Воссоздание базы данных

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

Если же её ещё нет, то создать новую базы данных можно разными способами:

  • Через веб-интерфейс при помощи утилиты phpMyAdmin
  • Через панель управления хостингом
  • Через консоль сервера следующей командой: mysql -u[имя_пользователя] -p; # после ввода пароля вы войдете в режим командной строки MySQL mysql: CREATE DATABASE [имя_базы_данных] CHARACTER SET utf8 COLLATE utf8_general_ci; CHARACTER SET utf8 COLLATE utf8_general_ci; CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON[имя_базы_данных] .* TO [имя_пользователя]@localhost IDENTIFIED BY "[пароль]";
В результате мы должны иметь на руках:
  • Имя базы данных
  • Имя пользователя
  • Пароль
В некоторых случаях, когда база данных находится на другом сервере, нам необходимо ещё знать адрес хоста (обычно - localhost , если на той же машине).

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

Опять-таки, сделать это мы можем теми же средствами.

В phpMyAdmin выбираем базу данных, вкладку «Импорт», выбираем файл дампа и отправляем форму запроса.

Если вы работаете через консоль, используйте команду mysql -u[имя_пользователя] -p[пароль] [имя_базы_данных] < [дамп_базы_данных].sql .

В случае, если дамп базы данных был заархивинован: gunzip < [дамп_базы_данных].sql.gz |mysql -u[имя_пользователя] -p[пароль] [имя_базы_данных] .

Не забудьте удалить дамп базы данных с сервера или перенести его в безопасное место, в случае, если он там был.

Настройка файла конфигурации

Теперь необходимо открыть в редакторе файл wp-config.php и установить соответствующие настройки для соединения с новой базой данных:

Не забудьте удалить файл.maintenance из корневой папки сайта.

Остаётся только проверить работоспособность сайта!

Заключение

Надеюсь, что данное руководство пригодится тем, кто ещё только озаботился вопросом миграции WordPress -сайта и ищет ответов на вопросы.

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

P.S. Важное дополнение в комментарии от

  • Tutorial

Каждый веб-разработчик регулярно сталкивается с задачей миграции. Сюда входят и развёртывание (deploy) локальной версии на удалённом сервере, и перенос работающего сайта с одного сервера на другой. Некоторые печатные издания для программистов называются «Cookbook» – что буквально значит «книга рецептов». Рецептов множество, какой из них лучший - дело вкуса. В этом материале автор расскажет о том, какую технологию переноса типичного сайта на WordPress он считает оптимальной, и почему.

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

Резервное копирование данных

С технической точки зрения нам предстоит сделать копии двух составляющих сайта:
  • Файловой системы
  • Базы данных
Каждый веб-разработчик должен заботиться о сохранности данных веб-сайта. Поэтому, как правило, после того как рабочая версия развёрнута на удалённом сервере, разработчик сайта настраивает резервное копирование данных или «бэкап» (от англ. «backup copy», резервная копия).

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

В чём главная цель разработчика при переносе сайта с одного сервера на другой? Ничего не потерять. То есть на новом месте сайт должен быть полностью идентичен тому же сайту на старом.

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

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

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

Режим обслуживания

Вы могли заметить, что когда WordPress обновляет плагины или ядро системы, посетители сайта видят вместо его содержимого белый фон и поверх большой заголовок «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту. ».

Как принудительно перевести в него сайт?

Для этого необходимо в корне сайта создать файл под названием.maintenance и разместить в нём следующий PHP-код:

Результат:

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

Однако, если вы хотите сделать страницу более привлекательной, можете создать в папке wp-content файл maintenance.php , который будет загружаться вместо исходного текста. В нём вы можете сверстать какую угодно картинку для поджидающего окончания работ пользователя.

Также можно порекомендовать специальный плагин , которые можно использовать в тех же целях:

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

Резервная копия базы данных

Способов создания резервной копии базы данных WordPress существует несколько:
  • При помощи плагинов WP-DB-Backup , WP Database Backup и прочих.
  • При помощи браузерной утилиты phpMyAdmin
  • При помощи консоли сервера
  • При помощи панели хостинга
С целью экономии места в посте не буду рассказывать про первые два способа, они достаточно тривиальны.

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

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

Mysqldump -u[пользователь] -p[пароль] [имя_базы_данных] > [имя_файла_резервной_копии].sql

По-хорошему будет заархивировать дамп базы на ходу:

Mysqldump -u[пользователь] -p[пароль] [имя_базы_данных] | gzip >[имя_файла_резервной_копии].sql.gz

Текстовые файлы, коим является дамп базы, архивируются наилучшим образом. Размер архива может быть значительно ниже размера дампа базы. Это важно при переносе, т.к. 100Мб перенести куда быстрее, чем 1Гб, например.

Некоторые хостинг-компании предоставляют возможность архивирования данных сайта через панель управления услугами:


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

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

Резервная копия файлов

Файловая система WordPress обычно выглядит следующим образом (без поддиректорий и их содержимого):
├── index.php ├── license.txt ├── readme.html ├── wp-activate.php ├── wp-admin ├── wp-blog-header.php ├── wp-comments-post.php ├── wp-config-sample.php ├── wp-config.php ├── wp-content ├── wp-cron.php ├── wp-includes ├── wp-links-opml.php ├── wp-load.php ├── wp-login.php ├── wp-mail.php ├── wp-settings.php ├── wp-signup.php ├── wp-trackback.php └── xmlrpc.php

В принципе, больше всего нас интересуют папка wp-content и конфигурационный файл wp-config.php .

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

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

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

Представьте себе перенос по FTP тысячи или даже нескольких тысяч маленьких файлов. Для переноса каждого из них требуется сначала установить, а потом разорвать соединение. В итоге процесс получается долгим и иногда случается что-либо потерять в пути. Тем более, когда файлы переносятся сначала на локальный компьютер, а потом уже - на новый удалённый сервер.

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

Так можно использовать консольные утилиты наподобие rsync , но для этого необходимо иметь навыки работы с консолью севера. Несколько обучающих материалов по теме на англ. - одна и вторая .

Восстановление данных

Итак, архив файлов сайта и дамп базы данных перенесены на новый сервер.

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

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

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

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

Например, если вы сжимали сайт при помощи консольного архиватора из корня сайта zip -r "full-backup.zip" * , то и распаковывать на новом сервере его необходимо также в корне сайта unzip full-backup.zip .

Обратите внимание , что невидимые файлы, коим является.htaccess не всегда архивируются вместе с остальными. Поэтому, если на вашем новом сайте не работают «красивые адреса», первым делом проверьте, перенесли ли вы.htaccess в корень сайта.

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

Воссоздание базы данных

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

Если же её ещё нет, то создать новую базы данных можно разными способами:

  • Через веб-интерфейс при помощи утилиты phpMyAdmin
  • Через панель управления хостингом
  • Через консоль сервера следующей командой: mysql -u[имя_пользователя] -p; # после ввода пароля вы войдете в режим командной строки MySQL mysql: CREATE DATABASE [имя_базы_данных] CHARACTER SET utf8 COLLATE utf8_general_ci; CHARACTER SET utf8 COLLATE utf8_general_ci; CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON[имя_базы_данных] .* TO [имя_пользователя]@localhost IDENTIFIED BY "[пароль]";
В результате мы должны иметь на руках:
  • Имя базы данных
  • Имя пользователя
  • Пароль
В некоторых случаях, когда база данных находится на другом сервере, нам необходимо ещё знать адрес хоста (обычно - localhost , если на той же машине).

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

Опять-таки, сделать это мы можем теми же средствами.

В phpMyAdmin выбираем базу данных, вкладку «Импорт», выбираем файл дампа и отправляем форму запроса.

Если вы работаете через консоль, используйте команду mysql -u[имя_пользователя] -p[пароль] [имя_базы_данных] < [дамп_базы_данных].sql .

В случае, если дамп базы данных был заархивинован: gunzip < [дамп_базы_данных].sql.gz |mysql -u[имя_пользователя] -p[пароль] [имя_базы_данных] .

Не забудьте удалить дамп базы данных с сервера или перенести его в безопасное место, в случае, если он там был.

Настройка файла конфигурации

Теперь необходимо открыть в редакторе файл wp-config.php и установить соответствующие настройки для соединения с новой базой данных:

Не забудьте удалить файл.maintenance из корневой папки сайта.

Остаётся только проверить работоспособность сайта!

Заключение

Надеюсь, что данное руководство пригодится тем, кто ещё только озаботился вопросом миграции WordPress -сайта и ищет ответов на вопросы.

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

P.S. Важное дополнение в комментарии от

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

Шаги переноса сайта WordPress

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

  • Сделать копию сайта;
  • Сделать дамп содержимого базы данных сайта;
  • Прикрепить домен к аккаунту на новом хостинге;
  • Создать новую базу данных на новом хостинге;
  • Импортировать базу данных;
  • Перенести каталог сайта на новый хостинг;
  • Исправить файл wp-config.php;
  • Поменять сервера доменных имен сайта (DNS);
  • Проверить новый сайт и удалить (отключить) аккаунт на старом хостинге.

Сделать копию сайта

Для начала сделаем копию сайта. Сделать это можно в панели управления хостингом (DirectAdmin, ISP панели, и т.п.) через инструмент резервного копирования. Но лучше процесс контролировать и поэтому, сделайте копию сайта вручную с помощью FTP клиента, с которым вы работаете. Рекомендую программы FileZilla или WinSCP .

Через FTP клиент перекачайте все папки и файлы вашего сайта к себе на компьютер в отдельную папку. Нужны все папки и фалы сайта, которые находятся в корневом каталоге сайта, куда устанавливали WordPress. (в корневом каталоге большинство папок и файлов должно начинаться с wp-). Скорее всего это папка public_html или httpdocs . Скачивайте всё, что есть в корневом каталоге и только из него.

Сделать дамп содержимого базы данных сайта

Перенос сайта WordPress на другой хостинг требует копии (дамп) базы данных сайта. Сделать ее можно в phpMyAdmin хостинга. Войти в него можно только из панели управления хостингом.

Для входа в phpMyAdmin понадобятся учетные данные базы данных сайта: Имя базы данных, Имя пользователя БД, Пароль доступа. Они должны быть у вас, где нибудь записаны с момента . Если нет, не беда. Их можно легко восстановить. Для этого откройте файл wp-config.php через FTP клиент или в файловом менеджере панели управления хостингом и найдите в нем следующие строки:

Define("DB_NAME", "Имя базы данных для WordPress "); define("DB_USER", "Имя пользователя MySQL "); define("DB_PASSWORD", "Пароль к базе данных MySQL ");

Учетные данные базы данных восстановлены, переходим в phpMyAdmin в панели управления хостингом.

Экспорт базы данных

С дампом (копией) базы данных следующая история. Сделать копию базы данных можно многими способами (Программа mysqldump , скрипт Sypex Dumper Lite, скрипт Staggered MySQL Dump Importer, Программа Navicat) . Но так как мы вошли в скрипт phpMyAdmin, то и будем делать копию БД при помощи инструментов php MyAdmin. Этот вариант работает, только для сайтов не гигантского объема.

В phpMeAdmin, слева выберите нужную базу данных.

Вверху жмем вкладку «Экспорт»

В открывшемся окне настроим параметры экспорта:

  • Выбираем все таблицы БД;
  • Ставим галочку «SQL» формат файла БД;
  • В чекбоксе «Упаковать» можно оставить не сжимать или сжать БД. Если предполагаемый объем БД менее 2 Мб можно не сжимать. Нужно это для последующего импорта БД. По умолчанию, максимальный размер файла для импорта 2,048МБ.
  • Нажать кнопку «ОК».

Если базу данных не сжимать, в следующем окне видим дамп своей БД.

Это текстовой файл. Выделяем содержимое файла быстрыми клавишами Ctrl+A и копируем Ctrl+C . Открываем «любимый» текстовой редактор (например, Notepad++), вставляем скопированный файл и сохраняем файл БД в формате sql (Structured Query Language). Перед сохранением проверьте кодировку файла (вкладка «Кодировка» в редакторе). Файл БД должен быть в кодировке utf-8 без BOM. Всё, дамп содержимого базы данных сделан.

Не знаю по какой причине я в 2013 году привёл такой сложный вариант Экспорта базы данных. Копия делается в три шага:

  • Откройте базу данных в phpmyadmin;
  • Не выделяя чеки у таблиц нажмите кнопку «Экспорт»;
  • Выберете сжатие базы данных (если нужно);
  • Внизу нажмите кнопку действий (вперед или ОК).
  • С картинками читать .

Переходим к работе с новым хостингом.

Прикрепить домен к аккаунту на новом хостинге

На новом хостинге пройдите все шаги по покупке хостинга от регистрации до получения учетных данных для FTP соединения и входа в панель управления хостингом. (подробно читать )

Импортировать базу данных

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

  • Войдите в панель управления хостингом;
  • Войдите в MySQL и создаете базу данных с Именем базы, Именем пользователя и Паролем доступа.
  • Далее из панели управления хостингом войдите в phpMyAdmin.

В phpMyAdmin нового хостинга нужно перенести (Импорт) содержимое своей базы данных, скаченной с старого хостинга в формате sql. Перед Импортом, настраиваем его параметры:

Проверяем название БД, выставленную кодировку utf-8 и формат SQL. Нажимаем «OK». В результате переноса вы увидите все таблицы своей БД.

Перенос сайта WordPress на другой хостинг по FTP

  • Опять открываем FTP клиент. Только теперь соединяемся с новым хостингом.
  • Переносим все ранее скачанные папки и файлы своего сайта в корневой каталог нового сайта на новом хостинге. Информацию куда устанавливать сайт найдете на новом хостинге.
  • Сайт перенесен. Нужен файл wp-config.php для редактирования.

Исправить файл wp-config.php

Для удобства редактирования файла wp-config.php скачайте его и откройте в текстовом редакторе (например Notepad++).

Важно! Не редактируйте файл config.php в блокноте Windows и в редакторах Word.

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

Define("DB_NAME", "Имя новой базы данных для WordPress "); define("DB_USER", "Имя пользователя MySQL "); define("DB_PASSWORD", "Пароль к новой базе данных MySQL "); define("DB_HOST", "localhost") Это имя сервера MySQL .Может быть отличен от localchost;

Файл сохраняете, и закачивайте обратно на сайт по FTP с условием перезаписи.

В принципе сайт перенесен. Но если вы откроете его в браузере, то он откроется на старом хостинге, так как не сменены имена DNS серверов (сервера доменных имен). Чтобы завершить перенос сайта WordPress на другой хостинг, нужно поменять DNS сервера к которым прикреплен ваш домен.

Поменять сервера доменных имен (DNS) сайта

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

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

Входите в Панель управления хостингом;

Здесь ищите DNS записи доменных имен. У каждой панели это в своем месте. Найти не сложно, выглядит это так.

Интересует «Запись» «Тип» NS. Их должно быть, как минимум две. Если в записях их нет, обратитесь в тех службу хостинга, пусть сообщат. Имена DNS серверов хостинга имеют такой вид:

  • ns1.namehost.ru;
  • ns2.namehost.ru.

Далее «идете» к своему регистратору домена. Открываете управление доменом, далее выбираете нужный домен и пункт управление dns серверами или что-то похожее. И вместо DNS серверов старого хостинга прописываете DNS сервера нового хостинга.

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

Это два основных варианта прописки DNS серверов. Но хостинги разные и каждый хостинг рекомендует свой вариант управления доменом.

По общепринятым меркам новые параметры DNS прописываются около 72 часов (обычно быстрее).

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

В течение суток периодически проверяйте, поменялись ли DNS сервера сайта. Для этого есть масса on-line инструментов (например http://www.cy-pr.com/tools/dns/ ), которые расскажут все о вашем сайте, в том числе всю информацию о DNS серверах сайта. Вот пример, как это выглядит.

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

Ошибки переноса и их исправление

Разберем некоторые основные ошибки возникающие при переносе сайта WordPress.

Возможные ошибки

  • Пропали статьи и/или категории сайта,
  • Вместо текста крякозябры или знаки вопроса,
  • Вместо сайта надпись «Невозможно соединиться с базой, ошибка в строке 2»;
  • Белый экран, вместо сайта;
  • Ошибка на сервере Apache, порт 80.

Исправления ошибок

  • Проверьте кодировку файла БД (utf-8 без BOM),
  • Проверьте кодировку таблиц перенесенной БД (utf-8-general-ci),
  • Проверьте данные внесенные в файл wp-config.php. особо обратите внимание на название сервера MySQL. На новом хостинге он может отличаться от localhost;
  • Еще не переключились .

Фатальная ошибка

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

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

Перенос файлов и базы сайта на Вордпресс из одного домена в другой

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

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

2. Экспортируем дамп базы данных. Для этого проходим в phpMyAdmin, выделяем базу в левом списке и нажимаем сверху на кнопку Экспорт

Еще: Архивы файлов и базы сайта в Макхосте можно сделать автоматически из меню Резервные копии раздел Создать резервную копию. Файлы будут помещены в каталог private

Теперь имея исходные файлы Вашего сайта можно перейти ко второму этапу: это перенос данных в новый домен и настройка. Советую сделать их копию и сохранить отдельно, на случай 3. Переходим в корневой каталог нового домена и производим загрузку архива. Выполнить это опять же можно как через файловый менеджер панели управления хостинга, так и через FTP. Файл можно распаковать в файл-менеджер
4. Производим импорт sql дамп в базу данных через phpMyAdmin. Для этого, авторизовавшись в phpMyAdmin требуемой базы выбираем базу в левом списке и затем нажимаем в верхней панели на кнопку Импорт

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

Изменение домена в настройках Вордпресс

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

Смена домена в Вордпресс через phpMyAdmin

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

Поочередно или все три сразу скопируйте и выполните запросы что указаны ниже, исправив параметры

UPDATE wp_options SET option_value = REPLACE(option_value, "http://старый-домен.ru", "http://новый-домен.ru") WHERE option_name = "home" OR option_name = "siteurl"; UPDATE wp_posts SET guid = REPLACE(guid, "http://старый-домен.ru","http://новый-домен.ru"); UPDATE wp_posts SET post_content = REPLACE(post_content, "http://старый-домен.ru", "http://новый-домен.ru");

Важно! Прописывать нужно домен без слеша / в конце, как это указано в примере.
Запрос не выполнится если у вас префикс в таблицах не wp_ , а другой.
Если например у вас префикс pref_ , то в коде запроса пропишите его: UPDATE pref_posts SET…

Смена домена в Вордпресс в sql-дампе через текстовый редактор

Другим способом обновления информации в базе данных является ручная замена ссылок со старого домена на новый. Авторизуйтесь через phpMyAdmin в базе данных старого домена и выполните экспорт, если еще сделалм. Текстовым редактором откройте полученный файл sql и выполните поиск с заменой все упоминания старого домена на новый. После обновления информации выполните импорт дампа в базу на хостинге, очистив её предварительно от старых таблиц.

На этом перенос и настройка завершены.

У многих вебмастеров и владельцев сайтов может возникнуть ситуация, когда нужно сайт перевести с одного домена, на другой. необходимо сайт, работающий на движке WordPress, перенести на новый домен. Т.е. суть данного действа заключается только в изменении имени домена, все содержимое же, равно как и структура ссылок, остается прежним. При этом не маловажный момент - сохранение показателей тИЦ и PR.

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

Есть один немаловажный момент: при переносе на новый домен, нам теперь необходимо поддерживать 2 домена — старый и новый, и перенос этот осуществляется в 2 шага:

1) копируем все скрипты WP-сайта и БД со старого домена на новый
2) делаем 301 редирект со старого домена на новый

Перенос скриптов

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

№1

Самый оптимальный способ, если мы переносим сайт на одном хостинг-аккаунте:

  1. заходим в админ-панель сайта на страницу «Настройки - Общие»
  2. в полях «Адрес WordPress (URL)» и «Адрес сайта (URL)» укажите URL нового домена и подтвердите изменения, нажав на кнопку «Сохранить изменения»

Готово. Теперь WordPress после сохранения настроек перебрасывает Вас на новый домен с уже прописанными настройками.

№2

Этот способ подходит, если мы переносим скрипты и БД в другой аккаунт хостинга или на другой хостинг:

  1. копируем скрипты WordPress на новый домен
  2. копируем SQL-дамп и открываем его в текстовом редакторе, если он не очень большой, то все пройдет более-менее просто
  3. нужно заменить все вхождения старого адреса сайта на новый, например, http://domain.ru заменить на http://newdomain.ru, и сохраните этот sql-дамп
  4. загрузите дамп в базу данных на сервере, например, через PHPMyAdmin

Готово. Сайт на WordPress работает по новому адресу. Но делать нужно аккуратно, так-как можно что-нить поломать в SQL-дампе.

№3

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

  1. копируем скрипты WordPress и SQL-дамп на новый домен/хостинг/аккаунт
  2. зайдите в phpMyAdmin и выберите базу данных нужную базу данных
  3. нажмите на вкладку «SQL» и поочередно выполните следующие 3 запроса
    UPDATE wp_options SET option_value = replace (option_value, "http://domain.ru" , "http://newdomain.ru" ) ;

    UPDATE wp_options SET option_value = replace(option_value, "http://domain.ru", "http://newdomain.ru");

    UPDATE wp_posts SET guid = replace (guid, "http://domain.ru" , "http://newdomain.ru" ) ;

    UPDATE wp_posts SET guid = replace(guid, "http://domain.ru","http://newdomain.ru");

    UPDATE wp_posts SET post_content = replace (post_content, "http://domain.ru" , "http://newdomain.ru" ) ;

    UPDATE wp_posts SET post_content = replace(post_content, "http://domain.ru", "http://newdomain.ru");

Готово. Теперь сайт будет открываться по новому адресу.

Создание 301 редиректа

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

1 2 3 Options + FollowSymLinks RewriteEngine on RewriteRule (.* ) http:// newdomain. ru/ $1 [ R= 301 , L]

Options +FollowSymLinks RewriteEngine on RewriteRule (.*) http://newdomain.ru/$1

На этом, пожалуй, и все. Процедуру переноса сайта WordPress на новый домен можно считать оконченной.

Несколько слов относительно тИЦ и PR сайта. С реализованным 301 редиректом эти показатели со временем передадутся новому домену, но будут ниже, так как редирект добавляет к параметрам сайта. Главное преимущество в том, что 301 редирект передаст все поведенческие факторы новому домену, а над позициями в поиске нужно работать всегда.