Практически все плагины по миграции сайта на WordPress имеют ограничения в плане объёма сайта. Рано или поздно, любой сайт перерастает эти ограничения, и пользоваться бесплатными версиями плагинов для переноса сайта на WordPress больше не получится.
На самом деле, ручной перенос сайта ничем не сложнее простого переноса сайта с помощью плагинов. В некоторых моментах так даже проще).
Для ручного переноса сайта на нашем движке нам понадобится всего лишь:
- Доступ к папке с файлами WordPress;
- Доступ к базе данных, например PHPmyadmin. Он присутствует на большинстве хостингов и в панелях управления VDS.
Статей по переносу сайтов на другие домены в интернете море. Я скорее пишу эту статью как заметку для себя, но может она кому-то ещё пригодится, ибо данный способ самый быстрый и эффективный.
Чтобы уже чуть чуть знающие люди могли не читать примитивные действия с переносами и тп, вот краткий алгоритм действий:
- Деактивируем плагины сайта на старом домене, во избежание конфликтов;
- Копируем файлы WordPress со старого местоположения;
- Экспортируем старую DB;
- Простым копированием переносим старые файлы WordPress на новый хостинг и домен;
- На новом месте создаём базу и импортируем в неё данные с прошлой базы. Меняем две строки в базе wp_options, подставляя актуальный URL сайта с новым доменом;
- Заменяем пару строк в файле wp-config, подключая его к новой базе данных на новом месте.
- Переписываем URL адреса вручную, либо с помощью бесплатного плагина.
- Profit!
Для тех же, кто не понимает, что тут происходит, более подробный процесс переноса:
Действия на старом адресе при переносе сайта на WordPress
Краткий порядок действий таков:
- Создание копии файлов вашего сайта на WordPress;
- Экспорт базы данных.
Для примера мы предположим, что я хочу перенести сайт одного моего клиента с хостинга timeweb на арендованную там же виртуальную машину. Ну и домен ему тоже нужно поменять.
Внимание! Я показываю на примере Timeweb, но по факту на каждом хостинге вам доступны точно такие же функции админ-панели. Просто они выглядят по-разному, но назначение одинаково. Я просто люблю Timeweb и всем рекомендую пользоваться именно их услугами. О том, почему я так его люблю, можно почитать в статье Шаг №2 Выбор хостинга для размещения сайта. В моём случае, главное преимущество timeweb - возможность расширения дискового пространства без покупки доп. тарифа.
Первым делом заходим в панель управления хостингом и скачиваем все файлы из текущей директории WordPress, можно в виде архива. На timeweb это пункты файловый менеджер - архиватор - запаковать и скачать.
Как итог - мы получаем .zip архив со всем содержимым нашего прошлого сайта.
Далее мы идём в базы данных и входим в админку phpmyadmin. Тут важно понимать, что phpmyadmin - всего лишь оболочка для управления БД, а потому в левой части страницы нужно будет выделить именно ту БД. которая отвечает за переносимый сайт.
Выбрав именно нужную нам БД нажимаем на "экспорт", жмём "вперёд" и получаем файл с дампом базы в формате sql.
Теперь у нас есть всё что нужно для переноса. На этом моменте общение со старым хостингом и доменом можно прекращать, если конечно вы не хотите настроить редиректы. Переходим на "новое место жизни" нашего сайта.
Действия на новом хостинге и домене.
Первым делом, мы берем и закидываем папку с файлами нашего старого WordPress сайта на новое место, попутно разархивируем все файлы в рабочий каталог нового домена. На тестовой VDS тестовый каталог у меня находится по пути www/lescom.shadani.ru/
Все файлы на новое место мы скопировали, теперь нужно создать базу данных. Большинство хостинг-провайдеров не позволят вам создать БД с тем же именем, что и на прошлом месте. Потому, имя БД скорее всего у вас изменится. После создания БД нам нужно запомнить 3 вещи, её имя, имя её админа и пароль. Перенос WordPress с включённой функцией мультисайта немного отличается (тык).
Создали БД? Отлично! Первым делом нам нужно отредактировать файл wp-config в нашей новой папке сайта. Все данные новой БД вписываем в нужные строки.
DB_NAME - имя нашей базы. DB_USER - имя пользователя базы, ну и DB_PASSWORD - его пароль. Окей, сохраняем и закрываем.
Теперь нам нужно импортировать в новую базу данные из старого дампа. Идём в phpmyadmin, авторизуемся под логином и пользователем, созданным ранее и прописанным в wp-config. Выбираем нашу базу прожимаем Импорт. Указываем файл с БД, который мы скачали с прошлого хостинга и жмякаем "Вперёд".
Следующее, что нам следует сделать - заменить старый URL, хранящийся в базе, на новый. Данная информация находится в wp_options, в строка siteurl и home.
На этом моменте сайте уже должен заработать. Вход в админку сайта производится по старым учётным данным. Единственное НО - на сайте остались старые ссылки, ведущие на прошлый домен. Их нужно переписать, но делать это вручную или через автозамену в БД не стоит.
Во избежание конфликтов рекомендуется так же удалить содержимое папки wp-content/cache/ , однако у меня ни разу не возникало проблем даже когда я забывал это сделать.
Замена старых ссылок на новые при переносе Worpress сайта
Для правильной замены старых ссылок на актуальные лучше всего положиться на плагины. Плагинов с данным функционалом куча, лично я уже привык к Velvet Blues Update URLs, тем более что он ни разу пока что не подводил.
После установки и активации Velvet Blues Update URLs в инструментах появится дополнительная функция - Update URLs.
В верхнее поле заносим старый адрес сайта, в нижнее - новый. Отмечаем галками нужные пункты и прожимаем единственную кнопку.
Плагин радостно оповестит вас об успехе операции. Можно идти проверять - всё должно быть на своих местах, все старые ссылки перебиты на новые и сайт полностью функционирует, словно и не было никакого переноса =)
Если после обновления URL сайт потерял оформление и ругается на незащищённый протокол, значит в настройках WordPress на вкладке "Общие" нужно указать https.
Отличия в переносе мультисайта WordPress на новый домен
Разница в переносе WordPress с мультисайтами на другой домен не слишком то велика.
Во-первых, в файле Wp-config.php помимо ввода нового имени базы/пользователя/пароля, нужно так же внести изменения в строчку "define('DOMAIN_CURRENT_SITE', 'НОВЫЙДОМЕН');:
Во-вторых, заменять старый url на новый придётся в бОльшем количестве таблиц в вашей бд. В зависимости от количества сайтов в мультисети, у вас будет несколько таблиц wp_options, т.е. если у вас в мультисайте два сайта - будет wp_options и wp_2_options. Соответственно, заменить старый адрес на новый нужно в обеих таблицах.
Помимо wp_options новый адрес нужно там же прописать в таблице wp_blogs . Её нет в обычной версии Wp, она появляется только при включении мултисайтовости.
Похожие статьи:
Кастомизируем внешний вид входа в админку WordPress