Как изменить адрес сайта в WordPress

Вы закончили разработку сайта на своём домашнем компьютере или ноутбуке? Хотите перенести сайт с технического домена на основной? В материалах этой статьи вы увидите несколько способов решить эту простую задачу, не прибегая к установке специализированных плагинов для переноса (коих уже около 10 можно насчитать).

Это лишь способ переместить сайт с разработческого домена на полноценный. Она вам так же поможет изменить адрес сайта, безусловно, но все SEO-хитрости здесь нарочно не рассматриваются. Возможно по ним появится отдельная статья, но пока её нет и в ближайшее время не планируется.

В этой статье не рассматриваются:

  • Переадресация (301 редирект) со старого домена на новый
  • Перенос веса со старого сайта на новый
  • Изменение адреса сайта в режиме Мультисайта

Введение

Среди всех существующих настроек в WordPress, наиболее важными являются лишь две, а именно: «Адрес WordPress» и «Адрес сайта». Они находятся в разделе «Настройки» — «Общие». «Адрес WordPress» — это непосредственно ваш домен, а «Адрес сайта» — место, куда установлен WordPress. Это может быть поддиректория /blog/ основного домена или что вашей душе угодно. Лично я ни разу не встречал сайтов, которые бы действительно использовали второе поле среди этих двух настроек.

Как изменить адрес сайта в WordPress

Обе эти настройки отвечают за то, как будет выглядеть URL вашего сайта вне админки WordPress. Задаются они на этапе установке и, чаще всего, изменять их нет необходимости в будущем. Но если вы решили перенести ваш сайт на новый домен, либо разместить его в поддомене или поддиректории, то нужно в обязательном порядке обновить эти настройки. Иначе вы получите 404 ошибку, т.к. текущие адреса не будут совпадать с новым адресом вашего сайта.

Существует несколько путей изменения этих настроек. Давайте рассмотрим их.

Внимание!
Обязательно делайте резервные копии файлов перед изменением. В идеале — делать полную резервную копию сайта вместе с базой данных. Если вы не программист, то настоятельно рекомендую каждый раз перед изменением любых файлов делать их копии на свой компьютер. Это позволит в случае непредвиденных ситуаций быстро восстановиться на шаг назад.

Изменение настроек через wp-config.php

Это наиболее простой способ изменения нужных нам настроек, но потребует знаний в работе с FTP вашего хостинга и редактированием файлов через FTP-клиент, например, FileZilla. Откройте файл wp-config.php в корневой директории вашего сайта и добавьте две строки:

define( 'WP_HOME', 'http://новый-адрес-сайта.ru' );
define( 'WP_SITEURL', 'http://новый-адрес-сайта.ru' );

Обращаю ваше внимание:

  • Укажите корректный адрес сайта, вместо фразы «новый-адрес-сайта.ru» в примере выше.
  • Внимательно следите за тем, чтобы каждая строка завершалась символом «точка с запятой».
  • Завершающий слеш в конце адреса сайта ставить не надо!

Помните, что как только вы внесёте эти строки в файл wp-config.php, вы не сможете внести изменения в эти значения через интерфейс административной панели. Файл wp-config.php имеет бОльший приоритет. По этой причине я рекомендую воспользоваться любым из способов ниже.

Изменение настроек через functions.php

Этот способ наиболее предпочтительный и самый простой в использовании. Принцип работы очень прост: добавляем две строки в файл functions.php, находящийся в директории с вашей темой. После этого заходим по новому адресу сайта, ждём пару мгновений и… всё! Сайт автоматически пропишет нужные значения в базу данных, после чего всё должно заработать.

Если вдруг сайт не открылся — попробуйте очистить кеш вашего браузера.

Давайте пройдёмся по порядку:

  • Заходим в директорию вашей темы по адресу /wp-content/themes/ВАША_ТЕМА/
  • Открываем файл functions.php и после первой строчки <?php вставляем:
    update_option( 'siteurl', 'http://новый-адрес-сайта.ru' );
    update_option( 'home', 'http://новый-адрес-сайта.ru' );

    Вместо «новый-адрес-сайта.ru» укажите ваш адрес.

  • Сохраняйте файл
  • Заходите на сайт и наслаждайтесь результатом

Как только сайт заработает — удалите эти строки из файла functions.php!

Используем автоматическое определение адреса сайта

В WordPress есть возможность автоматического определения адреса сайта и обновления настроек в базе данных. Этот способ подходит только для исправления входа в административную панель, при входе в которую, вы должны будете прописать корректный адрес в меню «Настройки» — «Общие».

  • Откройте файл wp-config.php в корневой директории вашего сайта
  • Перед строкой «Это всё, дальше не редактируем», добавляем следующий код:
    define( 'RELOCATE', true );
  • Сохраняем файл
  • Заходим по адресу http://новый-адрес-сайта.ru/wp-login.php
  • Входите под своим логином и паролем

Как только войдёте, следуйте в «Настройки» — «Общие» и изменяйте адрес сайта на нужный вам.

Не забудьте удалить добавленную строку из файла wp-config.php!

Изменение настроек через phpMyAdmin

Этот способ наиболее сложный в реализации и использовать его стоит лишь в том случае, если ни один из предыдущих двух вам не помог по каким-либо причинам. Его суть проста: заходим в систему управления базой данных, в моём случае это скрипт phpMyAdmin. Кроме него существуют и другие, например, Adminer, либо что-то иное. После этого редактируем настройки в таблице wp_options. На этом всё.

Приступим?

  • Заходим в phpMyAdmin. Адрес входа узнайте у вашего хостинг-провайдера.
  • Выбираем из списка слева вашу базу данных, которая используется на сайте.
  • После этого ищем таблицу wp_options во вкладке «Структура» и нажимаем «Обзор»:
    Как изменить адрес сайта в WordPress
    Важно! Если у вас таблицы начинаются с wp_, как в этом примере, обязательно изучите инструкцию «Как изменить префикс таблиц в WordPress»!
  • Переходим на вкладку «SQL»:
    Как изменить адрес сайта в WordPress
  • И вставляем в текстовое поле следующий код:
    UPDATE `wp_options` SET option_value = 'http://адрес-вашего-сайта.ru' WHERE option_name IN ('siteurl', 'home');

    Вместо «адрес-вашего-сайта.ru» подставьте нужный вам адрес.

  • После этого нажимайте кнопку «ОК» справа внизу:
    Как изменить адрес сайта в WordPress

Наслаждаемся результатом! :-)

Если вы хотите поблагодарить меня за материал — можете сделать это здесь :-)

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Комментарии

  • Спасибо!!!

  • А как же тогда инструкция к применению Google?https://support.google.com/sites/answer/1238500?hl=ru

  • Спасибо! Переносил сайт на локальный, при заходе в wp-admin, меня перекидывало на старый хостинг. Манипуляции с functions.php — очень помогли!

  • Добрый день? У меня такая проблема… Домен в зоне рф, загрузил движок вордпресс на хостинг и все ссылки на сайт отображаются какими то иероглифами, хотя зайти могу по своему домену. Попытки изменить домен в общих настройках админки, результата не дают… Подскажите, в чем беда, может на хостинге что то нужно изменть? Спасибо!

    • Здравствуйте!

      Вы про «http://www.xn--80aidjablbzcndhob.xn--p1ai/» в названии домена?
      Если да, то это так называемый Punycode, когда не-латинские символы преобразуются по определённым правилам.
      Это всё из-за домена на русском языке, но не стоит считать это проблемой, сейчас многие домены на русском.

      • Да, но визуально в поисковой системе и контекстной рекламе выглядит не очень…. Принял решение открыть такой же домен на латинице и сделать редирект…

  • Здравствуйте Александр! У меня такая проблема…
    1) Перенесла сайт на новый домен, все работает вроде хорошо…но не могу зайти на вкладку Настройки—Общие сразу перекидывает на страницу «Не найдено»
    2) также еще то что сейчас заметила… на сайте установлен woocommerce и после того как совершаю заказ — не приходят уведомления… сайт установлен на беспл.хостинг, но у меня есть и другие сайты на беспл.хостинге с интерн.магазином и все уведомления о новом заказе доставляются как покупателю так продавцу на почту успешно… Вот хотела по этой причине посмотреть какой email прописан во вкладке Общие, а туда никак не попаду… Помогите пожалуйста разобраться

  • Спасибо за статью!

  • Здравствуйте. Поменял все как вы сказали через function и не могу войти в админку. Просьба подсказать как исправить. Спасибо.

    • Доброе утро! Что происходит, когда заходите в админку? Редиректит куда-то или логин/пароль не принимает? Нужно больше подробностей, чтобы как-то можно было помочь вам.

  • Ну прописал. И чё. Сайт полетел, ничего не отображается и не загружается. Спасибо.

  • Огромнейшое спасибо! Я прошлась почти по всем способам, пока не восстановила, пароль, не зашла в базу данных, подключила тему и, наконец то! зашла в админку. Проблемный перенос с локального на хостинг получился, без вас бы не справилась) Еще раз спасибо!

  • Приветствую! К сожалению не один способ пока не помог :(. Был перенос с тестового домена. Все работало естественно пока тестовый не снесли. Почти все фото ссылаются на тест. До разработчиков естественно пока не достучался. Целый день сижу (.

    • Добрый вечер, Андрей! :-)

      Самый быстрый способ исправить ситуацию — открыть дамп вашей базы данных (архив), а затем в текстовом редакторе заменить ссылки с вашего разработческого сайта на правильный домен. Это 99.9% решит вашу проблему. Только перед загрузкой дампа базы данных надо очистить существующую базу данных и потом только загружать, иначе конфликты будут.

      • Делал. Как ни странно ничего не произошло. Точнее вместо иконок о неудачной загрузке фото. Просто ничего не вышло. Щас досканирую и еще раз попробую. Спасибо!

        • Не понял, о чём вы написали выше :-)

          Я вам точно говорю: то, что у вас стоят ссылки на старый разработческий сайт, это виной кривое содержимое дампа базы данных. В ближайшее время обновлю инструкцию, чтобы охватить этот вопрос тоже.

  • Спасибо. очень полезная информация.

  • привет. как можно сделать только другую ссылку для главной страницы? то есть, была страница http://site.ru/, нужно http://site.ru/index.html. и при этом чтобы старые страницы оставались по своим старым адресам.

  • Здравствуйте, я хотела с локального хостинга перенести блог на хостинг. Поменяла в админке вордпресс на локальном хостинге имя сайта с localhost/web на доменное имя, блог не перенесла, но хочу хотя бы зайти на вордпресс на локальном хостинге. Как поменять назад имя? Предложенные Вами варианты с functions и wp-config, к сожалению, не дали результатов( Спасибо!

    • Здравствуйте. Я думаю вам поможет вариант со сменой адреса через базу данных, с использованием phpMyAdmin.

  • Добрый день! воспользовалась вашими рекомендациями через functions.php все страницы кроме главной поменяли домен, а вот у главной страницы его теперь два… сайт открывается по новому адресу, а когда возвращаешься с других страниц на главную, адрес главной страницы отображается старый… это нормально? Возможно ли сделать, чтоб адрес был один?

  • Большое спасибо. Автоматическое определение сайта сработало сразу. Отлично. Очень помогли.

  • С мультисайтом не получилось. Пробовал и через functions.php и через phpmyadmin. Все равно редирект.

    • Я думаю вам надо будет вручную через phpMyAdmin изменять значения в таблицах. Описание тут: http://codex.wordpress.org/Moving_WordPress#Moving_WordPress_Multisite.

      • Да, спасибо, я уже нашел похожую статью на русском. Просто, может быть, стоило бы в этой статье отобразить этот момент.

        • А помогла найденная вами статья? :-)

          • Ну, в конкретном данном случае нет, хотя материал полезный. Автору большое спасибо.

            • Я имею в виду не свою ссылку, а вашу, по которой вы настраивали. Если не получилось — то я могу расковырять этот вопрос завтра и запилить обновление поста.

            • Тут нюанс в том, что нет смысла писать в статье о мультисайтовости, т.к. мало кто ею пользуется, а захламлять лишним материалом основной пост совсем не хочется — он и без того тяжёлый для понимания новичкам выходит.

              Хотя, может быть есть смысл отдельную статью для мультисайтов сделать… :-)

  • Спасибо! Очень помог!

  • Спасибо, оч.помогло

  • Большое спасибо! Все получилось, даже у непрофессионала :))

  • поменял все как вы сказали через function и имя админка накрылась. Вам же не один уже человек сказал про то что потом проблемы с админкой. Теперь сижу в других сайтах ищу как решить проблему. Отстой!

    • Отстой? Тогда смело можете закрыть мой сайт не заходить впредь. Если у вас хватает фантазии только на то, чтобы прийти и выругаться, то я вам точно не помогу при всём желании. Сотни человек исправили свои сайты благодаря моим рекомендациям, если у вас что-то не получается — то это уж точно не моя проблема. Успехов, Беслан! :-)

  • Вы мой спаситель просто!!! я с вашей помощью оживил свой сайт))

  • Здравствуйте! Не совсем поняла, простите… у меня есть сайт. Хочу поменять название адресе. К примеру есть сайт.ru а хочу сайт2.ru
    В любом случае, сперва покупаю доменное имя. Далее произвожу манипуляции, что вы описали в статье. И сайт теперь будет открываться под адресом сайт2.ru?
    А проиндексированные страницы?
    И что далее произойдет с первым адресом сайт.ru?
    Возможно я сего то недопонимаю.
    если вы поняли о чем я, плиз ответьте ; )

    • Здравствуйте. В этой статье не рассматриваются вопросы 301-редиректа, переадресаций страниц, переноса веса со старого сайта на новый. Это лишь способ переместить сайт с разработческого домена на полноценный. Она вам так же поможет изменить адрес сайта, безусловно. но все SEO-хитрости здесь нарочно не рассматриваются. :-)

  • Здравствуйте! Подскажите пжл : сменил настройки юрл на свой домен..сайт работает, НО я Хочу зайти на него локально, чтобы доработать сайт, а меня перебрасывает вместо localhost… на mysite.com

    • Здравствуйте. А вы какое поведение ожидали? Сменили URL сайта на другой, а теперь пытаетесь зайти локально. Так не бывает. Если хотите сайт дорабатывать — возвращайте обратно через файл wp-config.php, например. Редактируйте как надо и снова меняйте адрес ;-)

  • Добрый день. Столкнулся с такой проблемой. Когда я ввожу адрес своего сайта допустим… mysite.ru меня перекидывает на адрес mysite.ru/wp… попытался исправить это приведенными выше вашими примерами… тогда у меня сайт неккоректно стал отображаться а в админку вообще не пускает, выдает просто белый лист. Помогите пожалуйста, потому что из за этого я очень часто попадаю под бан Google.. Как я понимаю идет редирект сайта и из-за этого увеличивается время загрузки сайта.

    • Здравствуйте. А что значит «перекидывает на mysite.ru/wp…»? Давайте конкретные примеры, приложите так же скриншоты, что у вас в разделе «Настройки» — «Общие». :-)

  • Александр, вписал код в functions.php, проверил, все так. Убрал код из functions.php, опять проверил, тоже вроде все так. На следующий день снова все ссылки ведут на старый адрес ( Что у меня еще не так ?

  • Подскажите пожалуйста, при изменении настроек в functions.php нужно после этого прописывать новый адрес сайта в админ панели или имя пропишется само?
    Менял имя сайта в админке и после этого она не пускала. Сейчас опять появилась необходимость поменять адрес с тестового на рабочий.
    Так вот интересует последовательность. Менять в админке имя сначала или просто прописывать в functions.php ?

  • невозможно скопировать код, полнейший ацтой))

  • Спасибо!!! То, что надо!

  • Благодарю!!! :) искал битый час как исправить ошибку свою и только ваша статья! :)
    очень полезная оказалась

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: