Переезд на HTTPS и снова пригорает от проблем с MaxSite CMS

Октябрь, 16th 2017Рубрика: Web-мастеринг 237
Подписаться на комментарии по RSS

переезд на HTTPS

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

Процесс полного преобразования блога я решил разбить на два этапа - в начале, навести, хоть какое-то, подобие порядка, исправив глобальные косяки, и только после этого заниматься новым движком и дизайном. За выходные удалось побороть проблему с каноническими url, о которой рассказывал вчера (оценить результат работы можно будет спустя только пару-тройку недель). Теперь, дороги назад уже не было и, в ближайшее время, однозначно предстояло пройти полную переиндексацию сайта, потому сразу замутил и переход на протокол HTTPS (а это как переезд на новый домен).

Я не склонен доверять всякого рода "экспертам" SEO, потому воспользовался первоисточником на Яндексе - Деликатный переезд (или рекомендации Яндекса по переезду на HTTPS) и (продолжение). Почитайте - весьма полезно, перепостить сюда статью смысла особого не вижу. Другой вопрос зачем мне вообще понадобился подобный переезд? Хоть Яндекс и утверждает, что на поисковую выдачу это не влияет (пока не влияет), но думаю это лишь вопрос времени.

Google официально заявляет что переход на https является одним из факторов ранжирования и приоритет в выдаче отдается именно таким сайтам. Хотя данный «пряник» от гугла еще нуждается в проверке, зато новые версии Google Chrome уже вовсю помечают незащищённые страницы, тем самым пугая пользователей, что вовсе не радует. С другой стороны, финансово, мне подобный переезд ничего не стоит - хостер бесплатно предоставляет SSL сертификаты Let's Encrypt на 90 дней с автопроблением, для блога этого достаточно.

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

Про блогеров-мудаков и отчего у меня бомбануло

Грабли вылезли откуда не ждал - в путях подключения скриптов и стилей шаблона было обращение к системной переменной:

<?= getinfo('stylesheet_url') ?>

Здесь то меня и поджидал очередной косяк, CMS формировала абсолютный путь с http вместо ожидаемого https. Никакой информации на сайте разработчика на эту тему, разумеется нет - не царское это дело, хоть как-то, документировать своё творение. На форуме поддержки еще забавнее - в соответствующей ветке обсуждения (не я один интересовался данной темой) нашлась ссылка на тематический блог с громким названием "Служба Заботы MaxSite CMS", где никакой заботой даже не пахнет. По факту, попадаем еле живой ресурс, где нужную информацию прячут под спойлер с просьбой зарегистрироваться и оставить не менее двух комментариев. Это что за гигант продвижения, до такого додумался?

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

комментарий на сайте

Этот коммент, оставленный одним из посетителей, я взял именно с той странички. А какие еще комментарии ожидал увидеть автор? Так он еще отвечает что "это единственный способ вовлечь посетителей в жизнь ресурса. А то берут и даже спасибо лень сказать...".

Что, правда, единственный способ? Так может от того и бегут, что автор поступает как мудак? Так это не работает! Вы либо создаёте контент для людей, вкладывая душу в свой проект, либо тихо ноете о несчастной судьбе на задворках интернета. К сожалению, мне так и не удалось, по этому поводу, напихать писюнов автору на его ресурсе (он тут же тёр их безжалостно), потому, с чистой совестью, делаю это здесь. А ведь, не веди он себя, как олень ватный, мог спокойно получить бэклинк на свой ресурс.

В своё время, в статье о снятии пароля с BIOS и HDD на ноутбуке, от меня уже прилетало аналогичным форумным "гуру", обладающими некой, строго оберегаемой, крупицей информации. Это не проблема интернета, в конечном счете, всё сводится к людям, пытающихся получить какую-то мелкую выгоду или потешить собственное самолюбие. Приведенная в конце статьи ссылка на найденный мной ресурс с паролями помогла уже многим подписчикам и стала одной самых читаемых в блоге.

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

MaxSite CMS и HTTPS. Почему не подгружаются стили и скрипы и как это исправить.

Перед переходом на протокол HTTPS в первую следует проверить что все пути подключаемых файлов (стили, скрипты, шрифты) и любые ссылки, которые встречаются на сайте были относительными или абсолютными, но с обязательным указанием протокола https. В противном случае, они просто не подключатся. Тут мы и сталкиваемся с очередной недоработкой MaxSite CMS - из переменной шаблона stylesheet_url подставляется абсолютный путь с протоколом http вместо https. Соотвественно все стили, скрипты и канонические ссылки (которым ещё не успел нарадоваться) идут лесом. На удивление, решение нашлось на на форуме opencart (там вроде тоже используется фреймворк CodeIgniter).

Сперва в .htaccess предлагается настроить редирект всех http-запросов на https. Я этого у себя не делал, просто включил на хостинге использование https и этого хватило. Однако, вдруг понадобится тот конфиг, лучше напишу:

# Redirect to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

А теперь самое главное - страшная тайна, скрытая под катом (правда смешно). В файле /application/config/mso_config.php нужно вставить код (добавляем в самое начало):

# для корректной работы с HTTPS
if(
(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") || 
(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
)
{
$_SERVER['HTTPS'] = 'on';
$_SERVER['REQUEST_SCHEME'] = 'https';
$config['base_url'] = str_replace("http:", "https:", $config['base_url']);
}

После этого ссылки стали нормально формироваться с https. В итоге я благополучно отправил заявку на склейку домена и и осталось дождаться переиндексации сайта (ссылку на рекомендации яндекса я давал ранее в этой статье). Конечно, ни Яндекс, ни Google не гарантируют сохранения трафика и позиций при переходе, но сделать это рано или поздно придется, а у меня такой удачный случай. Процесс переезда на https, если верить Яндексу, займет от двух недель до месяца, а то двух. Хотя большая часть вебмастеров и жалуется на просадку, но я верю в лучшее. В любом случае это новый опыт и будет интересно понаблюдать.

панель яндекс вебмастер. склейка домена

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Комментариев: 2

  1. 2017-11-09 в 11:34:52 | Дмитрий

    Доброе время суток! Хочу попросить Вас о помощи. Я только начинаю разбираться в Maxsite

    CMS и никак не могу найти как изменить иконку "Рубрик". Хочу вместо стандартной иконки флажка поставить что то другое, так как у Вас.

    Подскажите, пожалуйста, как это сделать или хотя бы где искать. Заранее спасибо!

  2. 2017-11-09 в 11:45:04 | dre@mer]]>avatar]]>

    Дмитрий, тут всё просто. Каждой из рубрик, присвоен свой уникальный класс (например у списка категории .category_widget, у облака тегов .tagclouds_widget и так далее). Потому в CSS файле я просто переопределил выводимые иконки. Можете сами посмотреть, заглянув в код странички.

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

comments powered by HyperComments
Без регистрации
ваш комментарий будет опубликован после проверки
Регистрация на сайте

На указанный адрес будет отправлено письмо с кодом активации. Вы можете настроить собственный профиль и стать активным участником или автором.