Перенос сайта wordpress на другой домен


перенос блога на хостингСегодня я расскажу о переносе сайта на WordPress с хостинга на хостинг или c хостинга на денвер, а так же на новый домен или в другую папку.
Содержание статьи:

  • Почему возникает проблема переноса сайта WordPress
  • Перенос WordPress на новый хостинг
  • Привязка домена к хостингу
  • Перенос WordPress на другой домен, папку
  • Возможные ошибки, связанные с переносом

Почему возникает проблема переноса 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

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

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

  1. 1Войдите в вашу панель управления хостингом.
  2. 2Откройте корневую папку исходного сайта: Как узнать корневую папку сайта?.
  3. 3Выделите все файлы сайта и скопируйте их в корневую папку нового сайта.
  4. 4При необходимости создайте новую базу данных и импортируйте в неё дамп БД исходного сайта. В этом случае не забудьте изменить пользователя, пароль и название базы данных в конфигурационном файле сайта: Где CMS хранит настройки подключения к базе данных.
  5. 5После импорта скорректируйте адрес сайта в базе данных. Для этого откройте базу данных нового сайта в phpMyAdmin.
  6. 6

    Выберите необходимую базу и перейдите во вкладку SQL. По очереди выполните следующие SQL-запросы:

    • UPDATE wp_options SET option_value = REPLACE(option_value, 'http://olddomain.ru', 'http://newdomain.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
    • UPDATE wp_posts SET guid = REPLACE(guid, 'http://olddomain.ru','http://newdomain.ru');
    • UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://olddomain.ru', 'http://newdomain.ru');

    где olddomain.ru — прежнее название сайта, а newdomain.ru — новое название сайта. Если вы используете SSL-сертификат для сайта замените http на https.

    Важно: если у вас кириллический домен и запрос не был обработан, введите название домена в формате Punycode. Для этого воспользуйтесь конвертером. Например, вам необходимо перенести сайт на кириллический домен новыйдомен.ru. Название этого домена в формате Punycode выглядит так: xn--b1aedoqcfcd1k.ru. В таком случае вам необходимо вводить SQL-запрос (на примере 2 запроса): UPDATE wp_posts SET guid = REPLACE(guid, 'http://olddomain.ru','http://xn--b1aedoqcfcd1k.

    Если возникла ошибка

    Если вы наблюдаете ошибку вида: 1146 — Table ‘u1234567_hid5.wp_options’ doesn’t exist, проверьте, существует ли таблица вида wp_options. Префикс таблицы может отличаться от wp, например: таблица называется xxx_options, где xxx — любой набор букв и цифр. Если префикс отличается, измените название таблицы во всех трёх вышеприведенных запросах.

  7. 7Очистите папку wp-content/cache, если у вас настроено кеширование. Перед проверкой корректности отображения сайта очистите кеш браузера.

Готово, вы перенесли сайт с одного домена на другой.

www.reg.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

Как перенести сайт

Если ваш ресурс играет ключевую роль в важном бизнесе, то перенос сайта WordPress на другой домен — очень рискованное мероприятие. Шансы потерять приличный % трафика, снизить продажи, потерять прирост количества потенциальных клиентов слишком велики. Если осуществить перенос необходимо или потеря имеющихся позиций вас не волнует, делайте нижеописанные шаги на свой страх и риск. Схема действий:

  1. Создание бэкапа сайта.
  2. Подготовка нового домена.
  3. Перенос сайта на новый адрес.
  4. Редактирование .htacces (создание 301 редиректа на новый домен).
  5. Правка ссылок, потерявших работоспособность.
  6. Обновление данных в Google.
  7. Загрузка новой карты сайта.
  8. Смена домена в Google Analytics (если используется).

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

Прежде чем предпринимать какие-то действия, сделайте резервную копию всех данных. Полный бэкап вашего ресурса нужно делать всегда и регулярно: причин, из-за которых можно лишиться рабочего сайта, очень много. Самый простой способ забэкапить данные — воспользоваться плагинами для WordPress, например, BackWPup, BuckupBuddy или VaultPress. Их преимущество в простоте использования и работе прямо из админки ВордПресса. Важно сделать также бэкап БД — он поможет сделать откат в предыдущее состояние, если что-то пойдет не так.

Подготовка нового домена подразумевает или его регистрацию, или проверку инструментами для веб-мастеров на наличие штрафов от поисковиков, если ранее этот адрес кем-то использовался. Этот шаг особенно важен, если перенос сайта WordPress на другой домен нужен вам, чтобы улучшить положение ресурса в SEO. Самый удобный способ проверки — GWT (Google Webmasters Tools). Добавив домен в этот сервис, нужно перейти к разделу меню «Меры, принятые вручную».

Перенос сайта wordpress на другой домен

Если пусто — можно двигаться дальше. В противном случае придется регистрировать новый домен или обращаться в техподдержку Гугла для перепросмотра существующего отношения к домену.

Основная часть работы: копирование данных

Сначала скопируйте все файлы сайта со старого домена на новый. Последний должен быть уже надежно привязан к хостингу путем прописывания DNS. Простое «копировать-вставить» сработает, но сайт на новом адресе «сломается» и превратится в кашу из элементов интерфейса, а часть их пропадет вовсе. Чтобы этого не произошло можно использовать плагин. Самый популярный — All-in-One WP Migration. С его помощью получится скопировать сайт с домена на домен с сохранением всех данных, настроек, мультимедиа, файлов robots.txt и .htaccess без знаний и навыков.

Алгоритм использования:

  1. Установка и активация плагина.
  2. Отключение всех остальных плагинов для безопасности.
  3. В контекстном меню All-in-One WP Migration выберите вкладку Export.
  4. Далее перейдите в FILE. Сайт заархивируется и его можно будет скачать на локальный жесткий диск.

Перенос сайта wordpress на другой домен

  1. На новом домене с предварительно установленным WordPress и тем же плагином выберите вкладку Import и снова FILE.
  2. Загрузите ранее экспортированный архив с сайтом, а после завершения импорта распакуйте его на новом месте в корневую папку.
  3. Зайдите в админки обоих сайтов, отключите и удалите плагин для переноса, активируйте остальные.

Заметка: есть ограничение на размер загружаемого файла. Для устранения этой проблемы замените значение файла /wp-content/plugins/all-in-one-wp-migration/constants.php на:

// =================
// = Max File Size =
// =================
define( 'AI1WM_MAX_FILE_SIZE', 4294967296 );

После этого в админ-панели сайта по старому адресу перейдите в «Настройки» — «Общие». Вам нужны 2 поля: «Адрес WordPress» и «Адрес сайта». В обоих пропишите ссылку на новый домен и сохраните изменения. Вас перекинет на новый адрес.

Создание 301 редиректа

При переносе сайта WordPress на другой домен его старую версию нельзя удалять. Каждый раз когда пользователи переходят на нее, они должны автоматически перебрасываться на новый домен. Это поможет постепенно перенести SEO-показатели на обновленный адрес, когда поисковики начнут больше «любить» новый домен. 301 редирект — это постоянное перенаправление с одного URL на другой. Оно будет работать, если структура ссылок на сайте осталась прежней. Для создания редиректа откройте файл .htaccess на старом домене, прокрутите вниз и добавьте эти строки, вписав новый адрес сайта:

#Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://вашновыйдомен.com/$1 [R=301,L]

Можно добавлять страницы по отдельности, записывая в .htaccess такой код для каждой из них:

Redirect 301 /старый домен.com/page http://новый домен.com/page

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

После проделанной работы остается только вручную поправить нерабочие ссылки, например, ведущие на внутренние страницы сайта, но сохранившие прежний домен. Если этого не сделать, переход по таким URL будет выдавать ошибку 404.

Работа с Google

Добавьте новый домен в Google Search Console для скорейшей индексации сайта. Перейдите на страницу сервиса, нажмите на шестеренку в верхнем правом углу и выберите «Изменение адреса». Следуйте предложенным шагам. Тут же в левом меню в разделе «Сканирование» есть пункт «Файлы Sitemap».

Перенос сайта wordpress на другой домен

Добавьте карту сайта с нового домена. Ее можно сделать при помощи плагинов WordPress. Если вам необходимо отслеживание показателей трафика в Google Analytics, то, открыв страницу сервиса, перейдите на вкладку Admin, далее Property Settings, впишите новый домен в поле URL и сохраните изменения.

Вывод

Перенос WordPress сайта на другой домен — задача не из простых, и нет гарантий, что это получится осуществить с первого раза. Убедитесь, что эта процедура необходима, потому что низкие показатели SEO могут быть следствием низкого качества контента или других недоработок. Не забывайте о бэкапах.
 

sfztn.com

Смена домена 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 не заработали

Раньше я действовал так: ставил плагин Xcloner, копировал с его помощью сайт в виде архива (там внутри была и база), затем переносил и устанавливал на новый хостинг или домен.

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

В чем же дело?
Я подумал сразу, что видимо дело в плагине Xcloner.
Перепробовал еще штук 5 разных плагинов, вроде бесплатного Duplicator и платного BackUp Buddy, и еще уже не помню всяких разных до кучи.

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

Я плюнул на плагины и подумал: перенесу по старинке руками.

Переношу WordPress вручную

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

Поэтому в процессе переноса WordPress на другой домен и хостинг в ручном режиме обычно состоит из этих же двух этапов:

  1. Переносим файлы
  2. Переносим базу данных

Вручную это делается так.

Перенос файлов

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

По 3G-соединению это делать вообще не резон, даже с учетом того, что я как следует увеличил скорость подключения (читаем как я это сделал на мобильном интернете).

Поэтому я нашел более изящный способ.

Большинство моих клиентов использует панель хостинга — ISP Manager, там есть функции переноса целого архива прямо с одного хостинга на другой — минуя мой компьютер.

Так что теперь я делаю так: создаю архив всего сайта WordPress на своем хостинге и мгновенно переношу его на второй хостинг через ту же панель ISP.

Это занимает пару секунд и совсем не жрёт трафик.
Такой способ поддерживает еще несколько панелей управления хостингом (вот тут есть более подробная информация о том, какой хостинг я рекомендую).

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

Если нет возможности использовать ISP панель, то переносите по старинке через FTP.

Ну вот вы и перенесли файлы.
Нужно теперь поменять в файле конфигурации wp-config.php устаревшую информацию и указать новый домен, куда был перенесен wordpress-сайт.

Там все примитивно, разберетесь. Сохраняете после изменений wp-config.php и идем дальше.

Перенос базы данных

Если вы хотите быть уверенными на 200%, что все ваши статьи, записи и настройки скопируются полностью и правильно, то копируйте базу вручную прямо с сервера вашего хостера.

Для этого заходите в панель управления хостингом, выбирайте службу PhpMyAdmin (этот программа для управления базами данных), вводите логин и пароль от базы (есть в том же файле wp-config.php) и когда попадете внутрь – просто экспортируйте нужную базу, у вас получится один файл в формате SQL.

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

Теперь делаем на новом хостинге то же самое – заходим в PhpMyAdmin, вводим логин и пароль от свежей только что созданной базы данных  и импортируем наш SQL-архив в нее.

Всё — теперь старая база данных находится на новом хостинге.

И теперь — самое главное.

Секретный момент!

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

Современные базы данных хранят в некоторых местах не только информацию о домене сайта, например, «https://moytop.com», но также индексируют эту информацию, указывая в соседних полях, из скольких символов состоит строка с именем домена, например вот так:

a:2:{s:3:"url";s:17:"https://moytop.com";s:4:"meta";s:8:"метатеги";}

s17 – означает, что в поле url – 17 символов.

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

И что? Сидеть с калькулятором и высчитывать длину новых доменов и строк? Наверняка можно это все автоматизировать и упростить.

Да, я это делаю вместе со специальным скриптом «Safe Search and Replace on Database with Serialized». Это реально волшебная программа, которая быстро и правильно делает замену старого домена на новый в базе данных при переносе сайта. При этом скрипт делает за вас всю нудную работу – высчитывает количество символов заменяемой строки и правильно добавляет их куда нужно в новую базу данных.

Чтобы запустить скрипт, достаточно его скачать на компьютер, затем по FTP переписать всю папку в корень вашего нового сайта и ввести путь к скрипту типа такого http://test2.moytop.com/database в любом браузере.

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

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

Если после клика на социальный замок не показывается содержимое (такое бывает иногда в зависимости от браузера), то есть такие варианты:

  • Попробуйте другую соцсеть или зайти из другого браузера
  • Оставьте страницу подождать какое-то время (в новой полной версии соцзамка есть таймер обратного отсчета, он в углу показывает оставшееся время до самооткрытия).
  • Заходите в спецархив — я тут выкладываю ссылки на все файлы (https://moytop.com/about-archive-moytop)

Итак, установили и открыли скрипт? После запуска вы увидите примерно такой экран:

Перенос базы в wordpress

Программа работает именно с WordPress, поэтому логин и пароль к базе возьмет из конфигурации сама, всё что вам нужно – это вписать в первое поле имя старого домена (откуда переносится сайт), во второе поле – имя нового домена (куда переносим сайт) и нажать Live Run.

Процесс пошёл! Он нагляден, тут же показывается где и какие таблицы в базе содержали значение старого домена и все ли успешно поменялось.

Домены рекомендую вводить без префикса, то есть лучше не использовать http://test2.moytop.com, пишите просто: test2.moytop.com

Ну и в конце после замены информации о домене – можете удалить скрипт с сайта, так даже рекомендуют его авторы, чтобы он не был потенциальной дырой в безопасности сайта (читайте как повысить безопасность своего сайта на WordPress за пару кликов).

Все готово! Теперь перезагружайте страницу CTRL+F5 и если вы все сделали правильно и внимательно, то сайт перенесется на новый домен и хостинг без проблем.

И напоследок еще один суперпростой способ!

Мне его подсказал в комментариях Василий, за что ему отдельное спасибо :smile:

Для его реализации понадобится доступ в админку и плагин Velvet Blues Update URLs.

Этот плагин удобнее всего поставить еще до переноса Вордпресс-системы (как установить плагины для WordPress) и после переноса зайти в админку и выбрать в настройках нужные параметры.

Попасть в настройки:

перенос wordpress сайта на другой хостинг через плагин velvet

Нужные параметры:

перенос вордпресс на другой хостинг через плагин velvet 2

То есть в первом поле — старый адрес (лучше без http, просто домен).
Во втором — новый (аналогично).

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

Вот и все, дальше жмите — на кнопку UPDATES URLs и старые ссылки в базе заменятся на новые.

Этот способ переноса работает тоже хорошо, я проверил на нескольких сайтах — все четко.

moytop.com

Создаём резервную копию файлов сайта

Для создания бекапа (резервной копии) сайта на WordPress можно пойти несколькими путями

  1. Воспользоваться плагином, например, UpdraftPlus WordPress Backup Plugin или Duplicator
  2. Сделать это вручную

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

Ещё хочу добавить про плагины — они могут не до конца запаковать все файлы. Я, например, сталкивался с тем, что UpdraftPlus WordPress Backup Plugin не до конца сбекапил базу данных, пропустив кастомную таблицу (у неё префикс отличался от остальных). Поэтому, при переносе базы данных я рекомендую пользоваться старыми добрыми phpMyAdmin или Adminer.

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

Кстати, вот тут моя личная рекомендация. Если заведёте хостинг в Beget, служба поддержки перенесёт и настроит ваш сайт бесплатно, а также даст 30 бесплатных тестовых дней хостинга

Если панели нет, либо вы имеете желание и возможность работать через консоль, переходим далее.

Как создать архив с файлами сайта

Во втором случае, допустим, ваш сайт располагается в директории /var/www/sheensay.ru
Авторизуетесь в вашем хостинге с помощью Far Manager или иного другого файлового или консольного менеджера (например, putty) по ssh, переходите в раздел /var/www/ вводите команду

tar czvf backup.tar.gz sheensay.ru 

где sheensay.ru — это директория, в которой содержится ваш сайт.
В результате, увидите файл backup.tag.gz. Его надо скачать, в нём содержится архив файлов вашего сайта

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

На худой конец, просто скопируйте файлы сайта к себе через ftp или ssh, однако, этот вариант крайне неудобен и нежелателен, ибо долог.

Создаём резервную копию базы данных сайта

Для создания бекапа mysql базы данных можно

  1. Воспользоваться плагинами: WP-DB-Backup, WP Database Backup и т.д.
  2. Использовать phpMyAdmin, Adminer
  3. Создать копию базы данных mysql через консоль утилитой mysqldump

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

Как создать резервную копию базы данных с помощью PhpMyAdmin, Adminer

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

  1. Находим нашу базу данных
  2. Переходим в Экспорт
  3. Выбираем режим Обычный — отображать все возможные настройки
  4. Убеждаемся, что все таблицы выделены
  5. Выбираем компрессию gzip
  6. Следим, чтобы формат был SQL
  7. Смотрим, чтобы все галочки были проставлены как надо

На выходе на скачивание получаем файл wptest.sql.gz, где wptest — название нашей базы данных.

Создание копии базы данных с помощью mysqldump

Если у вас нет доступа к phpMyAdmin, вы можете создать дамп базы данных через консоль SSH с помощью утилиты mysqldump.
Допустим, для доступа к базе данных у нас такие параметры: логин: root, пароль: pass, название базы данных sheensay_database.
Авторизуемся на хостинг через ssh и в консоль записываем

mysqldump sheensay_database -uroot -ppass | gzip > db.sql.gz

На выходе получится файл db.sql.gz, в котором содержится дамп(упакованный бекап) базы данных

Можно упростить создание бекапа базы данных, если использовать WP CLI
Для создания бекапа достаточно 1 команды (если под рутом, добавляете ключ --allow-root):

wp db export

А чтобы развернуть дамп из бекапа, можно использовать похожую команду:

wp db import db.sql

где db.sql — имя дампа базы данных.

Сжать db.sql можно комадной:

gzip db.sql

А распаковать обратно:

gunzip db.sql.gz

Перенос с локального сервера на хостинг

Итак, мы имеем 2 файла с бекапами нашего сайта: backup.tar.gz — с файлами сайта, и wptest.tar.gz — с дампом базы данных. Если мы будем переносить наш сайт с денвера (или иного локального сервера) на хостинг, по сути, ничего не поменяется, разве что архив с файлами сайта нужно будет собрать штатным архиватором (тот же Far Manager с помощью Shift + F1 на нужной папке с файлами прекрасно с этим справляется). Так же можно перенести сайт обратно на Денвер или любой другой хостинг, поэтому направление переноса не имеет значения.

На локальном хостинге (Денвере/Denwer, Open Server) не забывайте отключать плагины кеширования (WP Super Cache, W3 Total Cache, WP Rocket и подобные) и безопасности (Wordfence, All In One WP Security & Firewall и т.п.), они будут мешать работе. Если не получается отключить плагины через админку, удалите их директории вручную, это хоть и грубый, но весьма действенный метод.

Перенос файлов сайта

Для начала, перенесём файлы сайта. Если возможно, делаем это с помощью файлового менеджера: авторизуемся по ssh и закачиваем backup.tar.gz в нужную директорию.

Архив с файлами сайта нужно залить именно на тот уровень иерархии, с которого он создавался. В нашем случае, нужно заливать в /var/www/
Впрочем, при возникновении трудностей для исправления ситуации можно воспользоваться UNIX-командой mv

Распаковку производим с помощью команды

tar xfvz backup.tar.gz

Если у вас VDS/VPS, после переноса файлов не забудьте установить правильных владельцев файлов и директорий, а также права доступа к ним.

Перенос базы данных

Теперь переходим в phpMyAdmin нового хостинга и импортируем дамп нашей базы данных

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

  1. Авторизуемся в phpmyadmin
  2. Переходим в раздел импорт
  3. Выбираем архив с дампом БД
  4. Следим, чтобы кодировка была правильной
  5. Формат должен быть SQL
  6. Сохраняем

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

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

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

Самый простой вариант — прописать домен в wp-config.php
Способ не идеальный (иногда некоторые плагины могут работают некорректно, пока не изменить домен и в базе данных тоже), но самый простой и быстрый.
Итак, находим в корне сайта, редактируем wp-config.php. Желательно найти define( 'WP_DEBUG', false ); и прописать над или под ним:

define( 'WP_DEBUG', false );    // example.com заменяем на свой домен  define( 'WP_HOME', 'http://example.com' );  define( 'WP_SITEURL', 'http://example.com' );  
Вариант для любителей консоли SSH — пользуемся WP-CLI
Для безопасного внесения изменений в базу данных WordPress можно воспользоваться утилитой WP-CLI.
Например, команда для консоли SSH, чтобы изменить домен в базе данных с http на https:

wp search-replace 'http://example.com' 'https://example.com'
Специальная утилита Search-Replace-DB для внесения изменений в базу данных WordPress

Пользуемся специальной утилитой Search-Replace-DB от компании Interconnect IT, это проще и безопаснее. Вам будет достаточно лишь доступа по SSH или FTP, и она сможет внести изменения в сериализованные значения правильно (инструкция ниже).

Используем Search-Replace-DB

  1. Скачиваем последнюю версию Search-Replace-DB
  2. Создаём в корне сайта папку с любым названием, распаковываем скачанный архив туда. Тут загвоздка в том, что любой открывший эту директорию получает доступ к базе данных сайта. Поэтому тут либо создаём сложноподбираемое название директории, либо воспользуемся защитой htaccess от постороннего доступа
  3. В строку replace вносим старый домен, with — новый. Данные для подключения к базе данных вносятся автоматом.
    Отмечаем All tables, потом жмём Live Run.

Не закрывайте страницу, пока утилита не завершит все начатые изменения!

Утилитой можно воспользоваться не только для изменения имени домена в базе данных. Она может помочь при внесении других правок, при необходимости, сделав это аккуратно и сохранив структуру данных.
По окончанию работ директорию со скриптами лучше всего удалить для безопасности. Советую удалять не с помощью кнопки delete me, а вручную через FTP или SSH.

sheensay.ru


You May Also Like

About the Author: admind

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

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

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