Skip to main content

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

Перенос сайта на 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 с... Читать далее

Работа с MySQL в PHP

Как в PHP установить соединение с базой данных MySQL, вывести, добавить и удалить записи из... Читать далее

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

Взаимодействие с базой данных в CMS WordPress осуществляется с помощью класса wpdb. Класс позволяет осуществлять... Читать далее

Что такое шорткод и как его использовать

Шорткоды - это PHP функции, которые можно вставлять в текст записи, страницы или другой таксономии... Читать далее

Contact Form 7 reCAPTCHA. Установка и настройка

Защитить от спама свои контактные формы на сайте WordPress, созданные в плагине Contact Form 7... Читать далее

Установка WordPress на Open Server

В этой статье подробно рассмотрим как установить CMS WordPress на локальный сервер Open Server. Установка... Читать далее

2 комментариев к “Перенос сайта на WordPress на другой домен”

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

*

code