Перенос WordPress на другой хостинг, домен или денвер. Перенос WordPress на другой хостинг: особенности, порядок действий Wordpress как перенести тему

💖 Нравится? Поделись с друзьями ссылкой

Каждый веб-разработчик регулярно сталкивается с задачей миграции. Сюда входят и развёртывание (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. Важное дополнение в комментарии от nik_vr :

При переносе с localhost"а на реальный сервер нельзя забывать про адрес сайта. Смена домена с одновременным переносом по вашей инструкции сделает сайт абсолютно неработоспособным. По-этому в инструкцию стоит добавить ещё один шаг (актуальный при смене домена, в т.ч. - при переносе с локального сервера на боевой). Для примера будем считать, что сайд переносится с домена mysite.local на домен mysite.ru .

В сохранённом дампе базы данных WordPress ищем все вхождения mysite.local и заменяем на mysite.ru . Можно это сделать в любом нормальном текстовом редакторе (например, Notepad++). После замены аккуратно сохраняем БД, не забывая о кодировке (в случае с более или менее современными версиями WordPress нужна кодировка UTF-8 без BOM).

После импорта базы данных можно выполнить следующую MySQL-команду:

UPDATE wp_options SET option_value = "http://mysite.ru" WHERE option_value = "http://mysite.local";

Сегодня я расскажу о переносе сайта на WordPress с хостинга на хостинг или c хостинга на денвер, а так же на новый домен или в другую папку.
Содержание статьи:

Почему возникает проблема переноса WordPress сайта

Рано или поздно каждому из нас приходится столкнуться с переездом, для этого существует ряд причин. Самая распространенная из них – недовольства хостингом, когда терпеть уже нет сил, начинаешь думать о смене хостинг-провайдера. Хотя в этом случае проще оставить заявку в техподдержку на перенос вашего сайта (любой приличный хостинг предоставляет такую услугу бесплатно). Мне приходилось менять хостинг сотню раз, пока однажды, наконец, не повезло, теперь я пользуюсь хостингом и вам советую.

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

Да мало ли какие причины заставили вас заняться переносом сайта на вордпресс. Лично мне понадобилось развернуть локальную версию сайта у себя на денвере (читайте ), потому что работать с локальным сайтом быстрее и удобнее. На нем можно экспериментировать с настройками блога и плагинами, не боясь за работоспособность сайта. Поэтому я советую каждому иметь локальную версию, пусть будет.

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

1. Скачиваем файлы сайта и базу данных со старого хостинга

Способ №1:

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

Чтобы попасть в эту папку, можно зайти по FTP (я использую программы Total Commander или File Zilla) или через файловый менеджер хостинга (этот способ удобнее, как мне кажется). Скачайте полученные архивы к себе на компьютер. Распакуйте базу данных.

Если по какой-то причине вы не смогли сделать бэкапы, существует второй способ:

Далее зайдите в раздел управления базами данных вашего хостинга, выберите phpMyAdmin. В колонке слева выберите название вашей базы данных из списка. Перейдите на вкладку Экспорт (Export) и щелкните Ок(Go). Сохраните сгенерированный файл.

Итак, дамп БД в виде файла с расширением.sql и архив со всеми файлами блога находятся на нашем компьютере и готовы к переносу на другой хостинг.

2. Перенос данных с компьютера на новый хостинг

В разделе «базы данных» нового хостинга добавьте нового пользователя БД и новую БД, придумайте ей пароль и запомните его. У меня это выглядит так:

Внимание! Если вы так же меняете доменное имя, то сейчас необходимо выполнить пункт « », затем вернитесь и продолжайте по порядку.

Откройте phpMyAdmin, найдите в списке слева вашу базу данных, перейдите на вкладку Импорт (Import). Закачайте ранее скачанный на компьютер дамп базы данных с разрешением.sql и нажмите ОК (Go).

Теперь залейте архив с файлами на ftp и разархивируйте его. Следите, чтобы в итоге файлы оказались в правильной папке, на моем хостинге это папка public_html, так же она может называться httpdocs, www или иначе, в зависимости от хостинга. Проверьте, чтобы эта папка была пустой, прежде чем распаковывать в нее архив.

3.Настройка соединения с базой и установка прав

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

/** Имя базы данных для WordPress */ define("DB_NAME", "имя_вашей_базы_данных"); /** MySQL имя пользователя */ define("DB_USER", "имя_пользователя_базы_данных"); /** MySQL пароль базы данных */ define("DB_PASSWORD", "пароль_к_базе_данных");

Установите права (атрибуты) 777 для папки wp-content/uploads и всех вложенных папок. Это делается по ftp или в файловом менеджере:

Привязка вашего домена к новому хостингу

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

  • Узнайте у нового хостера его DNS сервера. Обычно они написаны в письме, отправленном вам на почту при регистрации хостинга.
  • Зайдите в личный кабинет своего регистратора доменов — сайт, где вы покупали домен. Я пользуюсь 2domains.ru и расскажу, как это делается там. Найдите раздел «Управление DNS-серверами» и измените DNS-сервера на новые:

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

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

Перенос WordPress на другой домен, папку

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

1. Работа с базой данных

Когда вы скачали дамп базы данных со старого хостинга, надо открыть ее в редакторе (я пользуюсь Dreamweaver) и заменить все упоминания о старом домене на новые:

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

UPDATE wp_options SET option_value = REPLACE (option_value, "https://old_domain.ru", "https://new_domain.ru") WHERE option_name = "home" OR option_name = "siteurl";

UPDATE wp_posts SET guid = REPLACE (guid, "https://old_domain.ru", "https://new_domain.ru");

UPDATE wp_posts SET post_content = REPLACE (post_content, "https://old_domain.ru","https://new_domain.ru");

2. Изменения в.htacces и robots.txt

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

3. Изменения в файлах сайта

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

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

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

Если вам нужно перенести блог в другую папку (например, domain.ru/blog), внесите следующие изменения в.htaccess (изменения выделены жирным):

# BEGIN WordPress
RewriteEngine On
RewriteBase /blog /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog /index.php [L]
# END WordPress

Возможные ошибки, связанные с переносом WordPress блога

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

  1. Error establishing a database connection. Такая ошибка случается, если неверно введены данные вфайле wp-config.php.
  2. Открылась страница с установкой WordPress. Подобная ситуация могла возникнуть из-за ошибки импорта базы данных. Попробуйте удалить все таблицы базы и заново импортировать дамп.
  3. Вы видите страницу вашего хостинг-провайдера с приветствием. Причиной может стать то, что вы не очистили папку public_html (httpdocs), прежде чем распаковать в нее архив. Удалите файл index.html.
  4. Forbidden. You don"t have permission to access / on this server. Возможно, вы залили файлы сайта в неправильную папку.

Перенос сайта 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МБ.
  • Нажать кнопку «ОК».

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

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

Непосредственный перенос сайта 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;
  • Еще не переключились DNS сервера .

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

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

В данном материале мы расскажем о перемещении сайта, работающего на WordPress с одного провайдера хостинга на другой; с хостинга на Denwer (при помощи Денвера можно сделать полноценный локальный хост), а также на новое доменное имя или просто в другой каталог. Причин для осуществления переезда может быть масса, заострять внимание более детально здесь не будем, но лишь отметим, что наиболее распространённая причина – это недовольство хостером, которое в один момент достигает своего максимума. Правда в большинстве случаев будет достаточно оставить заявку новому хостеру о переносе, и он выполнит этот процесс бесплатно (перенос с Денвера также бесплатен). Некоторым приходится сменить более десятка хостеров, и только уж потом станет ясно, какой именно провайдер для него является наиболее оптимальным.

Частые причины смены доменного имени – это наложение на площадку фильтров поисковыми машинами или попадание в бан.

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

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

Выполняем перенос сайта WordPress на другой хостинг

Рассмотрим сначала первый способ переноса сайта Водпресс. Итак, для старта необходимо попасть на старый хост и выполнить бэкапы всей текущей файловой системы и базы данных. Зачастую бэкапы создаются в корневом каталоге хостинга в формате архива. Чтобы скачать эти файлы рекомендуем зайти по FTP (можно использовать, к примеру, FileZilla или Total Commander) или через файловый менеджер хостинга. Скачайте созданные архивы на компьютер, вытащите заранее БД из архива.

Если вышеописанный способ не сработал, то можно получить копии другим путем. Стоит зайти в менеджер файлов хостера, выделить всю папку, где расположен ваш сайт и кликнуть на «Создать архив». После окончания архивации скачивайте архив на свой жесткий диск, и не пытайтесь перекачивать все файлы вашего сайта по-отдельности, ведь вероятность возникновения ошибок слишком высока; часть из файлов может вообще не загрузиться, да и процесс скачивания отнимет достаточно много времени.

Теперь перейдите в раздел управления базами MySQL – phpMyAdmin. В выпадающем списке выберете вашу базу данных, после чего жмите на линк «Экспорт» и нажимайте «Ок». Все, теперь сохраняйте полученный файл. После этого у вас на диске будут в распоряжении дамп БД в виде файла с расширением.sql и пакет со всеми файлами площадки.

Перенос с виртуального на локальный хост при помощи Денвера (и обратно)

При помощи Денвера, необходимо залить файлы в его папку, к примеру: C:\WebServers\home\newresourse.ru\www. Базу данных нужно добавить через phpMyAdmin (без подключения к интернету перейдите по URL: http://localhost). Аналогичным образом можно получить файлы с Денвера и залить их уже на нужный вам виртуальный хост.

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

У нового хостера потребуется зайти в раздел «Базы данных» и добавить нового юзера и новую БД, а также придумать пароль и обязательно запомнить его. Теперь переходим в панель phpMyAdmin, ищем кнопку «Импортировать файл» и загружаем на новый хост базу.sql.

После этого необходимо найти ваш архив с файлами сайта Водпресс и залить на ftp. Заливать необходимо в нужную папку, иначе сайт не будет распознаваться хостингом (зачастую, это папка с названием public_html, но может также быть названа www, httpdocs или еще как-то иначе). Как бы она не была названа, каталог должен быть пустым.

Настраиваем соединение с базой и устанавливаем права

Ищем файл wp-config.php, и меняем в нем данные соединения:

define("DB_NAME", "имя_вашей_базы_данных");
define("DB_USER", "имя_пользователя_базы_данных");
define("DB_PASSWORD", "пароль_к_базе_данных");

Дополнительно нужно установить атрибуты 777 для каталога wp-content/uploads и всех внутренних каталогов. Сделать это можно по ftp или в штатном менеджере. Вот собственно и все, теперь ваш сайт был залит на новый хостинг, но не стоит забывать о доменном имени.

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

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

  • Уточнить у нового хостер-провайдера DNS сервера. Кстати, эта инфа может быть указана в письме, которое вы получали после регистрации;
  • Теперь зайдите в свой кабинет регистратора доменов. Регистратором может быть старый хостер или специализированные сервисы по типу 2domains.ru. В любом случае в панели управления доменами вам необходимо найти раздел «Управление DNS-серверами» и изменить DNS данные на новые.

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

Перенос WordPress на другой домен или в другую папку

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

  1. После скачивания дампа старой базы данных со старого хостинга, необходимо открыть ее в редакторе (к примеру, Dreamweawer) и изменить все записи о прежнем домене на новые.
  2. Изменения также необходимо произвести в файлах robots.txt и.htacces (также заменяем все упоминания старого сайта новым);
  3. Внесение корректировок в файлы сайта – необязательны, поэтому если после выполнения двух вышеописанных пунктов у вас заработала площадка, то этот можно пропустить. Для поиска потребуется распаковать все файлы вашего Вордпресс сайта, и поискать в них упоминания старого домена.

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

Чтобы произвести перенос сайта в другую папку, к примеру, в site.ru/blog, необходимо внести в следующих строчках файла.htaccess (изменения выделены жирным).

RewriteBase /blog/
RewriteRule . /blog/index.php [L]

Перенос сайта при помощи SSH

Это наиболее простой и удобный вариант переноса сайта, а времени этот метод отнимает всего 15-20 минут. Да и к тому же все почти полностью автоматизовано, никаких лишних телодвижений совершать не потребуется. Но чтобы использовать SSH, вам необходимо иметь shell-доступ к своему аккаунту, что, в конечном счете, значительно упростит перенос WordPress сайта. Итак:

  • В панели хостера необходимо активировать весь сайт;
  • Запускаем SSH-клиент, логинимся под своим аккаунтом и делаем бэкап используя команду:

    mysqldump -u USERNAME -pPASSWORD BD_NAME > dump.sql

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

В качестве SSH-клиента можно использовать WinSCP – очень функциональная программа! Дамб лучше всего запаковывать в архив, благо он отлично сжимается в архив.

Теперь необходимо зайти через SSH-клиент в папку вашего хостинга и скачать ранее созданные архивы и базу данных при помощи команд: wget http://site.name/site-archive.zip
и wget http://site.name/dump.zip

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

mysql -u USERNAME -pPASSWORD -D BD_NAME < dump.sql

Как видите, данная технология упрощает перенос Вордпресс площадки на другой хостинг. Если руки растут из «правильного места», то сложного тут ничего нет.

Ошибки, которые возникают при переносе Вордпресс

Если ваша площадка так и не запустилась, то приведем некоторые распространенные примеры ошибок:

  • Если открылась вкладка, где вам предлагают установить Вордпресс, то значит, была сделана ошибка при импорте базы данных. Можно попробовать удалить все таблицы и загрузить дамп;
  • Если видите приветствие хостера, то, скорее всего, вы не удалили файлы из папки public_html перед распаковкой архива (можно попробовать удалить файл index.html);
  • Ошибка «Error establishing a database connection» выскакивает, когда были неверно прописаны данные в wp-config.php.

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

Данная инструкция поможет вам, если вам нужно перенести сайт:

  • с одного домена на другой;
  • с поддомена на основной домен (например, с поддомена sub.domain.ru на основной домен domain.ru);
  • из подкаталога в основной каталог (например, из../domain.ru/wordpress в каталог../domain.ru/).

При простом переносе файлов Wordpress из одной директории в другую, сайт «ломается» — нарушается вёрстка, пропадают картинки. Чтобы перенести сайт корректно, следуйте инструкции ниже.

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

При смене домена или при переходе с протокола HTTP на HTTPS возникает необходимость изменить все старые URL-адреса на новые. Вы можете сделать это вручную, редактируя конфигурационные файлы и базу данных, или быстрым способом — с помощью плагина Velvet Blues Update URLs .

Установка плагина

Плагин Velvet Blues Update URLs, настройки и работа с плагином

В меню «Инструменты» выберите пункт Update URLs :


Как отобразить сайт на другом домене

Чтобы перенести сайт с одного домена на другой, на открывшейся странице укажите следующие данные:

  • в поле Old URL — старый адрес сайта;
  • в поле New URL — новый адрес сайта;
  • поставьте галочки во всех пунктах.

Затем нажмите кнопку Update URLs NOW :


Дождитесь окончания работы плагина. На странице будут отображены результаты и количество изменённых URL-адресов. Таким образом, благодаря использованию плагина Velvet Blues Update URLs поменять URL страниц в Wordpress и обновить ссылки после смены домена можно за считанные минуты.

Готово! После проделанных шагов ваш сайт на WordPress будет доступен по новым URL-адресам.

Также вы можете перенести сайт на WordPress вручную. Мы не рекомендуем использовать этот способ, так как при ручном переносе часто возникают ошибки.

Перенос сайта на WordPress с одного домена на другой вручную

  1. 3.

    Выделите все файлы сайта и скопируйте их в корневую папку нового сайта.

  2. 6.

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

    UPDATE wp_options SET option_value = REPLACE(option_value, "http://olddomain.ru", "http://newdomain.ru") WHERE option_name = "home" OR option_name = "siteurl"; UPDATE wp_posts SET guid = REPLACE(guid, "http://olddomain.ru","http://newdomain.ru"); UPDATE wp_posts SET post_content = REPLACE(post_content, "http://olddomain.ru", "http://newdomain.ru");

    где olddomain.ru — прежнее название сайта, а newdomain.ru — новое название сайта. Если вы используете SSL-сертификат для сайта замените http на https.

    Важно : если у вас кириллический домен и запрос не был обработан, введите название домена в формате Punycode. Для этого воспользуйтесь . Например, вам необходимо перенести сайт на кириллический домен новыйдомен.ru . Название этого домена в формате Punycode выглядит так: xn--b1aedoqcfcd1k.ru . В таком случае вам необходимо вводить SQL-запрос (на примере 2 запроса): UPDATE wp_posts SET guid = REPLACE(guid, "http://olddomain.ru","http://xn--b1aedoqcfcd1k.

    Если возникла ошибка

    Если вы наблюдаете ошибку вида: 1146 — Table "u1234567_hid5.wp_options" doesn"t exist , проверьте, существует ли таблица вида wp_options . Префикс таблицы может отличаться от wp , например: таблица называется xxx_options , где xxx — любой набор букв и цифр. Если префикс отличается, измените название таблицы во всех трёх вышеприведенных запросах.

  3. 7.

    Очистите папку wp-content/cache , если у вас настроено кеширование. Перед проверкой корректности отображения сайта .

Готово, вы перенесли сайт с одного домена на другой.

Рассказать друзьям