Cloxy

CloxySEO блогПреминаване изцяло към HTTPS

Преминаване изцяло към HTTPS

Как да прехвърлите сайта си изцяло върху HTTPS, без това да повлияе негативно на позициите му в търсачките (SEO)? Google вече препоръчват използването на SSL сертификати навсякъде. Във видеото се разглеждат някои моменти, които трябва да имате предвид при преминаването към сигурна връзка. Примерно хостинг със SPDY поддръжка и правилно пренасочване чрез 301 HTTP header. Продължение на първото ми видео HTTPS & SEO.


Налични формати: 720p WebM (VP8) | 360p MP4 (H.264) | 1080p WebM (VP9)

Транскрипция

Здравейте! Аз съм Васил Тошков от Cloxy, а темата днес е: "Какво да имаме предвид от към SEO гледна точка, ако ще правим сайта си изцяло върху HTTPS?".

Веднага бързам да отворя една скоба - Първото видео, което направих от тази серия беше за HTTPS и SEO, тоест как да използваме нашия сайт със SSL сертификати и да нямаме проблеми с SEO и тогава казах нещо, зад което стоя и аз стоя зад цялото си предишно видео и то е, че според мен лично, трябва да се кодира само чувствителната информация, а не целия сайт да се качва върху HTTPS. Затварям скобата.

Но Google в момента правят всичко възможно да пропагандират, тоест да налагат, как всичко трябва да бъде върху HTTPS. Наблюдавам, че много сайтове минават към този процес и ще искат да преминат върху HTTPS и има някои неща, които ако не се спазват от към SEO гледна точка просто практиката в България в показва, че резултатите могат да бъдат напълно фатални, тоест да изчезнете напълно от резултатите.

Това са някои неща, от към SEO гледна точка, които трябва да имате предвид. Сега няма да говоря за конфигурация на SSL сертификати. Мисля, че е ясно, че трябва да имате валиден, подписан от трета страна сертификат, спрямо случая, който ви трябва, дали ще е Wildcard, дали ще е за един домейн или множество домейни. Тези неща няма да ги покривам. По подразбиране приемам, че ги имате. Другите неща, които според мен са важни от към SEO.

Първото нещо е да имате хостинг или сървър, който поддържа SPDY (съкратено от Speedy - протокол на Google), който изключително ускорява и надгражда HTTP протокола и най-вероятно всичко това от SPDY ще влезе в новата концепция HTTP 2.0. Но в момента се нарича SPDY, аз съм споменавал и HTTP 2.0, тъй като най-вероятно до няколко месеца ще се нарича така. Какво прави този протокол, тези надграждания? Това са подобрения най-вече от към скорост, то името вече си говори, но изключително много подобрения има при SSL сертификатите, тоест при HTTPS версията.

Какви са подобренията? Използва се само една конекция, не множество конекции, има всякакви performance компресии и всякакви такива неща, които значително ускоряват вашия сайт. Ако минавате изцяло на HTTPS това нещо трябва да го имате, трябва ви такъв хостинг.

Ако го нямате, ще имате драстичен спад в скоростта на сайта си, ако го имате, казват, че при над определен брой конекции, а един потребител прави много конекции към един сайт. Скоростта става подобна при скоростта на HTTP. Аз не мога да повярвам, че едно съдържание с кодиране ще е бързо толкова, колкото без. Все пак има подобрение от към скоростта, така че това нещо е задължително.

Второто нещо е, че няма как да минете без редирект. Ако ще качвате всичко върху HTTPS, трябва да редиректнете с 301 HTTP версията към HTTPS. Няма как да минете без това нещо. Определено ви трябва редирект от всяка една страница към всяка съответна. После ще поговорим пак за редиректите.

Вътре в кода си трябва да започнете да използвате (който се е занимавал с HTTPS преминаване знае) относителни адреси. Това, което е възможно и всички браузъри го поддържат и трябва да използвате са протоколно относителни адреси. Това е вариантът, който аз препоръчвам.

Целият адрес .com, само че отпред вместо да пишете http или https просто пишете две наклонени черти. Това означава, че независимо от протокола се отваря протоколно релативен относителен адрес. Това нещо го използвайте в хипервръзките вътре в самия сайт.

Примерно ahfef имате някаква връзка и води към това нещо в кавички без протокол отпред. Може да го използвате при викане на скриптове и общо взето навсякъде, освен при canonical. При canonical ще трябва да използвате абсолютен адрес с HTTPS, ако ще преминавате изцяло към него.

Следващото нещо, което е много важно и често се пропуска е този доста дълъг http header - Strict-Transpost-Security и така нататък. Вашият сайт връща това нещо и веднъж върнат за определен период от време, вашият браузър запомня, така се декларира. Трябва да е някакво много голямо число.

За въпросния период от време вашият браузър запомня, че искате вашият сайт да се отваря само и единствено, чрез HTTPS и при следващо отваряне на сайта, дори потребителят, както по подразбиране набира сайта, да го отвори HTTP версията, то браузърът вече знае за определеното време да спазва тази директива от HTTP протокола и отваря директно HTTPS версията.

Това нещо е изключително подобрение от към скорост, особено при мобилни телефони, където всеки един редирект струва повече, отколкото един Desktop компютър и е изключително важно от към сигурност, тъй като предпазва от man in the middle атаки и всякакви подобни. Потребителят въобще не минава през не потвърдена конекция, а пък и всякакви такива служби, които събират данни кои сайтове се отварят пак не се вижда това нещо, тъй като въобще не се прави нито едно допитване към стандартната некриптирана версия на сайта.

Този header трябва да го връщате с достатъчно голямо число накрая. Имайте предвид, че когато качвате вашия сайт върху HTTPS, ще имате два различни robots.txt файла, тъй като той е протоколно независим. Имали сме такива случаи. Казват "Качихме си нещо върху HTTPS, но не ни работят забрани и т.н.".

Това, разбира се, зависи от web сървъра как се интерпретира, но просто си проверете robots.txt дали всичко ви е наред и ако нещо се забранявали, дали важи и при новите версии. Не забранявайте HTTPS версията, ако нещо ще деиндексирате едната от двете версии, защото ще се отварят и двете, което не е правилно, но въпреки това, ако го направите, не забранявайте версията HTTPS, заради относителността на robots-а. Не го забранявайте с robots.txt, забранявайте го с Noindex. Говорил съм вече за това. Има друго видео "Как се деиндексираме съдържание?".

Canonical естествено трябва да сочи към HTTPS версията, тоест ако ще качвате сайта си върху HTTPS, то canonical трябва да сочи към HTTPS версията. А HTTP да редиректва, както вече казахме. И нещо, което трябва да се избягва, отново свързано с редиректа и казах, че отново ще се върна на тях, това е да избягвате вериги от пренасочвания. Един пример, макар че не е най-добрия, но е най-очевидния пример.

Имаме даден сайт, отваряме го с HTTP, обикновено той редиректва към HTTPS версията, тъй като така сме решили, обаче пък сме решили нашия сайт да е с www, той пък редиректва към www и т.н. После той пък може да редиректне към даден адрес с или без наклонена черта, защото ние така сме решили, което натрупва много редиректи. Това нещо, освен че е проблем от към сигурност, е проблем и от към скорост, особено при мобилните. Това е една отделна скоба.

Там редиректите струват малко повече, по-бавно се случват. Ако ще правите подобни пренасочвания само с един редирект директно към правилното място, а не да има такива междинни редиректи. Тествал съм сайтовете на много големи SEO фирми в чужбина и това нещо го имат. Може да им се натрупат 4-5 редиректа, което е един голям недостатък.

Това е. Внимавайте, когато ще качвате целия си сайт върху HTTPS, тъй като самият аз това нещо не го препоръчвам и заставам зад мнението, че трябва да се кодира само това, което наистина има нужда да се кодира, а не да изпадаме в някаква параноя.

След епохата "Сноудън", както се казва, хората са маниаци на темата всичко да се криптира. Няма проблем да го правите, но имайте предвид всички тези неща, тъй като с колеги сме били свидетели на доста сайтове, които предприемат тази стъпка, която е доста рискована и след което губят позиции в търсачките. Може да се направи, особено щом Google го пропагандират това нещо.

Може да се направи и без да се загубят позиции, но това са нещата, които според мен трябва да се имат предвид. До следващия четвъртък! Чао!

бутон за споделяне
Публикувано от на
Средна оценка 4.33 / 5 (6 гласа)

6 коментара

Peter Nikolow

Име: Peter Nikolow

Дата: 24.07.2014 14:11:20

Оценка: 4 / 5

SPDY си е вътрешна жужълска имплементация за ускоряване на web-a. HTTP 2.0 се базира засега на него, но може да претърпи промени на по-късен етап. Все пак работата е започнала от около 2012та. При положение че HTTP 1.1 излезе 1999та окончателно, а се намираше на етап чернова от 95-96та.

Хитрото при SPDY е следното:
- хедърите на заявките и отговорите също се компресират
- прави се една връзка TCP, но вътрешно на всички заявки се задават отделни поточни параметри за да се разграничат заявките и отговорите от останалите. При стандартния HTTP 1.1 pipeline се прави връзка-заявка-отговор-заявка-отговор и т.н. При 2.0 се прави връзка-заявка1-заявка2-заявка3-отговор1-отговор2-отговор3.
- има server push т.е. насила се дава нещо на клиента без да го е искал. Примерно ако зареждаш HTML и има и някакъв CSS вътре. Досега първоначално ще се зареди HTML-а (може и частично) и ще се направи заявка и за CSS-a. Сега ще може да се направи заявка за HTML и сървъра ще върне 2 файла - HTML и CSS изхожайки от презумпцията, че трябва и CSS за да се покаже нещо все пак.
- има server hint - подобно е на push-a, но се указва във хедърите на отговора като свързан със самия отговор. Тук има една игра - ако клиента има все пак този файл трябва да прецени дали да го зареди от кеша или не. При push-a просто се записва във кеша дори и да го е имало.
- приоритизация на отговорите - ако клиента се намира на по-ограничен канал и самия канал се запуши от заявки сървъра може да приоритизира отговорите и да назначи дадени отговори да се обработват преди всичко останало. Примерно HTML/CSS да получи максимален приоритет, JS среден и PNG/JPG най-малък.
- TLS ускорение - по дефиниция всички криптирани връзки идват със едно ръкостискане (handshake) което е времеотнемащо и се пращат и приемат доста данни. При SPDY самата процедура по възстановяване на вече започната връзка по такъв канал е ускорена като са премахнати няколко стъпки.

Разбира се подобни гимнастики са добре-дошли за по-големите сайтове. Ако сайта прави 10-100-1000 посещение дневно няма да изпита почти никакви ползи от SPDY/HTTP2. Според производителя използването може да спести над 50% от времето за рендиране на страница и горе-долу толкова трафик (ръкостискания, хедъри, заявки и т.н.).

Васил Тошков

Име: Васил Тошков

Дата: 24.07.2014 15:02:45

Оценка: 4 / 5

Благодаря ти много за подробното разяснение. Трябва да посветим някой материал и конкретно на бъдещите протоколи :)

Peter Nikolow

Име: Peter Nikolow

Дата: 24.07.2014 20:58:13

Оценка: 5 / 5

Ако се сещаш точно това ми беше и въпроса към теб на самата конференция. Преди това познавах тези детайли на протокола, но липсата на сървър ме възспираше от тестове.

Сега вече nginx поддържат SPDY и няма какво да ме спре.

Borislav Arapchev

Име: Borislav Arapchev

Дата: 07.08.2014 07:52:02

Оценка: 4 / 5

Вече е изведен и текст към видеата, супер, Васко! Ръчно или със софтуер?

Васил Тошков

Име: Васил Тошков

Дата: 07.08.2014 07:54:29

Оценка: 5 / 5

Ръчно, няма как да стане така добре автоматично :)

Васил Тошков

Име: Васил Тошков

Дата: 07.08.2014 08:11:29

Оценка: 4 / 5

Само две седмици след заснемането на това видео, HTTPS стана положителен сигнал в алгоритъма на Google: http://googlewebmastercentral.blogspot.com/2014/08/https-as-ranking-signal.html

Добавяне на коментар