11 декабря 2017 в 22:08
на сайт, и вы сможете вступить в группу.
Вы сможете подписаться на выход новых материалов группы.
Вы сможете подписаться на новые комментарии к выбранной записи группы.

Перевод сайта на HTTPS - проще не бывает. Мой опыт

Часто на форумах поддержки вижу проблемы, когда например все плагины загружаются по https протоколу, а WP-Recall и еще некоторые плагины загружаются "по старому" - используя http-протокол.
Честно говоря не думал что это какая-то глобальная проблема, но т.к. очень часто именно этот вопрос поднимают - меня это озадачивало. И вот этот сайт я переводил на https перед его открытием и в этой записи я расскажу о своем опыте.

Итак: как перевести WordPress сайт и плагин WP-Recall на https и ничего не сломать? Читаем:


Шаг 0:

Пропустим тот пункт, что вам надо получить SSL-сертификат и в панели управления хостинга активировать его для вашего вебсервера (указав ключи и еще пару пунктов). У каждого хорошего хостера есть подробная инструкция в FAQ - как это сделать верно. "RTFM" (read the fucking manual) - как говорится. Могу вам предложить еще и термин "OTFM".


Шаг вперед и шаг назад:

Вроде вы и настроили его там, но зеленого замка вы не видите. Консоль (F12 в браузере) сыпет вам ошибками смешанного контента. Ваш WordPress и сервер не понимают что от них хотят. И вы уповаете на магические плагины для вордпресса (конечно же - "в любой непонятной ситуации с вордпрессом - ставь еще один плагин"), которые вам помогут сделать ваш сайт защищенным.

Использовать подобные плагины я считаю глупостью. Администратор сайта должен быть суров рассудительным и прежде всего ДУМАТЬ. Зачем еще один включенный плагин для того, что можно сделать один раз простой заменой в бд? Нафиг плагины такого рода.
Итак - делаем дамп БД. У нас есть резервная копия нашей базы и нам не страшно больше ничего.

Самый простой вариант - перевести внутри БД все http упоминания нашего сайта на https. Но это у меня поломало сайт - в базе находились сериализованные данные - их длина увеличилась, а указание этого - нет.
Первый блин был комом...


Первый шаг:

Вернув как было, я заменил в общих настройках WordPress 2 параметра:

- Адрес WordPress (URL) и Адрес сайта (URL). Теперь вордпресс знает что мне нужен этот протокол.


Шаг 2:

Вторым шагом я установил плагин Search & Replace
И установил его опции для своего сайта:

- я получил готовый SQL дамп своей бд с исправленными сериализованными данными и удалил этот одноразовый плагин. Заменил этим дампом в базе данных и...

Это, увы, еще не всё и мне понадобился третий шаг.


Шаг 3 - правим css файл:

Да - до зеленого замка у меня хром и фаерфокс показывали страницу как не защищенную. Это меня сконфузило - они мне не показывали какие же данные не грузятся по нужному мне протоколу (скриншот я увы не сделал - но на вкладке Сеть он мне показывал https везде. Вот засада).
Тут я вспомнил что написав свою ВП тему я бекграунд воткнул указав его прям в style.css файл "как есть". И исправил это:


upd: яндекс, когда отменил директиву host он неверно склеил мой сайт. Пришлось в корне сайта в файле .htaccess вписать этот редирект:
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

- и проверив тут https://webmaster.yandex.ru/tools/server-response/ ответ на http - получаем 301-й редирект. Значит все ок.


Результаты:

Таким образом я перевел свой сайт правильно в 4 шага на https протокол. У меня теперь нет "смешанного контента" (Mixed content - как его называют, если открыть панель разработчика в браузере)

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

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

12 комментариев

  1. Спасибо. Для меня это не столь актуально, но желание перевести сайт есть.
    Раньше боялся. Все статьи написаны как то сложно. По это статье вообще не вижу, что могут возникнуть проблемы.
    Я так понимаю, что если в файлах сайтах еще где-то упоминается http, то после всего вышеописанного можно на примере css просто все файлы прогнать через "найти и заменить" и все?

    0
    1. Да. Упоминания http быть не должно. Видел что народ еще находит полные пути с протоколом в файлах своего ВП шаблона - тут тоже все просто - копируете шаблон на свой ПК и в Notepad++ ищете через "Найти в файлах" указав папку шаблона. Находите если - меняете это на серваке

      1
    1. ...но у вас же есть бекап.
      В статье об этом тоже говорится. Восстанавливайте из бекапа. Сколько сайтов, хостингов, сколько админов - столько и случайностей: что сделал что-то не так или что-то пошло не так. В этой сфере это норма.

      0
      1. Мне не бекап нужен... А чтобы работало все.. Я 4 дня в инете ищу как мне справится, на оф форуме ВП, в статьях, на форумах, везде. И ниче не помогает. Не работает через настройки, ок - поставил плагин, на страницах косяки исправил. Не работает контактная форма. Ищу в инете, такое ощущение что во всем интернете НИКТО НИКОГДА НА ВОРДПРЕССЕ НЕ ПЕРЕХОДИЛ НА HTTPS И У НЕГО НЕ ВОЗНИКАЛО КОСЯКОВ С КОНТАКНОЙ ФОРМОЙ. Ты переходишь на безопасное соединение - у тебя возникает проблема с контактной формой. Все просто! Но нет, оказывается это не так. Оказывается у всех работает форма при уходе на хттпс плагинами? Да я в жизни не поверю

        0
        1. Не совсем понимаю к чему в этой теме этот комментарий. Как будто я ваш личный программист что занимается вашим сайтом по найму или как будто я придумал моду на HTTPS.

          Значит вы неверно сделали. Я не знаю какой у вас уровень знаний - поэтому совет: обратитесь на фриланс чтобы вам корректно настроили ваш сайт под https

          2
  2. Послушайте, какой бы уровень не уровень у меня был, я примерно представляю как обратится к фрилансерам или в контору. Только у Вас в названии поста об этом написано? "Поменяйте на хттпс - обратитесь во фриланс контору"? Или все же название поста "Перевод сайта на HTTPS — проще не бывает"? Ну так вот, прежде чем посылать кого то куда то, удостоверьтесь что название Вашего поста соотвествует содержанию. А то получается что "Переход на хттпс - как это получилось у меня", а если я пишу, что это не панацея - значит проблема во мне? топ кек

    0
    1. Вы не поверите - проблема в вас. Это руководство не одному человеку помогло. Ну если у вас все так сложно - я тут причем? Пришли и начали претензии предъявлять.

      В школе когда учились - в таблице умножения ошибки делали. А она в этом виновата? Вот и не опускайте руки и продолжайте учиться, без нападок.

      2
  3. Первый же пункт с общими настройками вызвал зацикленную переадресацию

    Это вы еще 301 редирект не настраивали 😉
    Вы серьезно думаете, что это только у вас сайт в луп ушел?! ? Хорошо, когда есть русско-говорящий разработчик, на которого можно все свалить.

    Я 4 дня в инете ищу

    Это много или мало? Есть вопросы, ответы на которые месяцами ищешь

    Не работает контактная форма

    А при чем здесь этот сайт и эта статья? Может стоит обратиться к автору плагина или контактной формы?

    Оказывается у всех работает форма при уходе на хттпс плагинами?

    Ну у меня с этим проблем не было.

    Вот никак не могу понять, если нет опыта в каком-то деле, зачем лезть на "боевой" сайт? Ну вот что мешает купить домен за 99 руб., выпустить бесплатный сертификат letsencrypt (эти сертификаты сейчас каждый нищебродский хостинг раздает) и тренируйся на нем, развлекайся, а как наиграешься иди на рабочий сайт, сделай все за считанные минуты и спи спокойно.

    1
    1. Вадим - наверно я счастливчик просто ?. Да у меня были пару невезучих моментов - в этой статье я их упомянул (сериализованные массивы и инлайновый путь до картинки). Но в целом перевод на https прошел хорошо. Прошло бы всё идеально и не написал бы эту запись. В заметках бы сказал - теперь мы на https.

      Сайт этот заведен для того, чтобы делиться своими моментами и находками (в ВК бы писал - но в социальных сетях не удобный редактор для программистов).
      Но если вдруг у пользователя что-то идет не так - он нападает. Вот как "здорово".

      Но ничего - я еще буду писать на разные темы. Просто буду как и прежде пресекать бессмысленные нападки - я не из тех кому нужен любой посетитель. Сайт заведен для адекватных пользователей. Для новичков, которые действительно хотят чему-то научиться.
      Комментатор aleksey.leontev значит не из таких.

      А всё почему? Порог входа в веб кажется им простым и когда надо анализировать, искать, дебажить (учиться дебажить!!) и оценивать проблему с разных сторон - вот тут они как малые дети: кричат, бунтуют, оскорбляются.

      2
  4. Порог входа в веб кажется им простым и когда надо анализировать, искать, дебажить

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

    В общем, "афтар пиши истчо". Если критикуют - значит все делаешь правильно. 😉

    0

Оставьте комментарий

Авторизация
*
*
Регистрация
*
*
*
Настоящим подтверждаю, что я ознакомлен и согласен с условиями политики конфиденциальности
Генерация пароля
Закрыть