Как перенести WordPress на другой домен
Если ваш проект попал под фильтр поисковых систем, вы потеряли доступ к старому доменному имени или просто решили создать новое, то вам будет полезно почитать как перенести WordPress на другой домен. Нельзя сказать, что эта задача в веб-разработке встречается достаточно часто, но иногда все же подобные ситуации возникают. Процесс переезда пусть и не самый сложный, но здесь есть несколько важных нюансов.
Кроме того, в отличии от переноса сайта между разными хостингами, где у вас всегда под рукой имеется исходный проект, смена домена в WordPress подобной «роскоши» не допускает. Как правило, вам нужно поменять адрес сайта в той же учетной записи с той же базой данных. Это и является основной сложностью.
Алгоритм можно разделить на несколько глобальных этапов (для удобства дополнительно добавлю нумерацию всех шагов):
Подготовка к переносу
1. Первое, что нужно сделать — создать резервную копию базы данных. Рекомендую так поступать перед выполнением любых задач в БД. Сохранять файлы сайта с FTP на локальный диск, в принципе, нет смысла, т.к. меняется только информация в базе (если это не миграция с между хостингами).
2. В некоторых источниках встречаются рекомендации по правке файла robots.txt перед тем как перенести сайт на WordPress на другой домен. Можно создать новый robots.txt, где указать:
User-agent: * Disallow: / |
Эти строки запретят индексацию проекта поисковиками на время работы. Если файл robots.txt у вас уже был, то предварительно сохраните его к себе на компьютер дабы потом восстановить.
Теоретически с точки зрения SEO в этих действиях есть логика. Вы предотвратите случайное попадание в выдачу лишних материалов в процессе смены вордпресс домена. Однако, если честно, не думаю, что там за полчаса случится что-то страшное, к тому же после обновления robots.txt мусор сам пропадет из выдачи. Выполняйте данный шаг, если хотите сделать все максимально четко (я, если честно, последние несколько раз его пропускал).
3. При использовании кэширования на сайте, есть смысл удалить с FTP устаревшие файлы кэша. Также на время переезда можно отключить соответствующий модуль в админке, как при ручном обновлении системы. Это, в принципе, не критично, просто в процессе проверки будут подгружаться прошлые версии страниц веб-проекта и дезориентировать вас.
Изменяем домен в WordPress на новый
4. На четвертом этапе, во-первых, отредактируем наш файл wp-config.php. Скачиваете его с FTP на компьютер, открываете в редакторе Notepad++ (кодировка utf-8 без BOM) или через Sublime Text. Добавляем туда следующие строки:
define('WP_SITEURL', 'http://newdomain.com'); define('WP_HOME', 'http://newdomain.com'); |
Внимание! Здесь вместо newdomain.com подставляете значение, на которое вы хотите сменить домен в WordPress. После этого сможете заходить в админку по новому пути: http://newdomain.com/wp-admin/.
5. Затем нужно заменить все вхождения прошлого адреса сайта на новый в БД. В системе вордпресс для этих целей предусмотрено несколько модулей:
- Better Search Replace (использую сейчас, он позволяет заменять данные с Guid в отличии от следующего)
- Search & Replace (с символом «&» в названии, а «and» в URL’е).
- All-in-One WP Migration.
- WP Migrate DB.
- Velvet Blues Update URLs.
- Плюс PHP скрипт от InterconnectIt.
Первые три плагина рассмотрел в статье о переносе базы в WordPress — есть из чего выбрать.
Также ранее был обзор Velvet Blues Update URLs. Данное решение нашел как альтернативу Search & Replace пока тот был недоступен. Вся работа, в принципе, сводится к запуску скрипта на странице настроек.
Однако как только Search & Replace снова начать работать, я вернулся к данном варианту. Здесь больше разных опций, например, смена префикса таблиц. Более того, кроме раздела под смену домена (Replace Domain URL) есть вкладка с обычной заменой текстов в базе.
Не забывайте перед запуском обязательно делать бэкап БД.
Важно! По сути, тут есть 2 метода смены домена – через запуск соответствующей функции, например, в том же Velvet Blues Update URLs или вкладка Replace Domain URL в плагине Search & Replace либо обычная замена информация в базе данных.
В первом случае скрипты не имеют никаких тестовых запусков, выбора таблиц и доп.параметров – вы просто указываете старый и новый домены. Второй подход чуть более гибкий, т.к. вы можете просмотреть где еще в БД используется старое доменное имя, какие таблицы есть смысл повторно проверить через PhpMyAdmin и т.п.
Для нового или простого проекта я бы использовал простой скрипт, для крупных — надо тщательно изначально все проанализировать в базе данных. Бекапы must have!
Что касается инструмента PhpMyAdmin. Я использую его для проверки работы упомянутых выше решений (и иногда вначале), дабы проконтролировать процесс переноса WordPress на другой домен:
- Заходим в PhpMyAdmin, где выбираем вашу БД и кликаем по меню «Поиск» (Search).
- На открывшемся странице в поле «Слова поиска» вводите старый адрес веб-проекта и отмечаете все таблицы, зажав левую кнопку мышки.
- Кликаем Go.
В результате получите список таблиц, где встречается прошлое доменное имя. После этого можно еще раз запустить Search & Replace и попытаться поменять информацию там, выбирая конкретные таблицы.
Внимание! Править записи в PhpMyAdmin или через SQL запросы не рекомендуется, т.к. в системе могут быть так называемые сериализованные данные.
s:9:"old words" нужно менять на s:7:"newtext" |
При изменения напрямую этот нюанс учитываться не будет, что в итоге приведет к ошибкам в настройках виджетов, шаблонов и т.п. Поэтому рекомендуется все же использовать для решения задачи специальные плагины. Кстати, некоторые вхождения старого URL могут оставаться в БД (записи кэша или настройки неактивных/удаленных модулей), они вообще никак не влияют на отображение сайта.
Проверка и доработка
Фактически после выполнения пункта номер 5 мы уже перенесли WordPress на другой домен. Однако после этого есть еще парочка важных вещей, которые необходимо реализовать.
6. Первым делом проверяем работоспособность — зайдите в категории, посты, страницы, архивы тегов. На какие моменты нужно обратить особенное внимание:
- Изменение настроек RSS в FeedBurner, если используете RSS ленту.
- Карта сайта. Возможно, в моем случае там был кэш браузера, но почему-то ссылки сразу не изменились. Также следует проверить и XML.
- Каптча — не знаю как в остальных решениях, но для гугловской reCaptcha придется заново перегенерировать ключи.
- Собственно, конфигурацию любого модуля/скрипта, который привязывается в URL проекта, вам нужно будет обновить.
7. SEO настройки. Разумеется, вопрос переезда веб-сайта с точки зрения SEO имеет множество нюансов. Но если говорить конкретно про смену домена в WordPress на новый, то здесь выделю два основных момента:
- Во-первых, нужно вернуть исходный robots.txt, если вы временно закрывались от индексации. Более того, не забудьте подправить в нем директивы Host и Sitemap.
- Еще одна фишка — создание перенаправление со старого адреса. Однако, насколько я понимаю, это реально сделать, когда у вас имеется физически два разных веб-проекта, то есть при переходе между хостингами или с директории /blog/ на основной. В таком случае в прошлый htaccess прописываете соответствующий 301 редирект.
Итого
Не смотря на такое достаточно объемное руководство осуществить для сайта перенос в Вордпресс на другой домен не так уж и сложно. Если вы будете пошагово выполнять данную инструкцию, все у вас получится. Основные моменты здесь: конечно, бэкап (!), потом правка wp-config.php, а также замена вхождений прошлого URL на новый. Последнюю задачу можно решить обычными плагинами и без PhpMyAdmin — как я говорил выше, нет смысла заменять абсолютно все 100% упоминания старого адреса, главное чтобы после завершения алгоритма все ссылки, посты и картинки корректно отображались. Финальная проверка и доработка также важны.
Если остались какие-то вопросы по процедуре переноса сайтов с WordPress на новый домен, пишите в комментах. Дополнениям и советам также буду рад.
комментариев 29 к статье “Как перенести WordPress на другой домен”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Записи и посты wordpress, оформление записи (5,91 из 7, голосов - 47)
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress (3,87 из 7, голосов - 45)
- Умный копирайт в footer.php для wordpress (5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,19 из 7, голосов - 31)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress (4,42 из 7, голосов - 31)
- Плагин TinyMCE Advanced – wordpress текстовый редактор (6,35 из 7, голосов - 20)
- Рубрики и категории wordpress, функция wp_list_categories (6,05 из 7, голосов - 20)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
Редирект неверный в конце, ибо перенаправлять надо не только главную страницу, а все.
И главный вопрос — как просели позиции после смены домена и как быстро восстановились?
Владимир, данный редирект перенаправляет все страницы. Я проверял, все работало.
Позиций не было, сайт слегка ГС + смену домена я сделал за неделю до его завершения (тянул месяц два наверное), поэтому пока только индекс гугла есть)
Очень кстати статья, ибо сам хочу переводить один из сайтов на другой домен. Но по привычке хотел делать дамп mySql и потом править его блокнотом.
Пользуясь случаем, могу я тут пропиарить свой плагин по борьбе с спамом на оф сайте WP?
Djo, можешь скинуть в комментарии ссылку на плагин в соответствующий пост, там где про борьбу со спамом. На одном из блогов я уже видел такой)
Ок, спасибо
Действительно полезная информация для владельцев сайта на wordpress.
Домен попал в бан. Пришлось сменить. Пока все без проблем. Спасибо.
Полезный пост, спасибо, на будущее пригодится.
Спасибо большое за инструкцию, мне как раз необходимо было это сделать, правда поддержка моего хостера Handyhost сама всё за меня сделала)
Неплохой мануал получился. Советы по проверке весьма кстати — один раз сменил домен, и только через пару недель обнаружил глюки в каптче и RSS. Кстати, а как так вышло, что статья новая, а комментарии уже есть?)
Maruish, с гуглокаптчей был такой же прикол, благо клиент заметил его достаточно быстро. Что касается комментариев, то данный пост является апдейтом старой публикации про смену домена в Вордпресс 3х-летней давности. Решил рассказать о задаче более детально.
Да очень интересный материал. Спасибо автору за подробное разъяснение все тонкостей такого сложного вопроса. С уважением!
Как раз только недавно взял проект, где нужно перенести вордпресс на другой домен. Азы я уже знал, но вот подробности выпали. Именно здесь все полочкам разложили, проект уже сдал))
Получила бан, ситуация конечно не из приятных. Кто с таким встречался, меня поймет! Для решения проблемы, необходимо сменить домен! Как это сделать я конечно же была не в курсе! Перекопала пол интернета в поисках информации и только здесь нашла ответ… Все четко и понятно расписано, доступным языком! Спасибо автору!
Сделал все как написано в статье. После пятого шага — использования и смены домена через плагин Search replace, сайт слег — whitepage. Не работает даже ссылка в wp-admin (((
Vlad, попробуйте поискать ошибку обычными методам — выключить плагины / тему или активировать WP_DEBUG режим.
Спасибо Tod, но в конечном итоге были проблемы в другом, через debug в wp-config.php в папке wp-content был сгенерирован лог размером 350 МБ :) — с огромным списком ошибок типа:
PHP Warning: is_dir(): open_basedir restriction in effect. File(/users/******/*****/********.kz/wp-content/uploads/2017) is not within the allowed path(s): (/users/******/*****/********.net:/tmp/:/var/tmp/:/usr/share/php) in users/******/*****/********.net/wp-includes/functions.php on line 1613
Сам непонял в итоге как все исправил (менял домен с ********.net на ********.kz)
Также помогло через PMA в базе данных в таблице wp_options в опции upload_path прописать правилный путь к файлам, т.к. не один из плагинов — Search & Replace и All-in-One WP Migration этого не сделал.
Vlad, спасибо за пояснение, в веб-разработке всякое случается)
Добрый день. Спасибо Вам за статью. Разъясните, пожалуйста, один момент. Надо ли переносить файлы контента в папку директории нового домена? (напр. из папки старыйдомен.com в папку новыйдомен.com на хостинге) Или они перенесутся плагином Search & Replace сами?
Заранее благодарю за ответ!
Арина, в данной статье рассматривается смена домена в WordPress в пределах одного хостинга, то есть все модификации выполняются в базе данных, файлы остаются на месте. Сам плагин Search & Replace не переносит файлы, он просто корректно меняет адрес сайта в БД.
Если же вам нужен имеено перенос сайта на другой хостинг, то можете подсмотреть алгоритм в этой статье (к сожалению, заметка достаточно старая и там весьма обобщенное описание / последовательность действий).
Здравствуйте!
Старый домен виртуальныйриэлтор был переименован на virtrealtor.ru. Сайт занимал 1-е место в топе, причем, в яндекс.Вебмастере и гугле не был прописан. Сейчас в топе на яндексе старый адрес: виртуальныйриэлтор. При переходе ссылка переносит не на новый адрес (virtrealtor), а на старый с надписью: «страница не найдена, но вы можете сделать следующее». Нормально ли это и что можно изменить? Будут ли через месяц статьи сайта virtrealtor.ru в топе? Или поисковики станут их воспринимать как чужие и мне придется переписывать статьи? Спасибо.
Алексей, в 7мом пункте алгоритма я говорил про SEO настройки, посмотрите. Советую добавить новый домен в панеле вебмастера Яндекса и Гугла, а также установить 301 редирект (ссылка есть в статье). Через некоторое время новый домен появится в выдаче, заменив старый.
А самое простое — это воспользоваться managewp. Даже крупные проекты он переносит легко, а главное — не нужно возиться. Сделал бэкап и тут же перенес сайт — безо всякого копания в настройках.
При переносе сайта на другой домен прописал в общих настройках вордпресс новый домен и внес нужные строки в файл wp-config.php. После этого войти в админку не могу, а на хостинге создалась директория с названием нового домена. При вводе в адресную строку браузера выводит на заглушку с сообщением что новый сайт создан. Что я сделал не так? Техподдержка ответила что так и должно быть, и посоветовала править вручную базу данных и потом ее импортировать. Посоветуйте что ни будь пожалуйста
Александр, вручную базу точно не советую править, только через модули. Если таким образом как в статье работа не пошла, то я бы: 1) вернулся в начальное состояние сайта, т.е. убрал в wp-config.php и общих настройках новый домен на старый; 2) затем запустил один из плагинов для смены домена на новый; 3) после этого в wp-config.php задал бы новый адрес.
Не совсем понял почему на хостинге создалась новая директория и какое отношение сервер имеет к WP… может у вас специализированный хостинг какой-то. Ну и обязательно перед всеми действиями делать бекап.
Тоd, спасибо за быстрый ответ! Сейчас попробую сделать по Вашему совету, верну все на место и использую плагин. Бэкапы есть и сайта и базы данных. Почему создалась новая директория сам не пойму. Хостинг вроде бы обычный thehost
Автор, благодарю за материал! Пригодилась статья)
Хороший пост. Как раз нужно было это сделать, а скажите пожалуйста можно быстро заменить адрес сайта через бд в контенте?
Валерий, весь контент хранится в базе данных, поэтому если вы выполнили замену старого УЛР на новый с помощью одного из указаных плагинов (я сейчас юзаю Better Search Replace), то и в контенте домен поменяется.