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

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

Тогда вам нужно будет найти нового провайдера и осуществить перенос сайта WordPress на другой хостинг . Компании, которые я рекомендую:

eHost — недорогой провайдер для небольших WordPress сайтов. В качестве панели управления данный хостинг использует CPanel ;
iPage — еще один отличный хостинг-провайдер с доступными ценами. Это отличный вариант для размещения сайта на WordPress . Здесь доступна опция управляемого хостинга и возможность перейти на VPS или выделенный сервер;
BlueHost — является лучшим выбором для размещения бизнес-ресурсов. Компания предоставляет несколько тарифных планов, управляемый хостинг для WordPress , VPS и выделенный сервер. Этот провайдер подойдет для любых сайтов.

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

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

Шаг 1: Перенос файлов WordPress

Перенос сайта на другой хостинг можно осуществить с помощью FTP или с помощью CPanel . Я опишу оба метода.

Вам нужно использовать FTP-клиент , чтобы подключиться к серверу. Я рекомендую использовать FileZilla . Это бесплатная и простая в использовании программа. Вам потребуется учетная запись для FTP на новом и старом хостинге, чтобы подключиться к серверам.

Учетную запись для FTP можно создать в панели управления хостингом:

  • Подключитесь к серверу старого провайдера и получите доступ к папке public_html . Здесь хранятся файлы сайта;
  • Скачайте файлы на компьютер;
  • После завершения скачивания подключитесь к серверу нового хостинга и загрузите эти же файлы в папку public_html . Теперь можно приступить к перемещению базы данных.

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



  • Войдите в свой аккаунт на старом хостинге и откройте CPanel ;
  • Перейдите в диспетчер файлов и найдите папку, в которой хранятся файлы сайта; она должна находиться в папке public_html ;
  • Выберите папку и сожмите ее в .zip-архив с помощью опции «Сжать »;
  • С помощью кнопки загрузки сохраните архив с файлами на компьютере;
  • После завершения загрузки зайдите на свой новый хостинг и получите доступ к CPanel ;
  • Добавьте ваше доменное имя на новом хостинге в разделе «Добавление домена ». Таким образом, вы создадите папку на новом хостинге;
  • Загрузите созданный архив на новый хостинг с помощью диспетчера файлов и функции загрузки в папку public_html (или в папку, которая была создана на предыдущем этапе );
  • Распакуйте сжатые файлы с помощью функции «Распаковать », точно указав папку назначения;
  • На данный момент вы успешно перенесли файлы на новый хостинг, и теперь можно начать перенос базы данных.

Шаг 2: Перемещение базы данных WordPress

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


  • Войдите в CPanel старого хостинга и перейдите к инструменту PhpMyAdmin ;
  • После подключения к серверу СУБД в левой части экрана вы увидите все свои базы данных на хостинге. Выберите БД, которую требуется переместить. Если не знаете, какая база данных вам нужна, откройте файл wp-config.php (находится в корневой папке WordPress ) и найдите в нем строку define (‘DB_NAME’, ‘your_database_name’) ;. Она содержит в себе имя базы данных, которую использует ваш ресурс;
  • Выберите нужную базу в левой части экрана. Затем перейдите в меню «Экспорт «;
  • Экспортируйте выбранную БД в режиме «Быстрого экспорта » в формат SQL и сохраните ее на компьютере;
  • Войдите в CPanel нового хостинга и с помощью мастера баз данных MySQL создайте новую БД и пользователя. Сохраните имя пользователя и пароль, потому что позже вам будут нужны эти данные:


  • Перейдите в PhpMyAdmin на новом хостинге и в левой стороне панели выберите базу данных, которую только что создали;
  • Нажмите на кнопку «Импорт » в верхней части окна и выберите базу, сохраненную на компьютере;
  • На данный момент вы закончили перенос базы данных, но это еще не все.

Шаг 3: Обновление конфигурационного файла

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

/** The name of the database for WordPress */ define("DB_NAME", "старое_имя_базы_данных"); /** MySQL database username */ define("DB_USER", "старый_пользователь_базы_данных"); /** MySQL database password */ define("DB_PASSWORD", "старый_пароль_базы_данных"); /** MySQL hostname */ define("DB_HOST", "localhost");

Вам нужно изменить имя базы данных, имя пользователя и пароль; localhost можно оставить. Хост базы данных останется прежним, так как большинство провайдеров используют localhost . Теперь ваши файлы связаны с базой данных.

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

Шаг 4: Перенос учетных записей электронной почты


Перенос учетных записей электронной почты очень похож на перемещение файлов WordPress . Все настройки и сообщения электронной почты из ваших учетных записей находятся в папке public_html/mail/ . Вы можете использовать FTP-клиент или CPanel для их перемещения.

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

Шаг 5: Изменение DNS сервера и перемещение домена

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

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

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

Мысли напоследок!

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

Перевод статьи «How to Transfer a WordPress Site from One Host to Another » был подготовлен дружной командой проекта

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

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

Обратите внимание, что данное руководство подразумевает чистую на другой домен и перенос контента с существующего.

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

Шаг 1: Отключение постоянных ссылок

Первое, что необходимо сделать, перед тем как начать перенос WordPress непосредственно на другой домен, это отключение постоянных ссылок. Чтобы сделать это, выберите «Настройки > Постоянные ссылки» в административной панели, отметьте опцию «Простые» и сохраните изменения.

Шаг 2: Резервное копирование базы данных

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

Чтобы скопировать базу данных вручную, нужно воспользоваться веб-приложением PhpMyAdmin, доступ к которому предоставляет ваш хостинг. Просто выберите нужную БД на странице PhpMyAdmin и перейдите во вкладку «Экспорт». Затем, нажмите «Ок» и сохраните ее на свой компьютер.

Шаг 3: Перенос файлов

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

Шаг 4: Установка нового сайта и загрузка контента

Здесь все просто, установите WordPress на другой домен, в который будет осуществляться перенос сайта, используя предпочитаемый метод. Это можно сделать так, как предлагает ваш хостинг или же вручную. Затем, замените содержимое папки wp-content нового сайта, на содержимое соответствующей папки, скачанной на компьютер. Обязательно убедитесь, что новый сайт имеет правильную структуру каталогов

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

  • Зайдите в PhpMyAdmin через хостинг;
  • Откройте базу данных нового сайта;
  • Нажмите на вкладку «Структура»;
  • Поставьте внизу галочку «Отметить все»;
  • Рядом, в раскрывающемся списке, выберите «Удалить» и подтвердить действие.

Шаг 5: Редактирование базы данных

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

К счастью, существует специальный скрипт Search-Replace-DB, с помощью которого можно сделать замену ссылок в WordPress автоматически, с учетом сериализации. Просто загрузите папку со скриптом на хостинг, рядом с wp-content, и перейдите по адресу «your-site.ru/Search-Replace-DB-master/index.php».

На открывшейся странице, вставьте в поле «search for…» старый домен (например, http://your-site.ru), а в поле «replace with…» новый (http://new-your-site.ru). Затем, в блоке «actions» нажмите кнопку «live run» и подождите окончания процесса замены ссылок. Как только процесс замены будет завершен, экспортируйте отредактированную БД, точно так же, как делали до этого.

Шаг 6: Загрузка базы данных

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

Шаг 7: Вход в панель администратора и включение постоянных ссылок

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

Как только вы окажитесь в панели администратора, зайдите в «Настройки > Постоянные ссылки и верните старый вид URL-адресов.

Шаг 8: Создание 301 редиректа

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

Чтобы перенаправить посетителей на новый адрес, вам понадобиться получить доступ на старый домен через FTP. В корневом каталоге, вы должны найти файл с именем «ht.access» (если он отсутствует, просто создайте новый и поместите туда). Затем, откройте этот файл в любом текстовом редакторе и добавьте следующие строки:


RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Если этот код уже присутствовал в файле, то добавьте в него только эту строку:

Redirect 301 / http://new-your-site.ru/

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

Шаг 9: Отправка XML Sitemap для Google

Перенос почти закончен, вам осталось только предупредить об этом поисковые системы. Лучший способ сделать это, не испортив SEO оптимизацию, создать и представить XML карту сайта в Google. Сделать это очень просто, вам достаточно установить плагин Google Sitemap XML, зайти в его настройки и отправить готовые карты в Google.

Заключение

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

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

Здесь я подробно и пошагово расскажу о том, как переехать на другой хостинг с сайтом на WordPress. Читайте всё внимательно, соображайте правильно, и всё будет хорошо.

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

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

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

А если у вас какой-то другой хостинг, то делайте всё сами. Это интересно! Итак, поехали!

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

Разделим всё процедуру на несколько этапов. Делайте всё именно в этом порядке, и не иначе.

Сохранение файлов сайта на компьютер

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

Сохранение базы данных сайта на компьютер

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


Если у вас несколько баз данных на хостинге, то выберите ту, которая относится к переносимому сайту, и откройте её через приложение PHP My Admin. Оно есть на каждом хостинге.


В PHP My Admin перейдите во вкладку «Экспорт» и, оставив все настройки по умолчанию, нажмите кнопку «Вперёд».


Начнётся скачивание базы данных. Она сохранится в виде архива, оставьте её так, не распаковывайте.

Создание сайта на новом хостинге

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


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


Загрузка файлов сайта на новый хостинг

Следующий этап переноса – загрузка тех файлов сайта, которые были сохранены на компьютере, на новый хостинг. Нужно загрузить в ту папку, на которую вы в действии выше направили домен.

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

Создание базы данных сайта на новом хостинге

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


Затем перейдите к управлению созданной базой банных через PHP My Admin, перейдите во вкладку «Импорт», нажмите кнопку «Обзор» и выберите файл архива базы данных, который вы скачали ранее со старого хостинга.


И потом нажмите «Вперёд», чтобы начать загрузку базы с компьютера.


Изменение параметров файла конфигурации

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

/** The name of the database for WordPress */ define("DB_NAME", "имя базы данных"); /** MySQL database username */ define("DB_USER", "имя пользователя базы данных"); /** MySQL database password */ define("DB_PASSWORD", "пароль базы данных"); /** MySQL hostname */ define("DB_HOST", "localhost");

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

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

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

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

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

  • Узнайте IP вашего сервера на новом хостинге. Это можно выяснить у службы поддержки или в персональном кабинете.
  • Откройте файл на компьютере C:\Windows\System32\drivers\etc\hosts (открыть через программу блокнот или аналогичную) и запишите в конце такую строку:

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

Простой ответ для большинства инсталляций:

  • Если база данный и URL остаются теми же, вы можете переместить блог, просто скопировав файлы и базу данных.
  • Если изменились имя пользователя или базы данных, отредактируйте wp-config.php, что бы соответствующие данные совпадали.
  • Если вы хотите протестировать взможности нового сервера перед полным переходом? вы должны временно изменить поля "siteurl" и "home" в таблице "wp_options" вашей новой базе данных (через phpMyAdmin или что-то подобное).
    Если вы используете любые способы перенаправлений (постоянных ссылок), вы должны отключить.htaccess и перенастроить постоянные ссылки так, что бы они "ожили".

Перемещение WordPress в пределах сайта

Перемещение файлов WordPress из одного места в другое на вашем сервере - изменение их URL - требует некоторых специальных действий.

Вот пошаговая инструкция:

  1. Создайте новое расположение (location), используя одну из этих двух возможностей:
    1. Если вы будете перемещать ваши в новую папку - создайте новую папку.
    2. Если вы хотите переместить WordPress в вашу корневую директорию, убедитесь, что все , и другие файлы, которые могут быть заменнены копиями, имеют резервные копии и/или перемещены, и тогда корневая папка готова для новых файлов WordPress.
  2. Авторизуйтесь в вашем блоге.
  3. Перейдите на панель > > .
  4. В поле WordPress address (URI): измените адрес для вашего нового расположения основных файлов WordPress.
  5. В поле Blog address (URI): измените адрес вашего сайта на новый.
  6. Щелкните Update Options .
  7. (Не пытайтесь открыть/просмотреть ваш блог прямо сейчас!)
  8. Только для WordPress 2.0: Удалите папку wp-content/cache .
  9. Переместите основные файлы WordPress в новое место. Вы должны переместить как файлы из оригинальной директории, такой как http://example.com/wordpress , так и файлы из ее поддиректорий.
  10. Если вы используете , перейдите в панель > > и обновите структуру ваших ссылок в вашем файле, который должен быть в том фе каталоге, что и основной файл index.php .
  11. Если у вас возникли проблемы с отсутствующими рисунками, которые вы точно загрузили, вам необходимо изменить пути к рисункам в каждом посте непосредственно в SQL базе данных.

Важно, что бы вы установили расположение URI ДО того, как переместите файлы.

Предположим, вы случайно переместили файлы до того, как изменили URI. Предположим, что исходно файлы хранились в папке /path/to/old/ и вы переместили их в папку /path/to/new до того, как изменили URI. Что бы исправить ситуацию, создайте символьную ссылку по пути /path/to/old/ (для пользователей Windows "Символьная ссылка" эвивалентна ярлыку) на папку /path/to/new/, т.е. отдайте команду

Ln -s /path/to/new /path/to/old

и пройдите еще раз шаги, указанные по-нормальному. После этого можете удалить ссылку, если хотите.

Все готово. Протестируйте ваш сайт для того, что бы убедиться, что все работает нормально. Если изменения включали новый адрес для вашего блога, убедитесь, что люди знают новый адрес, и рассмотрите возможность добавления некоторых перенаправлений в ваш файл.htaccess для отправки пользователей по новому адресу.You"re done. Test your site to make sure that it works right. If the change involves a new address for your blog, make sure you let people know the new address, and consider adding some redirection instructions in your .htaccess file to guide visitors to the new location.

  • Памятка: Если Вы меняете лишь сервер, сохраняя доменное имя, все что Вам нужно - подправить wp-config.php и загрузить все на новый сервер в таком виде, в котором оно есть.

If You Don"t Care If Your Old Blog Works

  1. Download a copy of the main wordpress files from your OLD blog to your hard drive and edit wp-config.php to suit the new server.
  2. Again, download your database (but keep the old one just in case), upload this new database and the copy of the wordpress core files with the edited wp-config.php to your new server. Thats it!

If You Want Your Old Blog To Still Work

Caution: Make sure you have a backup of your old blog"s WordPress database before proceeding!

Part A - Activating Your New Blog

  1. Download your entire WordPress installation to your hard drive. Name the folder appropriately to indicate that this is your OLD blog"s installation.
  2. Go back to your OLD blog and go to options and change the url (both of them) to that of your new site.
  3. Again, download your entire WordPress installation to your hard drive. Name the folder appropriately to indicate that this is your NEW blog"s installation.
  4. Download your database once again (but keep the old one). Upload this database to your new server. It will be easiest if you use the same database name and you create a user with the same login credentials on your new server as on your old server.
  5. If you used a different database name and/or user (see previous step), edit wp-config.php in your NEW blog"s installation folder appropriately.
  6. Upload the NEW blog"s installation folder to your new site. Presto, your NEW blog should be working!

Part B - Restoring Your Old Blog

  1. On the original server, delete your OLD blog"s database (remember, you should have a copy on your local computer that you made at the very beginning).
  2. Upload your OLD blog"s installation folder to your original server, overwriting the files that are currently there (you may also delete the installation folder on the server and simply re-upload the OLD blog"s files).
  3. Upload your OLD blog"s database from your local computer to the server. That should do it!

Another procedure for making copies of posts, comments, pages, categories and custom field (post status, data, permalinks, ping status...) easy to follow:

  1. Install a new Wordpress blog
  2. Go on old blog Admin panel. Here, in Manage > Export select "all" in menu Restrict Author.
  3. Click on Download Export File
  4. In new blog go on Manage > Import, choose Wordpress item.
  5. In the page that will be shown, select the file just exported. Click on Upload file and Import
  6. It will appear a page. In Assign Authors, assign the author to users that already exist or create new ones.
  7. Click on Submit
  8. At the end, click on Have fun

Note: using this method if there are some articles in new blog (like hello world, info page...), these will not be erased. Articles are only added. Using the former procedure the article in new blog will be deleted.

Moving WordPress to a New Server with Fantastico

Some webhosts use a service called Fantastico , which can install a vanilla WordPress web with just a few clicks. You can transfer your blog to one of these webs, but the steps are slightly different.

Begin by backing up your data. This includes backing up your WordPress database as well as all the core files, images, plugins, and other files on your site. See and for more details.

Make a copy of your database. You will need to edit the .sql file, and in case of errors, it is important that you work on a copy.

Begin the process of working from copies of your backups.

  1. If you have changed domain, edit the backed up database file to reflect this. A simple way to do this is:
    1. Using a , open a copy of the .sql database file.
    2. Using the search and replace function, find all instances of the blog"s old and replace it with the new URL.
    3. Repeat the process with your old email address. (For example, replacing [email protected] with [email protected])
    4. Save your changes.
  2. Upload your plugins and themes from your old site to the new one.
  3. Drop (delete) the database tables of the pre-installed Fantastico web.

When you are ready to check your site, make sure to and cookies so you will see the changes in your web browser.

  • 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. Важное дополнение в комментарии от

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то