Фев
20
29

Как перенести WordPress на другой домен

Смена 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) есть вкладка с обычной заменой текстов в базе.

Замена домена в Search & Replace

Не забывайте перед запуском обязательно делать бэкап БД.

Важно! По сути, тут есть 2 метода смены домена – через запуск соответствующей функции, например, в том же Velvet Blues Update URLs или вкладка Replace Domain URL в плагине Search & Replace либо обычная замена информация в базе данных.

В первом случае скрипты не имеют никаких тестовых запусков, выбора таблиц и доп.параметров – вы просто указываете старый и новый домены. Второй подход чуть более гибкий, т.к. вы можете просмотреть где еще в БД используется старое доменное имя, какие таблицы есть смысл повторно проверить через PhpMyAdmin и т.п.

Для нового или простого проекта я бы использовал простой скрипт, для крупных — надо тщательно изначально все проанализировать в базе данных. Бекапы must have!

Что касается инструмента PhpMyAdmin. Я использую его для проверки работы упомянутых выше решений (и иногда вначале), дабы проконтролировать процесс переноса WordPress на другой домен:

  1. Заходим в PhpMyAdmin, где выбираем вашу БД и кликаем по меню «Поиск» (Search).
  2. На открывшемся странице в поле «Слова поиска» вводите старый адрес веб-проекта и отмечаете все таблицы, зажав левую кнопку мышки.
  3. Кликаем Go.

Поиск в базе данных PhpMyAdmin

В результате получите список таблиц, где встречается прошлое доменное имя. После этого можно еще раз запустить 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 на новый домен, пишите в комментах. Дополнениям и советам также буду рад.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 13, средний балл: 5,62 из 7)
Загрузка...

категория Категории: Возможности;
теги Теги: , , , , , , .

комментариев 29 к статье “Как перенести WordPress на другой домен”

  • Владимир Лапшин   21.08.2014

    Редирект неверный в конце, ибо перенаправлять надо не только главную страницу, а все.
    И главный вопрос — как просели позиции после смены домена и как быстро восстановились?

  • Tod   21.08.2014

    Владимир, данный редирект перенаправляет все страницы. Я проверял, все работало.
    Позиций не было, сайт слегка ГС + смену домена я сделал за неделю до его завершения (тянул месяц два наверное), поэтому пока только индекс гугла есть)

  • Djo   21.08.2014

    Очень кстати статья, ибо сам хочу переводить один из сайтов на другой домен. Но по привычке хотел делать дамп mySql и потом править его блокнотом.
    Пользуясь случаем, могу я тут пропиарить свой плагин по борьбе с спамом на оф сайте WP?

  • Tod   24.08.2014

    Djo, можешь скинуть в комментарии ссылку на плагин в соответствующий пост, там где про борьбу со спамом. На одном из блогов я уже видел такой)

  • Djo   25.08.2014

    Ок, спасибо

  • Валентина   11.09.2014

    Действительно полезная информация для владельцев сайта на wordpress.

  • Владимир   15.09.2014

    Домен попал в бан. Пришлось сменить. Пока все без проблем. Спасибо.

  • Дмитрий   30.09.2014

    Полезный пост, спасибо, на будущее пригодится.

  • Евгений   06.02.2017

    Спасибо большое за инструкцию, мне как раз необходимо было это сделать, правда поддержка моего хостера Handyhost сама всё за меня сделала)

  • Maruish   21.02.2017

    Неплохой мануал получился. Советы по проверке весьма кстати — один раз сменил домен, и только через пару недель обнаружил глюки в каптче и RSS. Кстати, а как так вышло, что статья новая, а комментарии уже есть?)

  • Tod   21.02.2017

    Maruish, с гуглокаптчей был такой же прикол, благо клиент заметил его достаточно быстро. Что касается комментариев, то данный пост является апдейтом старой публикации про смену домена в Вордпресс 3х-летней давности. Решил рассказать о задаче более детально.

  • Валерий   22.02.2017

    Да очень интересный материал. Спасибо автору за подробное разъяснение все тонкостей такого сложного вопроса. С уважением!

  • Дмитрий   06.07.2017

    Как раз только недавно взял проект, где нужно перенести вордпресс на другой домен. Азы я уже знал, но вот подробности выпали. Именно здесь все полочкам разложили, проект уже сдал))

  • Людмила   19.07.2017

    Получила бан, ситуация конечно не из приятных. Кто с таким встречался, меня поймет! Для решения проблемы, необходимо сменить домен! Как это сделать я конечно же была не в курсе! Перекопала пол интернета в поисках информации и только здесь нашла ответ… Все четко и понятно расписано, доступным языком! Спасибо автору!

  • Vlad   02.10.2017

    Сделал все как написано в статье. После пятого шага — использования и смены домена через плагин Search replace, сайт слег — whitepage. Не работает даже ссылка в wp-admin (((

  • Tod   02.10.2017

    Vlad, попробуйте поискать ошибку обычными методам — выключить плагины / тему или активировать WP_DEBUG режим.

  • Vlad   05.10.2017

    Спасибо 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 этого не сделал.

  • Tod   05.10.2017

    Vlad, спасибо за пояснение, в веб-разработке всякое случается)

  • Арина   08.02.2018

    Добрый день. Спасибо Вам за статью. Разъясните, пожалуйста, один момент. Надо ли переносить файлы контента в папку директории нового домена? (напр. из папки старыйдомен.com в папку новыйдомен.com на хостинге) Или они перенесутся плагином Search & Replace сами?

    Заранее благодарю за ответ!

  • Tod   08.02.2018

    Арина, в данной статье рассматривается смена домена в WordPress в пределах одного хостинга, то есть все модификации выполняются в базе данных, файлы остаются на месте. Сам плагин Search & Replace не переносит файлы, он просто корректно меняет адрес сайта в БД.
    Если же вам нужен имеено перенос сайта на другой хостинг, то можете подсмотреть алгоритм в этой статье (к сожалению, заметка достаточно старая и там весьма обобщенное описание / последовательность действий).

  • Алексей   08.04.2018

    Здравствуйте!
    Старый домен виртуальныйриэлтор был переименован на virtrealtor.ru. Сайт занимал 1-е место в топе, причем, в яндекс.Вебмастере и гугле не был прописан. Сейчас в топе на яндексе старый адрес: виртуальныйриэлтор. При переходе ссылка переносит не на новый адрес (virtrealtor), а на старый с надписью: «страница не найдена, но вы можете сделать следующее». Нормально ли это и что можно изменить? Будут ли через месяц статьи сайта virtrealtor.ru в топе? Или поисковики станут их воспринимать как чужие и мне придется переписывать статьи? Спасибо.

  • Tod   09.04.2018

    Алексей, в 7мом пункте алгоритма я говорил про SEO настройки, посмотрите. Советую добавить новый домен в панеле вебмастера Яндекса и Гугла, а также установить 301 редирект (ссылка есть в статье). Через некоторое время новый домен появится в выдаче, заменив старый.

  • Борис   01.10.2018

    А самое простое — это воспользоваться managewp. Даже крупные проекты он переносит легко, а главное — не нужно возиться. Сделал бэкап и тут же перенес сайт — безо всякого копания в настройках.

  • Александр   26.12.2018

    При переносе сайта на другой домен прописал в общих настройках вордпресс новый домен и внес нужные строки в файл wp-config.php. После этого войти в админку не могу, а на хостинге создалась директория с названием нового домена. При вводе в адресную строку браузера выводит на заглушку с сообщением что новый сайт создан. Что я сделал не так? Техподдержка ответила что так и должно быть, и посоветовала править вручную базу данных и потом ее импортировать. Посоветуйте что ни будь пожалуйста

  • Tod   26.12.2018

    Александр, вручную базу точно не советую править, только через модули. Если таким образом как в статье работа не пошла, то я бы: 1) вернулся в начальное состояние сайта, т.е. убрал в wp-config.php и общих настройках новый домен на старый; 2) затем запустил один из плагинов для смены домена на новый; 3) после этого в wp-config.php задал бы новый адрес.
    Не совсем понял почему на хостинге создалась новая директория и какое отношение сервер имеет к WP… может у вас специализированный хостинг какой-то. Ну и обязательно перед всеми действиями делать бекап.

  • Александр   26.12.2018

    Тоd, спасибо за быстрый ответ! Сейчас попробую сделать по Вашему совету, верну все на место и использую плагин. Бэкапы есть и сайта и базы данных. Почему создалась новая директория сам не пойму. Хостинг вроде бы обычный thehost

  • Иван   20.03.2019

    Автор, благодарю за материал! Пригодилась статья)

  • Валерий   26.10.2019

    Хороший пост. Как раз нужно было это сделать, а скажите пожалуйста можно быстро заменить адрес сайта через бд в контенте?

  • Tod   27.10.2019

    Валерий, весь контент хранится в базе данных, поэтому если вы выполнили замену старого УЛР на новый с помощью одного из указаных плагинов (я сейчас юзаю Better Search Replace), то и в контенте домен поменяется.

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости