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

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

13 сентября 2019 WordPress

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

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

Шаг 1. Перенос файлов сайта и базы данных WordPress

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

Шаг 2. Изменение настроек для базы данных в wp-config.php

Открываем файл конфигурации wp-config.php из корня сайта и меняем значения имени базы данных, имени пользователя и пароль. Имя сервера чаще всего остается localhost, либо меняем его на новое.

/** Имя базы данных для WordPress */
define( 'DB_NAME', 'название_базы' );

/** Имя пользователя MySQL */
define( 'DB_USER', 'имя_пользователя' );

/** Пароль к базе данных MySQL */
define( 'DB_PASSWORD', 'пароль' );

/** Имя сервера MySQL */
define( 'DB_HOST', 'localhost' );

Шаг 3. Выполнить SQL-запросы

Все в том же phpMyAdmin нужно выбрать используемую базу данных и перейти во вкладку SQL. Далее необходимо выполнить 3 основных запроса к базе данных для изменения старого домена на новый, где http://beta.it-blog.ru — имя старого домена, https://it-blog.ru — имя нового домена с указанием протокола.

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://beta.it-blog.ru', 'https://it-blog.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://beta.it-blog.ru', 'https://it-blog.ru');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://beta.it-blog.ru','https://it-blog.ru');

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

Обновляем guid

guid используется как глобальный идентификатор в RSS.

Аналогично предыдущим 3 запросам выполняем еще один. Если перенос осуществляется с локального сервера, то меняем все значения guid:

UPDATE wp_posts SET guid = REPLACE (guid, 'http://beta.it-blog.ru', 'https://it-blog.ru');

Если не с локального, то необходимо поменять guid только у вложений:

UPDATE wp_posts SET guid = REPLACE (guid, 'http://beta.it-blog.ru', 'https://it-blog.ru') WHERE post_type = 'attachment';

Обновляем старый домен в комментариях

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

UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'http://beta.it-blog.ru', 'https://it-blog.ru');
UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'http://beta.it-blog.ru', 'https://it-blog.ru');

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

Остались вопросы по статье? Задайте их прямо сейчас!
Похожие записи
Простая пагинация на PHP и MySQL

Это руководство о том, как сделать простое разбиение на страницы, используя PHP и MySQL с плагином jQuery Simple Pagination.Simplepagination.js - это простой плагин для jQuery, поддерживающий CSS3 и Bootstrap. Шаг 1: Включаем все js и css файлы Плагин jQuery Simple Pagination скачиваем отсюда. <link rel="stylesheet" Читать далее

Работа с MySQL в PHP

Как в PHP установить соединение с базой данных MySQL, вывести, добавить и удалить записи из базы с помощью SQL запросов. Мы будем использовать подключение с помощью расширения Mysqli доступного в PHP начиная с версии 5.3. PHP подключение к MySQL Подключаемся Читать далее

Как выполнять SQL запросы WordPress с помощью класса wpdb

Взаимодействие с базой данных в CMS WordPress осуществляется с помощью класса wpdb. Класс позволяет осуществлять различные операции с базой данных, такие как добавление, удаление, обновление и вывод данных. Обращаться к базе данных необходимо через глобальную переменную $wpdb. Таким образом перед Читать далее

Как создать виджет WordPress

Виджеты используются для добавления контента на страницу WordPress без изменения шаблонов тем. Боковая панель является областью по умолчанию для добавления содержимого виджетов. Также вы можете зарегистрировать собственную область виджетов и добавить в нее виджеты. WordPress содержит некоторые виджеты по умолчанию Читать далее

Оптимизация WordPress

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

Отправка сообщений в Telegram из Contact Form 7

Мы уже рассматривали как отправлять сообщения в телеграмм из обычного PHP скрипта и заказы из OpenCart. В этой статье вы узнаете как отправлять сообщения в телеграмм из плагина WordPress Contact Form 7. Создаем бота Боты в Telegram создаются через другого Читать далее

2 комментария на «Перенос сайта на WordPress на другой домен»

  1. Денис:

    Получилось перенести с локального сервера. Спасибо огромное!

  2. Колян:

    Спасибо! Все ок)

Добавить комментарий

*

code