WordPress смена домена


Иногда может возникнуть ситуация, когда необходимо сайт, работающий на движке WordPress, перенести на новый домен. Т.е. суть данного действа заключается только в изменении имени домена, все содержимое же, равно как и структура ссылок, остается прежним. При этом не маловажный момент — сохранение показателей тИЦ и PR.

К данному вопросу необходимо подходить с полным пониманием дела, ибо обратное может быть чревато неприятными последствиями.

Процесс переноса можно условно разделить на 2 части:

  1. Перенос сайта, работающего на движке WordPress, на новый домен.
  2. Создание 301 редиректа со старого домена на новый.

Перенос сайта, работающего на движке WordPress, на новый домен

В самую первую очередь необходимо сделать 2 вещи:

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

Дальнейшие действия могут выполняться одним из трех нижеследующих способов.

Первый способ

Это самый простой способ, требующий от вас минимум действий.

  1. Зайдите в админ-панель вашего сайта на страницу «Настройки — Общие».
  2. В полях «Адрес WordPress» и «Адрес сайта» укажите URL нового домена и подтвердите изменения, нажав на кнопку «Сохранить изменения».
  3. Готово. В тот же момент WordPress переадресует вас на страницу входа в админ-интерфейс, но уже на новом домене.

Второй способ

  1. Откройте сохраненный sql-дамп базы данных в текстовом или PHP редакторе.
  2. Замените все вхождения старого адреса сайта на новый адрес, например, http://domain.ru заменить на http://newdomain.ru, и сохраните изменения.
  3. Загрузите дамп в базу данных на сервере, предварительно удалив из нее все имеющиеся таблицы.
  4. Готово. Сайт на WordPress работает по новому адресу.

Третий способ

  1. Зайдите в phpMyAdmin и выберите базу данных.
  2. Нажмите на вкладку «SQL» и поочередно выполните следующие 3 запроса, заменив http://domain.ru и http://newdomain.ru соответственно на старый и новый адреса сайта (обратите внимание, что в конце адреса не должно быть слеша):

  3. Готово. Теперь сайт будет открываться по новому адресу.

Создание 301 редиректа со старого домена на новый

Остается добиться того, чтобы при обращении к любой странице сайта по старому адресу посетитель автоматически перенаправлялся на ту же самую страницу в новом домене.

Для этого необходимо заменить содержимое файла .htaccess, находящегося в корне старого домена, на следующее (вместо newdomain.ru указывается новый домен):

На этом процедуру переноса WordPress-сайта на новый домен можно считать законченной.

Теперь несколько слов относительно сохранения показателей тИЦ и PR сайта.

Вышеуказанная директива кроме своего прямого назначения позволяет перенести на новый домен показатель Google PR, так что с ПиАром проблем возникнуть не должно.

Однако открытым для меня остается вопрос переноса показателя тИЦ Яндекса. Я прочитал по этому поводу достаточно информации, но так и не нашел однозначного решения. В основном рекомендуют на старом домене создать файл robots.txt с указанием параметра Host: newdomain.ru, на это не сработает из-за 301-го редиректа.

Я был бы признателен тому, кто разъяснит мне данный вопрос.

Добавлено 24.04.2010


Сам нашел ответ на свой вопрос. Чтобы при обращении к старому домену срабатывал 301-редирект, но за исключением файла robots.txt, в файле .htaccess старого домена нужно указать следующее:

А в файле robots.txt указать следующее:

dimox.name

Почему WordPress не работает с новым доменом

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

О чем следует помнить перед сменой домена

Помимо обновления настроек доменов на странице Общие настройки (Настройки → Общие), стоит вспомнить и еще о некоторых вещах, которые имеют место быть.

  1. Ссылки в статьях и страницах.
  2. Ссылки в настройках тем и плагинов.
  3. Картинки в статьях, страницах и других местах сайта.
  4. Колонка guid в таблице wp_posts и т. п.

Иногда домен может храниться в виде сериализованного значения внутри базы данных. На практике это происходит, если в одну «ячейку» базы данных записывается целый массив значений. И если количество символов в новом и старом домене будет различаться, то осечку дадут большинство способов с простой заменой через поиск, о которых «рассказывает интернет».


На иллюстрации ниже в «ячейке» 1 хранится обычное значение, а в 225 сериализованное, где помимо самого значения указывается и его размер.

К счастью, обо всем этом заботится утилита WP-CLI, которая умеет выполнять поиск и замену строк где бы и в каком формате они не хранились в базе данных. Работу с ней мы и затронем ниже в этой статье, но обо всем по порядку.

«Трудности» с кириллическими доменами .рф

Система доменных имен (DNS) создана так, что адреса сайтов могут содержать лишь буквы английского алфавита, цифры и символ «-». Все прочие символы должны быть записаны в качестве комбинаций из этих допустимых символов. Для доменов вида мой-сайт.рф это означает, что запись домена в настройках WordPress необходимо производить в формате Punycode. Например, домен мой-сайт.рф в Punycode будет выглядеть как xn----8sbzclmxk.xn--p1ai.

Сконвертировать домен .рф из кириллицы в Punycode можно автоматически на сайте mothereff.in/punycode.

Изменяем домен сайта с помощью WP-CLI

Утилита WP-CLI — универсальный инструмент среди множества возможностей которого есть и грамотный поиск с заменой любых строк внутри базы данных. Мы подразумеваем, что WP-CLI уже установлен на хостинге. Если это не так, можно попросить поддержку провайдера установить утилиту, или выполнить процедуру смены домена на своем локальном сервере.

Перед началом не забудьте сделать резервную копию базы данных на всякий случай.

Итак, чтобы изменить домен сайта, подключаемся по SSH к серверу и с помощью команды cd


 переходим в папку со своим сайтом.

ssh user666@old-domain.ru -p 7777  # По умолчанию при подключении используется порт 22,  # но на многих хостингах порт специально изменяют  # на другой, например, в примере выше это порт 7777.  # Вводим пароль ?  cd /home/user666/old-domain.ru/public_html/  # Путь до сайта может быть другим  

С помощью команды search-replace «попросим» WP-CLI заменить old-domain.ru на new-domain.com.

wp search-replace 'old-domain.ru' 'new-domain.com'  

Команда в таком виде заменит old-domain.ru на new-domain.com лишь в таблицах, которые имеют отношение к текущей установке WordPress. После выполнения выведется таблица с небольшой статистикой.

Используя дополнительные атрибуты, можно указать конкретные таблицы и колонки в таблицах, где необходимо производить замену. Будьте осторожны, если в одной базе данных расположены таблицы нескольких сайтов. Также в WP-CLI есть команда wp option update для обновления отдельных опций.

Изменяем домен сайта с помощью PHP-скрипта

В случае, если по каким-то причинам WP-CLI недоступен, вы можете воспользоваться PHP-скриптом от компании Interconnect IT из Ливерпуля. Для его использования достаточно лишь FTP-доступа. Как и WP-CLI, скрипт заботится обо всех форматах данных и не сломает сериализованные значения.


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

1. Итак, скачиваем ZIP-архив последней версии с Github.

2. Зайдем в корневую папку сайта на сервере через FTP. Прямо в корне установки WordPress создаем «секретную» папку с любым именем. Обязательно сделайте имя как можно более сложным из букв разного регистра, цифр и символа «-».  Такое имя необходимо для того, чтобы никто кроме вас не смог найти ее и воспользоваться скриптом — он не требует авторизации и любой пользователь, зашедший на страницу, сможет взаимодействовать с вашей базой данных.

3. Распакуем содержимое архива, скаченного на первом шаге, и загрузим в «секретную» директорию.

4. Откроем скрипт, который мы только что загрузили. Для этого откройте в браузере страницу example.org/replacer-x36D891EHY-/. Как можно догадаться, «replacer-x36D891EHY-» — это название секретной директории.

5. На открывшейся странице в поле «replace» необходимо указать свой старый домен (например, old-domain.ru), а в поле «with» новый домен (например, new-domain.com).

Галочку «use regex» снимаем. Данные в секции «database» должны автоматически заполниться при открытии страницы. В секции «tables» выбираем «all tables».


6. Секция «actions» содержит несколько кнопок для действий. Нас интересует кнопка «live run». Нажав на нее откроется диалоговое окно, в котором необходимо подтвердить запуск, нажав кнопку «Ок».

7. Начнется процесс поиска и замены домена. Не закрывайте страницу! Во время выполнения будут появляться результаты операции.

8. После успешной замены необходимо удалить «секретную» директорию со всем содержимым. Это можно сделать через FTP-клиент. Через кнопку «delete me» внизу страницы скрипт может не удалиться, поэтому надежнее сделать это через FTP-клиент.

Вместо заключения

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

Инструменты, описанные в статье для замены адреса сайта, могут использоваться и для других целей, когда необходимо выполнить поиск с заменой каких-либо строк внутри базы данных. Если у вас возникли вопросы во время смены адреса сайта, напишите комментарий и мы постараемся вам помочь.

wpmag.ru

Почему возникает проблема переноса WordPress сайта

Рано или поздно каждому из нас приходится столкнуться с переездом, для этого существует ряд причин. Самая распространенная из них – недовольства хостингом, когда терпеть уже нет сил, начинаешь думать о смене хостинг-провайдера. Хотя в этом случае проще оставить заявку в техподдержку на перенос вашего сайта (любой приличный хостинг предоставляет такую услугу бесплатно). Мне приходилось менять хостинг сотню раз, пока однажды, наконец, не повезло, теперь я пользуюсь хостингом Beget и вам советую.


Причинной смены домена может стать попадание сайта под фильтр или в бан поисковых систем, тогда придется выбрать другой домен и начать продвижение с начала.

Да мало ли какие причины заставили вас заняться переносом сайта на вордпресс. Лично мне понадобилось развернуть локальную версию сайта у себя на денвере (читайте как установить денвер), потому что работать с локальным сайтом быстрее и удобнее. На нем можно экспериментировать с настройками блога и плагинами, не боясь за работоспособность сайта. Поэтому я советую каждому иметь локальную версию, пусть будет.

Перенос WordPress на другой хостинг

1. Скачиваем файлы сайта и базу данных со старого хостинга

Способ №1:

Зайдите на старый хостинг, чтобы сделать бэкапы текущего состояния файлов и базы данных. Обычно по готовности бэкапы сохраняются в корневом каталоге хостинга в заархивированном виде.

Чтобы попасть в эту папку, можно зайти по FTP (я использую программы Total Commander или File Zilla) или через файловый менеджер хостинга (этот способ удобнее, как мне кажется). Скачайте полученные архивы к себе на компьютер. Распакуйте базу данных.


Если по какой-то причине вы не смогли сделать бэкапы, существует второй способ:

Зайдите в менеджер файлов вашего хостинга, выделите папку, в которой лежит ваш сайт и кликните «создать архив». После завершения архивации, скачайте архив на свой компьютер. Не пытайтесь перекачивать файлы блога в не архивированном виде через ftp, это займет очень много времени, обязательно будут ошибки в процессе скачки и какие-то файлы могут вообще не скачаться. Если вам посчастливилось столкнуться с хостингом, у которого нет архиватора (или вообще файлового менеджера!), читайте как архивировать данные на сервере.

Далее зайдите в раздел управления базами данных вашего хостинга, выберите phpMyAdmin. В колонке слева выберите название вашей базы данных из списка. Перейдите на вкладку Экспорт (Export) и щелкните Ок(Go). Сохраните сгенерированный файл.

phpmyadmin export

Итак, дамп БД в виде файла с расширением .sql и архив со всеми файлами блога находятся на нашем компьютере и готовы к переносу на другой хостинг.

2. Перенос данных с компьютера на новый хостинг

В разделе «базы данных» нового хостинга добавьте нового пользователя БД и новую БД, придумайте ей пароль и запомните его. У меня это выглядит так:


бд новый юзер

Внимание! Если вы так же меняете доменное имя, то сейчас необходимо выполнить пункт «работа с базой данных», затем вернитесь и продолжайте по порядку.

Откройте phpMyAdmin, найдите в списке слева вашу базу данных, перейдите на вкладку Импорт (Import). Закачайте ранее скачанный на компьютер дамп базы данных с разрешением .sql и нажмите ОК (Go).

импорт базы данных

Теперь залейте архив с файлами на ftp и разархивируйте его. Следите, чтобы в итоге файлы оказались в правильной папке, на моем хостинге это папка public_html, так же она может называться httpdocs, www или иначе, в зависимости от хостинга. Проверьте, чтобы эта папка была пустой, прежде чем распаковывать в нее архив.

3.Настройка соединения с базой и установка прав

Найдите в корне сайта файл wp-config.php. Поменяйте в нем данные подключения к базе данных на новые:

Установите права (атрибуты) 777 для папки wp-content/uploads и всех вложенных папок. Это делается по ftp или в файловом менеджере:

изменение атрибутов

Привязка вашего домена к новому хостингу

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

  • Узнайте у нового хостера его DNS сервера. Обычно они написаны в письме, отправленном вам на почту при регистрации хостинга.
  • Зайдите в личный кабинет своего регистратора доменов — сайт, где вы покупали домен. Я пользуюсь 2domains.ru и расскажу, как это делается там. Найдите раздел «Управление DNS-серверами» и измените DNS-сервера на новые:

dns-сервера

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

Если вы не переезжаете на новый домен, для вас урок окончен. Если сайт не заработал, посмотрите типовые ошибки.

Перенос WordPress на другой домен, папку

Если помимо хостинга, вам нужно перенести сайт на другой домен, придется столкнуться с некоторыми сложностями. В отличие от большинства CMS, в вордпрессе все пути прописаны абсолютными ссылками (это неприятный минус системы) и нам предстоит бороться с ними вручную. Давайте по порядку:

1. Работа с базой данных

Когда вы скачали дамп базы данных со старого хостинга, надо открыть ее в редакторе (я пользуюсь Dreamweaver) и заменить все упоминания о старом домене на новые:

замена домена в бд

Есть еще один способ: когда вы импортируете базу данных, зайдите на вкладку SQL совершите три запроса:

UPDATE wp_options SET option_value = REPLACE (option_value, 'https://old_domain.ru', 'https://new_domain.ru') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = REPLACE (guid, 'https://old_domain.ru', 'https://new_domain.ru');

UPDATE wp_posts SET post_content = REPLACE (post_content, 'https://old_domain.ru','https://new_domain.ru');

sql запросы

2. Изменения в .htacces и robots.txt

Найдите такие файлы в корневом каталоге сайта, найдите в них упоминания имени вашего старого домена и замените на новое.

3. Изменения в файлах сайта

Замечу, что этот пункт не обязательный. Если у вас все заработало, то его можно пропустить. Иногда бывает, что в теме ворпресс тоже закрадываются абсолютные ссылки на старый домен и их нужно заменять.

Можно распаковать архив с файлами вашего сайта и выполнить поиск по всем этим файлам на наличие в них старого домена. Аналогично работе с базой, смените старые ссылки на новые. Ура, с переносом wordpress на другой домен покончено.

Перенос сайта в другую папку

Если вам нужно перенести блог в другую папку (например, domain.ru/blog), внесите следующие изменения в .htaccess (изменения выделены жирным):

# BEGIN WordPress
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
# END WordPress

Возможные ошибки, связанные с переносом WordPress блога

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

  1. Error establishing a database connection. Такая ошибка случается, если неверно введены данные в файле wp-config.php.
  2. Открылась страница с установкой WordPress. Подобная ситуация могла возникнуть из-за ошибки импорта базы данных. Попробуйте удалить все таблицы базы и заново импортировать дамп.
  3. Вы видите страницу вашего хостинг-провайдера с приветствием. Причиной может стать то, что вы не очистили папку public_html (httpdocs), прежде чем распаковать в нее архив. Удалите файл index.html.
  4. Forbidden. You don't have permission to access / on this server. Возможно, вы залили файлы сайта в неправильную папку.

На этом закончим, надеюсь, что тема переноса Wprdpress раскрыта максимально подробно и у вас не осталось вопросов. А если остались, спрашивайте. И конечно не забывайте, что у хостинга существует техподдержка, задача которой помогать вам. Не стесняйтесь обращаться к ней по любым вопросам, не зря же вы платите этим людям деньги:)

pro-wordpress.ru

Смена домена для Вордпресс

Порой перед администратором сайта стает необходимость сменить домен. Перенос сайта на Вордпрессе из одного домена в другой обладает некоторыми особенностями. Недостаточно просто перенести файлы в корневой каталог нового домена, импортировать базу и настроить коннект к ней в конфигурационном файле. WordPress имеет привязку к домену и обязательно требуется внести изменения в настройки сайта, чтобы он работал с нового домена. В этой статье я подробно Вам расскажу пошагово как это выполнить просто и без каких-либо последствий.

    Содержание:

  1. Переносим данные сайта из одного домена в другой
  2. Изменяем домен в настройках движка Вордпресс

Перенос файлов и базы сайта на Вордпресс из одного домена в другой

Первым этапом нужно получить исходные данные сайта, а именно сохранить файлы сайта и базу данных. Рассмотрим это на примере хостинга Макхост.

Архивирование файлов

1. Создаем и сохраняем файлы сайта, выполнить это можно через Файловый менеджер:
Пройдите в корневой каталог старого домена выберите все файлы из корневого каталога и создайте архив. Сохраненный архив скачиваем на Ваш компьютер. Еще для скачивания файлов можно воспользоваться FTP. Скачивание архива файлов сайта

2. Экспортируем дамп базы данных. Для этого проходим в phpMyAdmin, выделяем базу в левом списке и нажимаем сверху на кнопку ЭкспортЭкспорт базы

Теперь имея исходные файлы Вашего сайта можно перейти ко второму этапу: это перенос данных в новый домен и настройка. Советую сделать их копию и сохранить отдельно, на случай Данные сайта3. Переходим в корневой каталог нового домена и производим загрузку архива. Выполнить это опять же можно как через файловый менеджер панели управления хостинга, так и через FTP. Файл можно распаковать в файл-менеджер Загрузка файлов сайта4. Производим импорт sql дамп в базу данных через phpMyAdmin. Для этого, авторизовавшись в phpMyAdmin требуемой базы выбираем базу в левом списке и затем нажимаем в верхней панели на кнопку Импорт Импорт базы

Далее выбираете дамп и снизу нажимаете на кнопку Вперед Импорт завершен

5. В конфигурационном файле сайта wp-config.php нового домена пропишите информацию для подключения к базе данных. Редактирование конфигурационного файла

 

Изменение домена в настройках Вордпресс

После переноса как правило в сайте не отображаются изображения, как-будто отсутствуют файлы стилей. Переход по ссылкам происходит на старый домен. Это особенность движка WordPress, для завершения переноса нужно внести изменения в базе данных, а именно изменить ссылки старого домена на новый. Выполнить это можно несколькими способами.

Смена домена в Вордпресс через phpMyAdmin

Заходим в phpmyadmin базы данных, к которой подключен Ваш сайт. Обязательно выбираем базу в левом списке и нажимаем кнопку SQL, как показано на скриншоте sql запрос

Поочередно или все три сразу скопируйте и выполните запросы что указаны ниже, исправив параметры

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://старый-домен.ru', 'http://новый-домен.ru') WHERE option_name = 'home' OR option_name = 'siteurl';    UPDATE wp_posts SET guid = REPLACE(guid, 'http://старый-домен.ru','http://новый-домен.ru');    UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://старый-домен.ru', 'http://новый-домен.ru');

Смена домена в Вордпресс в sql-дампе через текстовый редактор

Другим способом обновления информации в базе данных является ручная замена ссылок со старого домена на новый. Авторизуйтесь через phpMyAdmin в базе данных старого домена и выполните экспорт, если еще сделалм. Текстовым редактором откройте полученный файл sql и выполните поиск с заменой все упоминания старого домена на новый. После обновления информации выполните импорт дампа в базу на хостинге, очистив её предварительно от старых таблиц. Смена домена в дампе sql

На этом перенос и настройка завершены.

hosts-info.ru

Подготовка к переносу

1. Первое, что нужно сделать — создать резервную копию базы данных. Рекомендую так поступать перед выполнением любых задач в БД. Сохранять файлы сайта с FTP на локальный диск, в принципе, нет смысла, т.к. меняется только информация в базе (если это не миграция с между хостингами).

2. В некоторых источниках встречаются рекомендации по правке файла robots.txt перед тем как перенести сайт на WordPress на другой домен. Можно создать новый robots.txt, где указать:

Эти строки запретят индексацию проекта поисковиками на время работы. Если файл robots.txt у вас уже был, то предварительно сохраните его к себе на компьютер дабы потом восстановить.

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

3. При использовании кэширования на сайте, есть смысл удалить с FTP устаревшие файлы кэша. Также на время переезда можно отключить соответствующий модуль в админке, как при ручном обновлении системы. Это, в принципе, не критично, просто в процессе проверки будут подгружаться прошлые версии страниц веб-проекта и дезориентировать вас. 

Изменяем домен в WordPress на новый

4. На четвертом этапе, во-первых, отредактируем наш файл wp-config.php. Скачиваете его с FTP на компьютер, открываете в редакторе Notepad++ (кодировка utf-8 без BOM) или через Sublime Text. Добавляем туда следующие строки:

Внимание! Здесь вместо newdomain.com подставляете значение, на которое вы хотите сменить домен в WordPress. После этого сможете заходить в админку по новому пути: http://newdomain.com‘/wp-admin/.

5. Затем нужно заменить все вхождения прошлого адреса сайта на новый в БД. В системе вордпресс для этих целей предусмотрено несколько модулей:

  • Search & Replace (с символом «&», а не «and»).
  • All-in-One WP Migration.
  • WP Migrate DB.
  • Velvet Blues Update URLs.
  • Плюс PHP скрипт от InterconnectIt.

Первые три плагина рассмотрел в статье о переносе базы в WordPress — есть из чего выбрать. Также ранее был обзор Velvet Blues Update URLs. Данное решение нашел как альтернативу Search & Replace пока тот был недоступен. Вся работа, в принципе, сводится к запуску скрипта на странице настроек.

Wordpress смена домена

Однако как только Search & Replace снова начать работать, я вернулся к данном варианту. Здесь больше разных опций и, по моему мнению, он чуть лучше справляется с задачей. Более того, кроме функции поиска и замены текста, имеется специальный раздел под смену домена (Replace Domain URL)!

Wordpress смена домена

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

Что касается инструмента PhpMyAdmin. Его можно использовать для проверки работы упомянутых выше решений дабы проконтролировать процесс переноса WordPress на другой домен:

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

Wordpress смена домена

В результате получите список таблиц, где встречается прошлое доменное имя. После этого можно еще раз запустить Search & Replace и попытаться поменять информацию там, выбирая конкретные таблицы.

Внимание! Править записи в PhpMyAdmin или через SQL запросы не рекомендуется, т.к. в системе могут быть так называемые сериализованные данные.

При изменения напрямую этот нюанс учитываться не будет, что в итоге приведет к ошибкам в настройках виджетов, шаблонов и т.п. Поэтому рекомендуется все же использовать для решения задачи специальные плагины. Кстати, некоторые вхождения старого URL могут оставаться в БД (записи кэша или настройки неактивных/удаленных модулей), они вообще никак не влияют на отображение сайта.

wordpressinside.ru

Введение

Среди всех существующих настроек в 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

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

gruz0.ru

Смена домена wordpress

к менюДля смены домена в WordPress нам нужно скачать дамп базы данных. Сделать это можно с помощью пхп файла Adminer или воспользовавшись панелью хостинга phpMyAdmin.

Пошаговая инструкция по смене домена в Вордпресс:

1) скачиваем Adminer по ссылке выше и заливаем его через фтп к себе на хостинг. Для этого нам нужен ФТП клиент FileZilla, а также фтп доступ к вашему хостингу. Запускаем фтп клиент FileZilla и вводим наши фтп данные как показано на скриншоте:перенос сайта wordpress

2) в правой колонке у нас файлы с сервера, а в левой файлы нашего ПК. В левой колонке нужно найти папку где лежит adminer-4.2.2.php (кстати у вас может быть немного другое имя), а в правой нужно найти директорию где лежит наш сайт, там будут обязательно файлы «wp-config.php», «index.php», директории «wp-content», «wp-admin», «wp-includes» и залить админнер на сервер.

3) Открываем браузер и набираем там вашсайт.ком/adminer-4.2.2.php (заменить под свой вариант) должна открыться страница вот такого плана:smena-domena-wordpress4) Если вы знаете эти данные что просит админнер то вводим их, если нет то открываем файл wp-config.php, он в корне вашего сайта и берем нужные данные доступа к базе, как показано на рисунке:host-6

5) вводим данные в форму входа и нажимаем войти, у нас должно появится окно вот такого плана:smena-domena-wordpress-2

6) нажимаем на вкладку экспорт слева:перенос wordpress на другой домени у нас откроется вот такое оно (не спешите сохранять  базу, тут есть парочка нюансов, о них дальше и пойдет)smena-domena-wordpress-4

7) можно скачать базу целиком и потом мудохаться с заменой юрл, а можно разбить ее на 2 части и избежать проблем. В первую часть базы мы включаем все таблицы кроме «wp_comments» и  «wp_posts» внимательно смотрите на скин ниже:smena-domena-wordpress-5и нажимаем экспорт. Сохраняем файл, обязательно обозначаем что это первая часть, например добавляем в имя цифру 1:smena-domena-wordpress-6Теперь делаем вторую часть для этого в том же экспорте нужно поставить чербоксы только возле таблиц «wp_comments» и  «wp_posts», смотрите скин:smena-domena-wordpress-7и опять нажимаем экспорт только к имени добавляем число 2:smena-domena-wordpress-8

8) Открываем первую часть базы в Notepad++, который уже должен быть инсталлирован на наш ПК:smena-domena-wordpress-9и нажимаем сочетание клавиш Ctrl+f, в этом окне пишем свой домен в окно поиска и нажимаем Enter: smena-domena-wordpress-10продолжаем поиск до того момента пока мы не найдем данные вот такого плана: и будьте очень внимательные, в первой части мы только здесь должны заменить ссылки на новый домен, скин прилагаю:smena-domena-wordpress-11как вы поняли нужно заменить в этих местах старый домен на новый. Сохраняем первую часть базы и закрываем ее дабы она не путалась под руками.

9) Открываем вторую часть в Notepad++ и делаем немного другую вещь. Опять нажимаем Ctrl+f но в поиске переходим во вторую вкладку «Replace» и заполняем как у меня на скине:перенос wordpress на другой домен

Все посты сменили свой домен, теперь нам нужно сохранить этот дамп и закрыть.

10) Возвращаемся к нашему админнеру, переходим во вкладку импорт и заливаем сначала первую часть дампа потом вторую по очереди:smena-domena-wordpress-13

11) После успешной заливки обеих частей дампа в базу, ваш сайт сменил доменное имя, и если вы до этого направили ДНС нового домена на ваш хостинг, то сайт откроется с нового доменного имени, смена домена wordpress — прошла успешно, перенос wordpress на другой домен — выполнен.

12) Заходим в админку, первая вкладка настроек «общее» (вашсайт/wp-admin/options-general.php) смотрим правильный ли у нас домен указан в обеих полях и нажимаем сохранить изменения при этом изменений мы никаких не делали. Все, теперь ваш сайт будет работать с нового домена.

 

help-wp.ru

Вступление

В этой статье рассмотрим технический вопрос, как изменить адрес сайта в WordPress, без решения вопросов оптимизации и сохранения его веса, в частности тИЦ, у поисковых систем.

Зачем менять домен (адрес) сайта WordPress

Причин сменить домен своего сайта может быть масса. Например:

  • Вы сделали сайт на локальной платформе и пора переносить его на рабочий домен (самая распространенная причина);
  • Вы сделали сайт на бесплатном домене третьего уровня, и хотите начать работу на нормальном работе второго уровня. Например, перенос сайта созданного на WordPress.com на платных хостинг;
  • Вы сделали сайт на субдомене и хотите перенести его на основной домен;
  • Вы попали под очень жесткие санкции поисковиков;
  • Другие причины.

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

Техническое решение этой проблемы при смене адреса, заключается в изменении всех URL со старым доменом в базе данных сайта и в файле его конфигурации (wp-config.php).

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

Вариант 1. Используем для смены адреса настройки сайта в административной панели

Переезд с субдомена на домен

  • Войдите в административную панель сайта;
  • На вкладке Настройки>>>Общие в двух полях с адресами сайта, «Адрес WordPress» и «Адрес сайта», впишите полный адрес сайта с протоколом на новом домене;
  • Сохранитесь.

изменить адрес сайта WordPress через панель

  1. «Адрес сайта (URL)» это адрес, который вы хотите, чтобы люди набирали в браузере, чтобы открыть ваш сайт WordPress.
  2. «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] пишем полный адрес нового домена без косой черты в конце;
  • Сохраняемся и проверяем результат открыв сайт в браузер.

нужна запись для siteurl

Вывод 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).

Search-Replace-DB
изменить адрес сайта 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

www.wordpress-abc.ru


You May Also Like

About the Author: admind

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.