Здравствуйте читатели 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» и жмем ссылку «Установить».
Далее его активируем и переходим в настройки данного модуля «Инструменты» далее «Update URLs».
Перед вами будет представлен следующий набор опций, состоящий из двух шагов.
На первом шаге надо ввести адрес старого и нового домена, в моем случае я меняю протокол с 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» в которой и будем вводить специальные запросы к базе данных для автоматической замены ссылок в постах и по всему сайту.
Несколько команд по замене ссылок:
#Замена ссылок в полях: Адрес 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!
Спасибо, пыхадмин наше все
Это хорошо, что есть такие хорошие плагины. Максим было бы ещё не плохо и написать чем отличается протокол HTTP от HTTPS, и почему вы решили на него перейти.
Обязательно все напишу, когда этот блог переведу на HTTPS. Будет обзорный пост как это делать правильно для движков WordPress.
Хорошо. Буду ждать. Если честно то я даже и не знал, что есть такой протокол как HTTPS. А нет ли риска потери пузомерок и входящих ссылок при таком переходе?
Если делать все правильно, то минимальные. Но мне все равно боязно этот блог переводить на HTTPS. Через пару лет все сайты будут на HTTPS, так что хочешь не хочешь, а перейти всем придется.
А куда же денется старый проток? Или его просто уберут и все новые сайты будут идти уже HTTPS, а владельцам старых сайтов уже предётся переводить.
Да скорее всего так и будет. При регистрации домена, обязательно надо будет получать SSL сертификат, а то сайт на хостинге работать не будет.
Устареет протокол, станет ненужным. Лет через ...дцать и https может оказаться устаревшим. Техническая мысль не стоит на месте.
Лучше положиться на плагин. Я бы побоялся лезть в phpMyAdmin и давать разные команды.
Спасибо Максим, у меня опыта со сменой доменов, хостингов, url и т.д. и т.п. много было, постоянно что-то приходиться менять и переносить. Статья твоя зачот! Как всегда кратко и по делу 😉 Но я не только с вордпрессом работаю, много cms к коими пришлось столкнуться
Максим зря делаете перенос, можно было бы сделать проще. Если у вас сайты на VPS или VDS то нужно поставить защиту от вирусов и DDos атак. Могу рассказать как я ставил. Вы напишите статью и уверен людям пригодится информация.
Причем здесь защита от вирусов VPS или VDS. Дело идет о защите данных пользователей, а протокол HTTP такого гарантировать не может, чего не скажешь об HTTPS.
Спасибо, Максим. Было бы ещё интересно почитать материал на тему о том, когда стоит менять протокол http на https и что необходимо для реализации замены.
Протокол уже можно начинать менять, Google об этом давно заявлял, что даже сайты на HTTPS ранжировать выше в ТОПе будет. Недавно и Яндекс перешел на защищенный протокол, уверен не за горам тот день, когда и Яшка сделает подобное заявление.
Когда переведу seoslim.ru на HTTPS обязательно напишу пост, как и что надо делать.
Я предпочитаю напрямую из phpMyAdmin делать запросы, а на счет HTTPS, буду с нетерпением ждать вашей статьи
А я кстати вот на днях заметил, что Гугл уже перешёл на HTTPS. Теперь на всех сайтах смотрю какой у них протокол.
ну и хорошо)
Спасибо за помощь, сэкономил кучу времени)
Что то не видно у вас безопасного протокола
А почему вы его должны видеть если я этот блог еще не переводил на HTTPS.
Скажите, по прошествии такого времени, есть ли смысл ставить SLL? Особенно let's encrypt (бесплатный).
Хочу на 1 домен новый я поставить let's encrypt.
А второй домен реанимировать из плохой истории как раз.
У меня была замена httpe на https. Но мне все сделали программисты самого хостинга, по моему был сделан редирект в файле .htassecc. Примерно за месяц в поисковых системах все адреса заменились на https. У меня на сайте есть подробная статья как это было. Ссылку вам как- то неудобно здесь писать. Но если нужно, то напишу. Сейчас подробности уже не помню, но все было без проблем.
Спасибо! Интересный и очень мне нужный плагин. Я как раз мучаюсь с этой проблемой. На главной странице замочек встал на место, а на остальных нет. Думаю, что с этим плагином я быстро все сделаю как надо.
Все страницы стали с буквой S, но теперь как я захожу в админ панель, появляется предупреждение, что страница пытается загрузить скрипты из непроверенных источников. А также на внутренних страницах пропали фавиконы. Чтобы это могло быть и что с этим делать?
Очень полезная статья, так как я ещё не перевёл свой сайт на протокол HTTPS. Но в будущем планирую это сделать, если вдруг Гугл начнёт каким-то образом противится сайтам без этого протокола. Но я всё же думаю, что обычных статейников это не коснётся.
Благодарю!
Сегодня наконец-то и свой сайт перевёл на безопасный протокол. Все ссылки заменил с помощью плагина. Всё отлично работает.
Отлично, давно пора было. Какой плагин использовал??