Вступление
Содержание статьи:
В этой статье рассмотрим технический вопрос, как изменить адрес сайта в WordPress, без решения вопросов оптимизации и сохранения его веса, в частности тИЦ, у поисковых систем.
Зачем менять домен (адрес) сайта WordPress
Причин сменить домен своего сайта может быть масса. Например:
- Вы сделали сайт на локальной платформе и пора переносить его на рабочий домен (самая распространенная причина);
- Вы сделали сайт на бесплатном домене третьего уровня, и хотите начать работу на нормальном работе второго уровня. Например, перенос сайта созданного на WordPress.com на платных хостинг;
- Вы сделали сайт на субдомене и хотите перенести его на основной домен;
- Вы попали под очень жесткие санкции поисковиков;
- Другие причины.
В отличие от переезда сайта на новый хостинг, смена адреса сайта, в том числе перенос сайта с локальной платформы, приведет к потере всех внутренних ссылок сайта, а также адреса самого сайта, которые прописаны в базе данных сайта и в файле конфигурации.
Техническое решение этой проблемы при смене адреса, заключается в изменении всех URL со старым доменом в базе данных сайта и в файле его конфигурации (wp-config.php).
Важно! Напоминаю, всегда имейте «под рукой», полную резервную копию сайта. Она поможет восстановить его в случае любых неудач.
Вариант 1. Используем для смены адреса настройки сайта в административной панели
Переезд с субдомена на домен
- Войдите в административную панель сайта;
- На вкладке Настройки>>>Общие в двух полях с адресами сайта, «Адрес WordPress» и «Адрес сайта», впишите полный адрес сайта с протоколом на новом домене;
- Сохранитесь.
- «Адрес сайта (URL)» это адрес, который вы хотите, чтобы люди набирали в браузере, чтобы открыть ваш сайт WordPress.
- «WordPress адрес (URL)» это адрес, где фактически лежат папки и файлы WordPress.
Обе настройки должны включать в себя HTTP: // часть и не должны иметь косую черту «/» в конце.
Это вариант, несмотря на простоту воплощения, наиболее «опасен». Слишком много нюансов и велика вероятность, потерять доступ не только к сайту, но и к административной панели. Этот способ подойдет для переезда с субдомена на домен, однако не используйте приём в других вариантах смены адреса.
Вариант 2. Переезд на новый домен
Рассмотрим вариант смены «домена 1» на «домен 2» или, проще, переезд сайта на новый домен. Пусть «домен 2» будет на новом хостинге.
- Сделайте резервную копию сайта на «домен 1»;
- Зарегистрируйтесь на новом хостинге, создайте корневую папку нового домена «домен 2» и создайте новую базу данных;
- Из резерва возьмите файл конфигурации [wp-config.php] рабочего шаблона;
- В текстовом редакторе Notepad++ добавьте в этот файл 2 строки:
define('WP_SITEURL', 'http://domen1.ru');
define('WP_HOME', 'http://domen2.ru');
- Так же, в этом файле смените учетные данные новой базы данных созданной для «домен 2»;
- Сохранитесь и верните, если нужно, файл [wp-config.php] на место;
- По FTP, используя FilleZilla или WinSCP, перенесите содержимое корневого каталога из резервной копии в корень нового домена «домен 2»;
- Перенесите (экспортируйте) в новую базу данных дамп базы из резервной копии;
- Откройте панель сайта, под новым доменом используя старые логин и пароль. Процесс автоматического изменения может длиться некоторое время.
Важно! Проверьте работу сайта, его ссылок, фото, прямых видео. Если всё работает нормально, удалите добавленные строки их файла [wp-config.php] рабочего шаблона.
Вариант 3 Смена «домена 1» на «домен 2» на одном хостинге
Чтобы изменить адрес сайта WordPress на одном хостинге, для обоих доменов, обычно, используется общий сервер базы данных. Так как база нового сайта будет находится на том же сервере, можно было бы предложить, не создавать новую базу данных, как в варианте 2, а только вставить файл [wp-config.php] две функции, не меняя учетные данные для базы данных.
Однако, совершенно не понятно как, настроен ваш сервер и это может сработать не корректно. Лучше полностью повторить вариант 2, а именно, для нового домена создать новую базу данных и перенести в неё дамп базы сайта, а в файле [wp-config.php], не только вписать новые строки, но и сменить учетные данные базы данных.
Вариант 4 Перенос сайта с локальной платформы
Изменить адрес сайта WordPress при переносе сайта с локального сервера, например XAMPP, на рабочую платформу платного хостинга, делаем всё как в варианте 2. Для смены siteurl в WordPress используем описанный выше вариант или используем следующую альтернативу.
- Зарегистрируйтесь на новом хостинге, создайте корневую папку нового домена;
- Перенесите корневую папку локального сайта на платный хостинг без изменений;
- Создайте на хостинге новую базу данных;
- Авторизуйтесь в phpmyadmin своего домена;
- Откройте импортированную базу данных и найдите таблицу [wp_options]. Нажмите «Обзор»;
- В открывшейся таблице нужна запись для siteurl. Для этой записи жмем «Правка»;
- В окне редактора в поле [option_value] пишем полный адрес нового домена без косой черты в конце;
- Сохраняемся и проверяем результат открыв сайт в браузер.
Вывод 1
В перечисленных вариантах, мы практически не делали ничего самостоятельно, а предполагали, что система WordPress получит наши сигналы о смене адреса и сделать дальнейшее автоматом. Но это не всегда работает. Поэтому еще два варианта.
Изменить адрес сайта WordPress через SQL запрос вариант 4
- Опять работаем в phpmyadmin. Выполняем все этапы переноса сайта;
- Импортируем базу данных сайта;
- Открываем импортированную базу и входим на вкладку «SQL». Делаем к базе данных три запроса SQL:
UPDATE wp_options SET option_value = replace(option_value, 'http://domain1.ru', 'http://domain2.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://domain1.ru','http://domain2.ru');
UPDATE wp_posts SET post_content = replace(post_content, 'http://domain1.ru', 'http://domain2.ru');
Тем самым меняем все ссылки в базе данных.
Вариант 5
Если база данных не большая, эту же работу (смену всех ссылок) можно сделать вручную, открыв дамп базы данных в тестовом редактора Notepad++ и кнопками «Поиск» и «Замена» поменять domen1 на domen2.
Вариант 6
Если база данных большая, то поменять домены в дампе БД в текстовом блокноте не получится. В этом случае используем специальную утилиту, а именно:
- Делаем резервную копию базы данных (на случай fatal error);
- Переносим сайт на новый домен;
- Берем на Github тут: https://github.com/interconnectit/Search-Replace-DB/releases ZIP-архив утилиты;
- По FTP идем в корень нового домена и создаем папку со сложным именем;
- Распаковываем скачанный ZIP архив в эту папку;
- В браузере вызываем страницу: domen2.ru/имя_каталога_со_скриптом/
Видим страницу управления. В поле «replace» пишем старый домен (domen1), в поле «with» пишем новый домен (domen2).
изменить адрес сайта WordPress через скрипт
- Чекбокс «use regex» открываем.
- Проверяем поля «database», они заполняются при открытии скрипта.
- Нам нужно задействовать все таблицы БД, значит, выделяем «all tables».
- Жмём «live run», далее подтверждаем «OK».
Страницу не закрываем, а ждём завершения переименования.
Важно! После выполнения работы, удаляем каталог со скриптом из корня домена.
Подсказки: https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
Вывод 2
Как видите, вариантов технического решения задачи изменить адрес сайта WordPress несколько. Какой вариант сработает у вас, зависит от настроек вашего сервера, главное всегда иметь под рукой резервную копию сайта и дамп базы данных в различных форматах.
Источник: www.wordpress-abc.ru