Перенос сайта на 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.progme.ru — имя старого домена, https://progme.ru — имя нового домена с указанием протокола.

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

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

Обновляем guid

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

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

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

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

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

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

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

UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'http://beta.progme.ru', 'https://progme.ru');
UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'http://beta.progme.ru', 'https://progme.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 включает в себя регулярную оптимизацию базы данных, в ходе которой вы избавляетесь от ненужных Читать далее

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

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

Получить параметры сайта с помощью функции get_bloginfo() WordPress

Сегодня мы поговорим об одной нужной функции WordPress get_bloginfo(), которая возвращает параметры сайта и довольно часто применяется при разработке в этой CMS. Например с её помощью можно получить и вывести название, описание сайта, его адрес URL и многое другое. Синтаксис Читать далее

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

  1. Денис:

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

  2. Колян:

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

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

*

code