Вы закончили разработку сайта на своём домашнем компьютере или ноутбуке? Хотите перенести сайт с технического домена на основной? В материалах этой статьи вы увидите несколько способов решить эту простую задачу, не прибегая к установке специализированных плагинов для переноса (коих уже около 10 можно насчитать).
Это лишь способ переместить сайт с разработческого домена на полноценный. Она вам так же поможет изменить адрес сайта, безусловно, но все SEO-хитрости здесь нарочно не рассматриваются. Возможно по ним появится отдельная статья, но пока её нет и в ближайшее время не планируется.
В этой статье не рассматриваются:
- Переадресация (301 редирект) со старого домена на новый
- Перенос веса со старого сайта на новый
- Изменение адреса сайта в режиме Мультисайта
Введение
Среди всех существующих настроек в WordPress, наиболее важными являются лишь две, а именно: «Адрес WordPress» и «Адрес сайта». Они находятся в разделе «Настройки» — «Общие». «Адрес WordPress» — это непосредственно ваш домен, а «Адрес сайта» — место, куда установлен WordPress. Это может быть поддиректория /blog/ основного домена или что вашей душе угодно. Лично я ни разу не встречал сайтов, которые бы действительно использовали второе поле среди этих двух настроек.
Обе эти настройки отвечают за то, как будет выглядеть 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 во вкладке «Структура» и нажимаем «Обзор»:
Важно! Если у вас таблицы начинаются с wp_, как в этом примере, обязательно изучите инструкцию «Как изменить префикс таблиц в WordPress»! - Переходим на вкладку «SQL»:
- И вставляем в текстовое поле следующий код:
UPDATE `wp_options` SET option_value = 'http://адрес-вашего-сайта.ru' WHERE option_name IN ('siteurl', 'home');
Вместо «адрес-вашего-сайта.ru» подставьте нужный вам адрес.
- После этого нажимайте кнопку «ОК» справа внизу:
Наслаждаемся результатом! :-)
Спасибо брат! Вернул вход в админку через function.php! Соточку кинул.
Благодарю :-)
Похоже мне всё же надо добраться до этой статьи и переписать её с учётом 2020 года.
Ни один из представленных способов не только не работает но и полностью ломает сайт без возможности восстановления.
Статья публиковалась больше 4 лет назад, на тот момент всё работало и я лично проверял всё, что публиковал в блоге. Допускаю, что варианты изменения адреса сайта изменились и в данной статье они не рассматриваются.
А по поводу «без возможности восстановления» — это заблуждение. Всегда при подобных изменениях надо делать резервную копию сайта, из которой в случае любых проблем можно откатиться на актуальное состояние сайта. Если резервных копий нет и проводить манипуляции на живом сайте, то да, проблемы 100% будут.
Спасибо, статья помогла вернуть контроль над административной панелью (указал будущий домен (уже готовый, но без хостинга) в графах «Адрес WordPress (URL)» и «Адрес сайта (URL)»)… Изменение url в «phpMyAdmin» результата не дало. Зато помогли советы из раздела «Изменение настроек через functions.php».
Спасибо. Спасли. Наделала ошибок и сайт слетел. Благодаря вашей статье все встало на свои места. Пойду делать бэкап)
Помогло!!! спасибо!))
Спасибо, сделала через functions.php
Большое спасибо! сделал через functions.php
Спасибо большое!
Спасибо за помощь.
Александр, огромное Вам спасибо!!!! Самый простой и безболезненный способ второй: изменение настроек через functions.php. До вашего метода переноса постоянно были какие-нибудь головняки… Для тех у кого проблемы — читайте внимательно инструкцию!!!
Спасибо!
Очень помогло!
Мучился 3 дня!
у меня тоже после правки functions.php, привет еще один геморой… а до этого все советы сделаны, ссылки поменяны и все равни никак, админка по новому адресу работает, а сам сайт редирект на старый(
Большое спасибо, единственное вменяемое руководство в сети. Помогло, правда, пришлось ставить 301 редирект еще.
Thank you very much! Your advice really helps!
Здравствуйте, все бы хорошо, но я не могу все равно просмотреть свой сайт через свой домен, при попытки просмотреть свой сайт у меня вылазиет заглушка сайта timeweb, но а редактировать через CMS wordpres я могу… я не знаю что делать, заходил в wp_config добовлял ‘WP_HOME’ и ‘WP_SITEURL’ и все равно не фурычит… что делать помоги
Все поменял, wp-config тоже прописал данные новой базы, но все равно при обращении к новому адресу редириректит на старый сайт ((
Спасибо! Очень помогли!
Добрый вечер! Помогите, сменил домен с бесплатного «beget» на платный через wp-config и подправил ссылки плагином. Все страницы открываются нормально,кроме главной. Открывает по старому домену и выдает ошибку сервера. Что с этим можно сделать?
А много времени прошло с момента смены домена? Покажите, как это выглядит у вас и как вы попадаете на главную страницу. Может быть у вас в самой теме ссылка стоит именно на главную страницу по старому адресу?
Так стало сразу. На нее можно попасть с визуального редактора или изменив ссылку.
Разобрался, все работает с другого браузера. Спасибо!
После Изменение настроек через functions.php сайт вообще перестал работать! Даже бэкап не помогает!
Здравствуйте!
Такого не может быть, если у вас была полная резервная копия сайта до начала внесения изменений в этот файл.
Спасибо тебе, добрый человек!
Спасибо!!!
А как же тогда инструкция к применению 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 и не могу войти в админку. Просьба подсказать как исправить. Спасибо.
Доброе утро! Что происходит, когда заходите в админку? Редиректит куда-то или логин/пароль не принимает? Нужно больше подробностей, чтобы как-то можно было помочь вам.
Здравствуйте! Помогите мне с ошибкой, не заходит в админку вордпресс. Также заметила при клике на главную страницу ссылка даётся некорректно без www, поэтому не открывается. Может из-за этого и не работает админка? Как это устранить в хостинге максимально осторожно? И может ли быть причина в плагинах?
Ну прописал. И чё. Сайт полетел, ничего не отображается и не загружается. Спасибо.
Огромнейшое спасибо! Я прошлась почти по всем способам, пока не восстановила, пароль, не зашла в базу данных, подключила тему и, наконец то! зашла в админку. Проблемный перенос с локального на хостинг получился, без вас бы не справилась) Еще раз спасибо!
Спасибо большое!
Приветствую! К сожалению не один способ пока не помог :(. Был перенос с тестового домена. Все работало естественно пока тестовый не снесли. Почти все фото ссылаются на тест. До разработчиков естественно пока не достучался. Целый день сижу (.
Добрый вечер, Андрей! :-)
Самый быстрый способ исправить ситуацию — открыть дамп вашей базы данных (архив), а затем в текстовом редакторе заменить ссылки с вашего разработческого сайта на правильный домен. Это 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 ?
Просто пропишите в functions.php, а затем зайдите в админку и проверьте. Если изменилось на нужное вам — тогда всё ок и из functions.php строчку кода можно удалить. :-)
Спасибо ! Буду пробовать !
Поделитесь потом результатами, Андрей :-)
Хорошо, обязательно. Ваш сайт всегда на открытой вкладке )
Да ! Все сделал как описано выше ! Заработало ! Спасибо еще раз за помощь и конечно Удачи и Успехов !
Супер! :-)
невозможно скопировать код, полнейший ацтой))
Если у всех получилось, а у вас нет, может дело не в коде? :-)
Ну в ISP manager в редактор копируется только фраза «Подробнее…»
Скопируйте сначала в текстовый редактор и почистите от лишних ссылок.
Спасибо!!! То, что надо!
Пожалуйста, Артём :-)
Благодарю!!! :) искал битый час как исправить ошибку свою и только ваша статья! :)
очень полезная оказалась
Рад быть полезным :-)
Подписывайтесь на обновления блога, что бы не упустить новые материалы.
https://gruz0.ru/podpiska/