Как быстро изменить абсолютные ссылки на относительные в сайтах WordPress

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

Итак, друзья эта информация пригодится вам уже в ближайшем будущем. Так как рано или поздно мы все будем вынуждены перейти с протокола http на https. Этого от нас требует Гугл, так как с 2017 года незащищённые сайты будут понижаться в поисковой выдаче. Это по типу внедрения адаптивного дизайна, когда Гугл тоже выкатил ультиматум таким сайтам.

А этот переход подразумевает много технической возни и замену всех ссылок на сайте.

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

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

Чем отличаются абсолютные и относительные ссылки

Ссылок на вашем сайте достаточно много – это ссылки страниц, статей, меню, изображений, метатегов, скриптов и так далее. Все эти ссылки являются абсолютными. Они имеют такой вид:

http://site.ru/content/

А нужно изменить эти ссылки на относительные, которые делятся на два варианта.

  1. Относительные ссылки вне зависимости от домена:

https://site.ru/content/ — абсолютная.

/content/ — относительная.

  1. Относительные ссылки вне зависимости от протокола.

https://site.ru/content/ — абсолютная.

//site.ru/content/ — относительная.

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

Изменение ссылок с помощью плагина HTTP / HTTPS Remover

Вообще, на выбор есть 2 пути, решить задачу с помощью плагина и без него. Второй вариант обсудим дальше. А сейчас самый простой и быстрый, с помощью HTTP / HTTPS Remover плагина.

Я пересмотрел много плагинов. Окончательный выбор был между двумя претендентами HTTP / HTTPS Remover и Velvet Blues Update URLs, которые вы можете использовать.

HTTP / HTTPS Remover – не имеет настроек и выполняет своё назначение сразу после активации.

Velvet Blues Update URLs – нужно настраивать, зато его можно удалить после изменения ссылок.

Выбор за вами, я же остановился на первом. Просто устанавливаете и активируйте этот плагин – и он работает.

Установленный плагин

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

Изменение ссылок в базе данных

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

Далее, выбрав базу данных, в разделе SQL нужно ввести следующие команды:

Изменение адреса и имени сайта.

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

Изменение URL страниц сайта и ссылок в тексте.

UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://1zaicev.ru/', 'https://1zaicev.ru/');
UPDATE wp_posts SET guid = REPLACE (guid, 'http://1zaicev.ru/', 'https://1zaicev.ru/') WHERE post_type = 'attachment';

Изменение ссылок в метаданных.

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://1zaicev.ru/','https://1zaicev.ru/');

Изменение ссылок в комментариях.

UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'http://1zaicev.ru/', 'https://1zaicev.ru/');
UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'http://1zaicev.ru/', 'https://1zaicev.ru/');

Вставка кодов в БД

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

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

На сегодня у меня всё. Друзья, я желаю вам успехов! До встречи в новых статьях.

С уважением, Максим Зайцев.

Понравилась статья? Поделиться с друзьями:
Комментарии: 87
  1. Олег

    Максим привет!

    Давно тебе не писал. Но тут повод появился )
    Есть ещё один хороший плагин Search Regex. Включаешь его, настроек там особо никаких нет, всё интуитивно понятно, и чтоб в базу данных в саму не лезть, можно все ссылки поменять через этот плагин. Очень удобно, попробовал, проблем никаких, ну конечно лучше сохранить резервные копии и базы данных и файлов сайта.

    1. Максим Зайцев (автор)

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

  2. Виктория Карпова

    Максим, привет! И спасибо большое за статью! Как раз тоже собралась заняться за меной ссылок, но не подумала, что можно вот так проще с помощью плагина, а уже представила, как это ужасно долго и муторно делать вручную…

    1. Максим Зайцев (автор)

      Вика, привет. Ручками — это очень долго и не наш подход. Лучше использовать средства автоматизации. Успехов тебе с заменой!

  3. Людмила

    Максим, спасибо за своевременную подсказку. Тоже уже ознакомилась с материалами по переходу на https. Вот теперь еще и за сервисы придется платить ежегодно :)

    1. Максим Зайцев (автор)

      Людмила, пожалуйста! :-) Да, дополнительная статья расходов добавится. Но, изучая эту тему я понял, что можно и бесплатный сертификат получить. Сейчас разбираюсь с ограничениями. Кстати, на хостинге Бегет можно бесплатный получить и установить прямо из панели админа. А платный стоит дороже самого хостинга. На Спринхосте дешевле, но тоже дороже, чем у сторонних регистраторов. В общем разберусь и опубликую статью с оптимальным решением.

      1. Лариса

        Максим! Очень буду ждать статью с бесплатным вариантом серта, а то действительно, по цене получается дороже самого хостинга со всеми 10 доменами и БД… Не окупается это совершенно…

        1. Максим Зайцев (автор)

          На этой неделе подготовлю статью. А заодно один из сайтов переведу на бесплатный сертификат.

  4. Василий

    Полезный материал. Я будут тянуть с переходом до последнего. С Нового года Гугл начнет обращать внимание на сайты с приемом оплаты, поэтому у нас (у кого этого нет) есть еще время подождать.
    Для перехода нужен будет выделенный IP? Где-то я читал об этом. Еще одни расходы…
    В статьях сайта я уже давно подготовился. Нужно еще посмотреть другие файлы для того, чтобы вообще убрать с URL протокол.
    Волнует еще вопрос, а быть как с рекламными сетями? Никто, кто переходил не освещают этот вопрос. У них сайт зарегистрирован по старому протоколу. Как быть непонятно.

  5. Василий

    Мой комментарий куда-то затерялся, хотя комментарии к этой статья приходят на почту.
    Пока воздержусь от перехода, так как я на сайте не принимаю оплату. Попробую удалить протокол из URL на сайте, где еще не удалил.
    На Спринхосте написано, что для подключения сертификата нужно иметь выделенный IP адрес, а это еще одна статья расходов.
    Меня волнует такой еще момент, а как быть с рекламными сетями? Сайт у них зарегистрирован с простым протоколом. Как действовать? Я могу обратиться в РСЯ, а в Google невозможно обратиться. Непонятно, что делать.

    1. Максим Зайцев (автор)

      Вась, привет. Твой комментарий попал на ручную модерацию, а я с ответом затянул, выходной день, расслабился. Выделенный IP нужен, походу, на всех хостингах, у меня есть доступ к 5 разным хостингам и на всех я проверил, нужен сертификат и выделенный IP. Но, вот покупать сертификат у хостинга очень дорого. В то время, как можно купить сертификат на 3 года за 470 рублей, хостинги (спринхост — самый дешёвый из проверенных) предлагает за 790 рублей в год, плюс 150 за выделенный IP. За год — это грабёж, а за 3 года?
      С рекламой я тоже был озадачен, но перепроверил и выяснил, что в Адсенс мы добавляем доменное имя (в подтверждённые сайты), протокол не учитывается, они это учли. Гугл же! В тизерных сетях тоже самое. РСЯ не смотрел, нужен доступ к клиентскому сайту, было не охота просить. Но, уверен и у них тоже это вопрос решён подобным образом.
      Остаются только партнёрские в прятателе ссылок, кто использует, но и там есть хитрость.
      Так, что переведу они из сайтов на бесплатный сертифика, обкатаю схему и поделюсь опытом! А для блога нужно писать в службу поддержки и узнавать, как установить сторонний сертификат. В общем, буду делиться своими продвижениями в этой области.

      1. Василий

        Я тоже смотрел, этот вариант, наверное, самый оптимальный. У бесплатного сертификата могут быть проблемы с проверкой. Если переходить, то на надежный вариант.
        Еще пишут, что из-за защищенного протокола может уменьшится доход от рекламы. Почему? Это главный аргумент для меня тянуть с переходом.

        1. Максим Зайцев (автор)

          Бесплатный поддерживается меньшим количеством браузеров, но это сегодня не проблема, так как в основном пользуются все современными браузерами, а в них есть поддержка бесплатных сертификатов.
          А вот насчёт уменьшения дохода я не слышал, по идее сайт в глазах рекламных сетей и рекламодателей надёжнее должен выглядеть. Надо этот вопрос тоже изучить!

      2. Василий

        Я написал в РСЯ . Получил такой ответ: «Реклама будет отображаться.».

        1. Максим Зайцев (автор)

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

  6. Людмила

    Друзья, в общем то не стоит вдаваться в панику и в спешке поголовно переводить все блоги на https. Санкции от гугла будут не для всех и не конкретно с 1 января.
    Сегодня прочитала статью на ideafox , где автор опираясь на первоисточники от гугл сообщает следующее:
    » Для большинства автономных блогов на данный момент “черная метка” НЕ грозит. Если только Вы не владелец форума, интернет-магазина или любого сайта, где необходимо вводить пароли или платежные реквизиты. Причем, большинство интернет-магазинов используют платежные агрегаторы, которые по умолчанию используют SSL-сертификаты.

    Единственная проблема для подобных сайтов – это сквозная форма авторизации на каждой странице. Тут уже придется либо избавляться от нее переходя на оформление заказов без регистрации, либо переходить на HTTPS.»

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

    1. Максим Зайцев (автор)

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

  7. Сергей Стеклов

    В дальнейшем тоже планирую переехать на https. Как бы его не ругали, но все же, это полезная вещь. Тем более есть хорошая кампания летценскрипт, которая раздает бесплатные и надежные сертификаты именно для проверки домена. Проблем с ней не будет. Они могут возникнуть только в самоподписных сертификатах + в некоторых ненадежных кампаниях.
    Также для бесплатного и надежного сертификата выделенный ip не обязателен. Поэтому тут вообще, нет никаких расходов.
    А вот на счет Спринтхоста — я в них разочарован. Цены завышенные + нельзя установить сертификат, которого нет в ихнем магазине. Надеюсь, в дальнейшем они одумаются и пойдут на встречу своим клиентам.

    1. Максим Зайцев (автор)

      Сергей, привет. Спасибо за комментарий. Я сегодня тоже получил ответ от поддержки Спринхоста и тоже разочарован. Выходит, что мой блог если и переводить на https, то только по их тарифам, а это в 3 раза дороже. Написал им ответное письмо с предложением пересмотреть такое положение дел. Вряд ли они послушают, но если люди будут подобные предложения выдвигать им придётся подумать над этим вопросом.

      1. Василий

        Я тоже со Спринхостом поругался. В итоге они мне написали: «В настоящий момент отсутствует техническая возможность установки любых сертификатов в рамках услуги виртуального хостинга.
        В дальнейшем, возможно, появится такая возможность, о чем мы дадим знать нашим клиентам, но сейчас Вы можете использовать сторонние сертификаты только в рамках услуги VDS без администрирования.»
        В принципе, я и не собираюсь в ближайшее время переходить, только. если поисковики начнут вынуждать. Может и хостинг к тому времени исправится.
        По рекламе, как я понял все будет работать. Из за границы тоже написали, что ничего делать не надо.

        1. Максим Зайцев (автор)

          Да, хостинг подвёл в этом моменте. Я хотел перевести блог на https и показать на нём пример для посетителей. Конечно хотелось показать оптимальный вариант, а не «обдиралово» от хостинга. Значит блог подождёт до лучших времён, пока Спринхост одумается. Покажу пример на другом сайте.
          А с рекламой всё будет без проблем.

          1. Вика

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

          2. Максим Зайцев (автор)

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

  8. Павел

    Максим привет, спасибо за очередной и важный очерк для развития сайта. У меня два сайта на Спринхосте и один на Бегете, скажу, что на Бегете проблем с бесплатным сертификатом SSL нет и не нужен выделенный ip и это очень радует, что не скажешь про Спринхост, очень хочу остаться на Спринхосте он меня устраивает, хорошо держит нагрузку, но SSL у них проблема, по словам техподдержки бесплатные сертификаты появятся уже в ноябре, но есть ещё один подводный камень, придётся покупать выделенный ip, который стоит 150 руб. в месяц, что сильно меня не радует. Кстати для тех кто перешёл https, могу предоставить код для вставки functions.php решающий проблему смешанного содержимого, исправляющий открытия сайта по двум протоколам https и http одновременно. Максим если тебе интересно, скину ссылку на код, что-бы ты мог его просмотреть, и если посчитаешь нужным передашь его народу.

    1. Максим Зайцев (автор)

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

  9. Павел

    Максим приветствую, ссылка на код https://yadi.sk/i/LMDa1OB1y9yBg автор кода Андрей Морковин.

    1. Максим Зайцев (автор)

      Паш, спасибо, код действительно полезный!

  10. Валерий

    Сегодня перевел сайт на https мой хостер макхост сам мне предложил цена вопроса 1000рублей на год, выделенный IP не нужен. Но вот что бы все отображалось правильно не могу настроить.

    1. Максим Зайцев (автор)

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

      1. валерий

        Не знаю как все это сделать в базе данных все все http на https поменял и нечего не помогло. Не очень я в этом шарю.

        1. Максим Зайцев (автор)

          Но, сейчас я уже вижу нормальный сайта, значит помогло! Отлично!

      2. валерий

        Вроде все поменял, но а каких скриптах вы говорите? К примеру в скрипте счетчика рамблер тоже нужно менять http на https

        1. Максим Зайцев (автор)

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

          1. валерий

            А где эти скрипты в каком файле они могут находится?

          2. валерий

            Про карту и робот вы имеете в виду добавить в панель вебмастера Яндекс и Goole? В роботе я изменил адресс и в hetacess добавил код. а в карте что делать?

          3. валерий

            Вроде все наконец-то заработало! Благодаря вашей помощи Максим спасибо!

          4. Максим Зайцев (автор)

            Валера, вы молодец. Всё получилось отлично, поздравляю!

          5. Валерий

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

          6. Максим Зайцев (автор)

            Но, уже сделали. Яндекс ТИЦ срежет до 0, но восстановит его при следующем апдейте. Гугл на это нормально реагирует.

  11. Дмитрий

    Спасибо за обзор этого вопроса. Я вот только одного не пойму — почему нельзя сразу в БД сделать пути к ссылкам / картинкам / скрипта по описанному же в статье относительному виду вне зависимости от протокола? То есть меняем все ссылки на формат //site.ru/ и все, захотели потом перевели на https, захотели подождали:)

    1. Дмитрий

      Кстати, может кому понадобится код для смены всех ссылок на относительные //, который можно вставить в functions.php. Такой, полукостыльный метод, но лучше мне кажется, чем держать +1 плагин:)

      function removeHomeUrl($url)
      {
          $url_sectors = preg_split('/\//i', $url);
          unset($url_sectors[0]);
          unset($url_sectors[1]);
          unset($url_sectors[2]);
          return '/'.join('/', $url_sectors);
      }
      add_filter('plugins_url', 'removeHomeUrl');
      
      function attachment_image($attrs)
      {
          $url_sectors = preg_split('/\//', $attrs['src']);
          unset($url_sectors[0]);
          unset($url_sectors[1]);
          unset($url_sectors[2]);
          $attrs['src'] = '/'.join('/', $url_sectors);
          return $attrs;
      }
      
      add_filter('wp_get_attachment_image_attributes', 'attachment_image');
      1. Максим Зайцев (автор)

        Дмитрий, спасибо за код! Уверен, пригодится многим мои читателям. Удачи вам!

    2. Максим Зайцев (автор)

      Дмитрий, добрый вечер. Можно конечно сменить ссылки, даже если не будете менять протокол. А в будущем, при смене протокола, пригодится!

  12. Виктор

    Привет! Спасибо за инфу, поставил плагин, и все собственно замечательно работает, сайт (https://gamesage.ru/), только вот что странно: в редактировании записи по прежнему стоит: «Постоянная ссылка: https://gamesage.ru/novosti/final-fantasy-xv.html» — то есть абсолютная ссылка, это глюк плагина или так и должно быть?‎

    1. Максим Зайцев (автор)

      Виктор, добрый день. Так и должно быть. Протокол ведь изменился, вы обратили внимание. Так что для переживания нет причин. Удачи!

      1. Виктор

        Спасибо за разъяснение, и Вам тоже удачи, камрад!

  13. Татьяна

    Максим, подскажите пожалуйста. После установки предложенного вами плагина, все ссылки поменялись, кроме ссы/к пары скриптов и социальных кнопок. Если социалки я могу исправить вручную, то со скриптами что делать — не знаю. А именно из-за них сайт пока не признается безопасным, хотя и перевелся на https

    1. Максим Зайцев (автор)

      Здравствуйте, Татьяна. Да, некоторые ссылки не поддаются исправлению этим плагином. Нужно руками исправлять. Ссылки на скрипты и в скриптах тоже нужно исправить вручную. Тут универсального совета не дать, нужно находить скрипты и править. Большая их часть, обычно, подключается в заголовке, а также в подвале сайта. Нужно открывать файлы header.php и footer.php и вносить правки. Только обязательно сделайте резервную копию перед этим.

  14. Наталья

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

    1. Максим Зайцев (автор)

      Наталья, добрый день. Этот плагин должен работать постоянно. Он меняет ссылки в автоматическом режиме. Но, можно использовать плагина Velvet Blues Update URLs, изменить протокол сайта в ссылках и удалить этот плагин. С ним тоже просто работать, в первое поле вводите название адрес сайта http://zolushka-new.com/, а во второе https://zolushka-new.com/ Но, делать это нужно уже после установки протокола.

      1. Наталья

        Максим, благодарю. Попробую, хотя решиться на такое и то сложно, я «писатель», а не «строитель». Но вижу вы сами благополучно перешли и инструкции по переходу сделали — буду пользоваться оплачивая рекламными кликами))

        1. Максим Зайцев (автор)

          Наталья, пользуйтесь конечно! Будут вопросы, обращайтесь. Оплаты не надо ;-)

      2. Григорий

        Максим, я использовал Вельвет Блюз плагин, ссылки в аттачах надо было поменять. Всё успешно. Однако… Зеленый замочек всё равно не горит.. Кстати, тут про Спринтхост говорили.. Переехал на него почти месяц назад и как раз из-за бесплатного сертификата. Let’s Encrypt. У старого хостера для его установки нужно было покупать ip, здесь — нет. Встало без проблем, поменял практически все, в вебмастерах всё везде добавил и обновил. Жду изменений.
        Только что заметил апдейт ТиЦа. ТиЦ упал наполовину. Сначала он упал на нули, теперь он наполовину. Я всё же надеюсь, что старый Тиц мой вернется…

        1. Максим Зайцев (автор)

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

  15. артем

    Максим, здравствуй! У меня при смене ссылок в БД второй код не сработал, то есть анкорные ссылки в записях на другие записи так и остались с протоколом http. Но лечится вот таким SQL-запросом в БД, может кому-то пригодится:

    UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://сайт', '//сайт');
    1. Максим Зайцев (автор)

      Артём, привет. Спасибо за дополнение и подсказку по коду. Это я когда видео записывал, показывал, копировал и допустил ошибку. На скриншоте правильно, а в кодах накосячил.

  16. артем

    Максим, обрати внимание, пожалуйста, у тебя в кодах везде https.

  17. Игорь

    Здравствуйте Максим! С удовольствием читаю Ваши статьи! Маленькое замечание, у Вас на скринах выше в запросах меняет https на https! А то люди будут пробовать, а ничего не будет получаться!

    1. Максим Зайцев (автор)

      Игорь, добрый день. Спасибо за подсказку, внёс поправки.

  18. Елена

    Добрый день, Максим!
    Благодарю за очень полезную, толково изложенную инструкцию. Но у меня вопрос несколько другого плана.
    После перехода на https. возникла проблема с Миралинкс. Многие сайты еще на старом протоколе, и при размещении таких статей протокол меняется автоматом, на что рекламодатели и биржа реагируют отрицательно.
    Возможно ли исправить такую ситуацию или придется расставаться с биржей как источником дохода?

    1. Максим Зайцев (автор)

      Здравствуйте, Елена. В настройках сайта убедитесь, что у вас указан адрес сайта и вордпресс с протоколом https, затем отключите плагин смены протокола. Может ещё потребуется сбросить кэш. После этого проверьте всё ещё раз. Только сделайте резервную копию пред началом работ. А если есть технические трудности, попросите техподдержку хостинга помочь в этом вопросе. Удачи!

      1. Елена

        Благодарю!

  19. Сергей

    Максим, здравствуйте. Спасибо за интересную статью. Почитал комментарии, но так и не понял кое-чего. А именно, зачем вообще на сайте менять ссылки с http на https. Я имею в виду, что после переезда на https, где-то в статьях или ещё где, есть много ссылок, где указан http. При нажатии на такую ссылку открывается правильная страница, и в браузере показывается https. Если я правильно понял, то в некоторых случаях что-то может не загружаться, если указан путь http, но у меня всё выглядит и работает исправно. Соответственно, вопрос, нужно ли искать ссылки со старым протоколом в статьях, и если да, то зачем? Буду очень благодарен за ответ. :)

    1. Максим Зайцев (автор)

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

      1. Сергей

        Максим, спасибо за ответ. За это время ещё гуглил инфу, спрашивал у разработчиков. В общем решил, что лучше всё-таки найти и заменить. Ещё раз спасибо.

  20. Алекс

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

    1. Максим Зайцев (автор)

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

      1. Алекс

        Все, проблема решилась. спасибо что выслушали.
        Тема вся в удалении в публик хтмл, фаила .htaccess (точней не удалять вообще, надо сохранит на компе потом понадобится), не забудьте в папке включить видимость всех файлов, перегружаем сервера роботов с SSL(это делает провайдер) и опять закидываем свой файл(не забудьте точка впереди). все заработало.
        Вся фишка в том, если изменять ссылки полностью с разными плагинами в вордпрессе, наверное меняется и путь до txt фаилов с сертификатом, следствие не идет автообновление SSL сертификатов.
        Как будет через 3 месяца не знаю, посмотрим когда будут опять обновляться

  21. Санек

    Толку от плагина ну поменял он и что? после удаления плагина возвращается обратно http, смысл ?Есть плагин который изменяет и удалить его потом можно???

    1. Максим Зайцев (автор)

      Санёк, можно без плагина, только в таком случае ссылки будут абсолютными, то есть с протоколом. То есть, если изменение ссылок необходимо для смены протокола, этот вариант тоже подойдёт. Нужно будет лишь изменить протокол в админке сайта. А если нужно вообще сменить абсолютные на относительные, тогда либо через базу, либо с помощью плагина Search Regex, его можно удалить после замены. Но, он не все ссылки сможет изменить.

  22. Дмитрий

    Максим, спасибо за полезную статью.

    Но возникло два вопроса, если ответите, буду благодарен.

    1. Вы сразу 301-редирект ставили при переезде,или ждали, пока Яндекс определит главное зеркало, а потом уже ставили 301- редирект? Ведь Яндекс рекомендует сначала дождаться определение нового главного зеркала и только потом ставить этот редирект.

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

    Спасибо!

    1. Максим Зайцев (автор)

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

  23. Андрей

    Добрый день!
    Пытался изменить ссылки в базе данных по вашим примерам. На команды изменения URL страниц сайта и ссылок в тексте выдает ошибку — #1064 — У вас ошибка в запросе. Как я понял не хватает закрывающей кавычки, но вроде все верно.
    Ваш код:
    UPDATE wp_posts SET post_content = REPLACE (post_content, ‘http://1zaicev.ru/’, ‘https://1zaicev.ru/’);
    UPDATE wp_posts SET guid = REPLACE (guid, ‘http://1zaicev.ru/’, ‘https://1zaicev.ru/’) WHERE post_type = ‘attachment’;
    Не подскажете, где ошибка? Все остальное сработало.

    1. Максим Зайцев (автор)

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

      1. Елена

        Добрый день!
        А к чему такие сложности, если в админке вордпресс можно просто изменить протокол? Или я заблуждаюсь и этого не достаточно?
        И еще момент: на сайт ссылаются другие ресурсы, там тоже надо менять ссылки или 301 редирект автоматом решит проблему?
        Например, пользователь со стороннего сайта (например, с моей группы В контакте или фейсбуке) кликает на мой http сайт и незаметным для него образом автоматом оказывается на новом https сайте? По идее, должно быть так, но я видела на некоторых блогах и форумах в сети инфо, что надо вручную все менять где это возможно или просить хозяев сторонних ссылающихся ресурсов заменить.

        1. Максим Зайцев (автор)

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

          1. Елена

            Большое спасибо Вам за ответ!
            Рискну, наверно, хотя боязно:) хотя не понимаю: для чего нужна эта поголовная httpsзация:) даже для таких, как у меня, сайтов, где даже комментарий нельзя оставить? Но Гуглу видней, наверно:)

          2. Максим Зайцев (автор)

            Елена, на самом деле там нет ничего сложного. А нужно переходить или нет, вы решаете сами, Гугл не заставляет, а лишь плавно подводит к этому. Оцените свой трафик, и поймёте нужно он вашему сайту или нет.

  24. Лариса

    Здравствуйте, Максим!
    Подскажите, пожалуйста, у меня постоянно включен этот плагин HTTP / HTTPS Remover. А как теперь быть с внешними ссылками на сайты, которые на http? Он автоматически меняет в адресе на https и ссылка становится нерабочей либо с предупреждением об опасном сайте :(.

    1. Максим Зайцев (автор)

      Здравствуйте, Лариса. Сделайте резервную копию сайта и базы данных, отключите плагин, смените адрес сайта и адрес wp вручную (в админке, а можно в базе данных), снова войдите в админку и проверьте ссылки. Теперь они должны быть с новым протоколом и без плагина.

  25. Александр

    СПАСИБО!!!! Я так намучался с этим вопросом, а благодаря вашей статье сделал всё за 1 минуту!!!!

  26. Иван

    Спасибо — отличная инструкция. Тоже думаю перейти в ближайшее время на безопасный сертификат.

    1. Максим Зайцев (автор)

      Пожалуйста, Иван. Будут вопросы, пишите!

  27. Анатолий

    Здравствуйте, Максим! За последнюю неделю перечитал вашу статью до дыр. У нас ситуация, прямо скажу непонятная. При переезде на https, у нас появляются смешанные страницы. Первый раз я решил все с помощью плагина HTTP / HTTPS Remover и Better Search Replace, плюс ко всему руками почистил все, до чего смог добраться. Отключил плагин HTTP / HTTPS Remover. Сайт стал работать нормально, с зеленым значком и без съезжания всего в левую сторону. Через пару дней главная страница съехала опять, причем с админки все было нормально. Поставил скрипт, который Дмитрий посоветовал, стало все на свои места. Вчера обновился вордресс, и все началось сначала. Я уже *перегрелся* за последнюю неделю. Вижу ошибку, но как исправить её не понимаю, в файле нет даже намека на http, например /wp-includes/js/wp-emoji-release.min.js?ver=4.9.7′. А он там не один. Даже граватар стал ошибку показывать. Причем это не на всех страницах. Я уже и с плагинами играл, и в MySQL команды отправлял, и на хостинг писал… Причем есть еще один сайт, который перевел с первого раза, с той же темой, и все в порядке. А этот как заколдованный. Я уже думаю, что когда чистил, может где лишний http убрал? Помогите пожалуйста или советом, или участием.

  28. Максим

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

    1. Максим Зайцев (автор)

      Максим, поясните, что значит заменить на картинки и посты. Тут либо одно либо другое.

      1. Максим

        Уже разобрался. Оказывается я плагином не правильно пользовался. Нужно сначала найти искомое значение (например адрес сайта) а потом уже вводить (например новый адрес (домен) сайта.
        Спасибо за участие и отличную статью!

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