Блог Максима Войтика
Публикации о способах
заработка в интернете и SEO
Анализ сайта: Проверка Траста

Как заменить все ссылки сайта WordPress при смене домена или протокола HTTPS

29 июня 2015
Комментарии: 16

автоматическая замена ссылок сайта

Здравствуйте читатели seoslim.ru! Нередко вебмастера сталкиваются с такой проблемой, когда из-за определенных обстоятельств, требуется смена доменного имени сайта.

Насколько я знаю, домен меняют чтобы:

  • сайт было легче запомнить
  • выйти из-под фильтра поисковых систем
  • сменить доменную зону (com, ru, org, by, net и другие)
  • заслужить внимание поисковиков, если у бывшего домена (дропа) была плохая история

Как правило, с подключением нового домена проблем не возникает, достаточно только перенести содержимое сайта (файлы и базу данных), установить 301 редирект и сделать правки в файле robots.txt.

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

Страшно становится от той мысли, что надо все эти статьи перелопатить и поменять URL адреса ссылок на новые.

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

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

http://seoslim.ru/... — старый адрес сайта

https://seoslim.ru/... — новый адрес сайта

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

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

Плагин. Самый простой способ, чтобы заменить все ссылки на новые WordPress сайтов, надо скачать специальный плагин Velvet Blues Update URLs и в его настройках воспользоваться строкой замены URL адресов.

Первым делом нам надо установить плагин. Для этого я использую строку поиска плагина из административной панели Вордпресс.

Где в строке поиска вводим «Velvet Blues Update URLs» и жмем ссылку «Установить».

установка Velvet Blues Update URLs

Далее его активируем и переходим в настройки данного модуля «Инструменты» далее «Update URLs».

настройки плагина

Перед вами будет представлен следующий набор опций, состоящий из двух шагов.

обновление URL адресов

На первом шаге надо ввести адрес старого и нового домена, в моем случае я меняю протокол с HTTP на HTTPS.

На втором шаге надо отметить галочками, в каких местах менять названия ссылок:

URLs in page content (posts, pages, custom post types, revisions) — в содержании страниц.

URLs in excerpts — в выдержках.

URLs in links — в ссылках.

URLs for attachments (images, documents, general media) — во вложениях (картинки, документы, медиа).

URLs in custom fields and meta boxes — в полях мета данных.

Важно! При замене ссылок обязательно укажите на конце адреса прямой слеш (/), чтобы ссылки подменялись правильно.

Теперь нажимаете «Update URLs NOW», после чего все ссылки внутри сайта будут изменены согласно тем опциям, что вы указали.

Результат замены ссылок плагином

Как видно из скрина выше у меня на тестовом сайте, плагин Velvet Blues заменил 14 ссылок: 11 внутри постов и 3 в картинках.

Я безумно рад, что существует данный модуль, способный сэкономить кучу времени вебмастерам при массовом редактировании ссылок внутри сайта.

После замены всех линков плагин Velvet Blues можно удалить. :)

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

Это делается через панель управления MySQL базами вашего хостинг-провайдера. Так как я использую хостинг Макхост (о возможностях которого прочитаете здесь и здесь), я перехожу в своем аккаунте в раздел «Управление услугами» далее выбирают «Базы данных».

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

Все базы данных на хостинге

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

панель phpMyAdmin

Несколько команд по замене ссылок:

#Замена ссылок в полях: Адрес WordPress (URL) и Адрес сайта (URL)
UPDATE wp_options SET option_value = replace(option_value, 'http://старый_сайт,'http://новый_сайт.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
#Меняет все URL адреса страниц сайта на новые
UPDATE wp_posts SET guid = replace(guid, 'http://старый_сайт,'http://новый_сайт.ru');
#Замена всех ссылок, которые находятся в тексте статей
UPDATE wp_posts SET post_content = replace(post_content, 'http://старый_сайт','http://новый_сайт.ru');

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

Еще стоит добавить, что автоматически заменить старые ссылки на новые можно с помощью утилиты «WP-CLI» и PHP-скрипт «Search Replace DB», о работе которых почитаете в сети. :)

На этом у меня все. Интересно узнать от своих читателей был ли у кого опыт смены домена или протокола HTTP на HTTPS. C какими подводными камнями вам пришлось столкнулись?

До скорой встречи на страницах seoslim.ru!

(2 голос., в среднем: 3,00 из 5)
Загрузка...
С уважением, Максим Войтик
Буду рад, если нажмете на любую из кнопок:
Комментарии (16)
  1. seoonly.ru в 07:23

    Спасибо, пыхадмин наше все :)

    Ответить
  2. Александр в 20:47

    Это хорошо, что есть такие хорошие плагины. Максим было бы ещё не плохо и написать чем отличается протокол HTTP от HTTPS, и почему вы решили на него перейти.

    Ответить
    • Максим Войтик в 21:42

      Обязательно все напишу, когда этот блог переведу на HTTPS. Будет обзорный пост как это делать правильно для движков WordPress.

      Ответить
      • Александр в 22:10

        Хорошо. Буду ждать. Если честно то я даже и не знал, что есть такой протокол как HTTPS. А нет ли риска потери пузомерок и входящих ссылок при таком переходе?

        Ответить
      • Максим Войтик в 23:02

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

        Ответить
      • Александр в 23:15

        А куда же денется старый проток? Или его просто уберут и все новые сайты будут идти уже HTTPS, а владельцам старых сайтов уже предётся переводить.

        Ответить
      • Максим Войтик в 23:40

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

        Ответить
  3. Злостик в 21:52

    Спасибо Максим, у меня опыта со сменой доменов, хостингов, url и т.д. и т.п. много было, постоянно что-то приходиться менять и переносить. Статья твоя зачот! Как всегда кратко и по делу 😉 [good] Но я не только с вордпрессом работаю, много cms к коими пришлось столкнуться

    Ответить
  4. Злостик в 02:11

    Максим зря делаете перенос, можно было бы сделать проще. Если у вас сайты на VPS или VDS то нужно поставить защиту от вирусов и DDos атак. Могу рассказать как я ставил. Вы напишите статью и уверен людям пригодится информация.

    Ответить
    • Максим Войтик в 19:34

      Причем здесь защита от вирусов VPS или VDS. Дело идет о защите данных пользователей, а протокол HTTP такого гарантировать не может, чего не скажешь об HTTPS.

      Ответить
  5. Элина в 13:20

    Спасибо, Максим. Было бы ещё интересно почитать материал на тему о том, когда стоит менять протокол http на https и что необходимо для реализации замены.

    Ответить
    • Максим Войтик в 19:36

      Протокол уже можно начинать менять, Google об этом давно заявлял, что даже сайты на HTTPS ранжировать выше в ТОПе будет. Недавно и Яндекс перешел на защищенный протокол, уверен не за горам тот день, когда и Яшка сделает подобное заявление.

      Когда переведу seoslim.ru на HTTPS обязательно напишу пост, как и что надо делать.

      Ответить
      • Ивашка в 02:32

        Я предпочитаю напрямую из phpMyAdmin делать запросы, а на счет HTTPS, буду с нетерпением ждать вашей статьи

        Ответить
  6. Александр в 21:33

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

    Ответить
  7. Lives в 10:01

    ну и хорошо)

    Ответить
  8. Сергей Иванисов в 21:30

    Спасибо за помощь, сэкономил кучу времени) [:))]

    Ответить
Оставить свой комментарий
Обязательно ознакомьтесь с правилами комментирования!!! СПАМ будет удален!
:) :-D ;-) :-| [star] [good] [present] [flower] [:-))] [:))] [:--_)] [:-|]

© 2011-2016 seoslim.ru, блог Максима Войтика

Внимание! Копирование материала строго запрещено. Соблюдайте авторские права и уважайте труд других людей!