Aj dobrý úmysel môže skončiť nečakanými komplikáciami. Presvedčil som sa o tom počas nedávneho nasadzovanie SSL certifikátu.

Automatické roboty vyhľadávačov, ktoré tak veľmi na stránkach chceme, spôsobili jeho dočasný „kolaps“. Stránku doslova prevalcovali.

Ako k tomu došlo?

 

SSL certifikát a jeho výhody

SSL sa dostalo do širšieho povedomia majiteľov web stránok až posledné roky. Google sa rozhodol bojovať za bezpečnejší web a tak pridal zabezpečený SSL protokol medzi faktory, ktoré vplývajú na výsledky vo vyhľadávaní.

Znamená to, že skratka https pred URL adresou webovej stránky, môže poskytnúť miernu výhodu a zlepšenie pozície.

V skratke čo je to SSL – ide o zabezpečený hypertextový prenosový protokol, ktorý namiesto použitia jednoduchej textovej komunikácie, šifruje prenos dát z webu pomocou Secure Socket Layer (SSL protokol), čím zabezpečuje ochranu pred odpočúvaním a pred útokom.

Zjednodušene – zabezpečuje vyššiu bezpečnosť.

 

Či má alebo nemá stránka aktivované SSL spoznáte v prehliadači podľa zeleného zámku pred začiatkom názvu stránky.

 

https pred url adresou

URL adresa s aktivovaným SSL

 

Zapnutie šifrovaného protokolu

Pre spomínané výhody a tiež preto, lebo hostingová spoločnosť u ktorej má môj klient stránku, ponúka základný certifikát zadarmo, sme sa rozhodli tieto benefity využiť.

Samotné zapnutie protokolu bolo jednoduchou záležitosťou. Nastavenie na hostingu trvalo len pár sekúnd.

Následne je potrebné nastaviť web. Ak používate niektorý rozšírený CMS systém, mala by to byť taktiež hračka. V Joomle stačí prejsť do „Systém → Základné nastavenia → Server”. Pri položke vynútiť https zvoľte „Celý web“. O potrebné sa už systém postará.

 

https v joomle

Aktivovanie SSL v systéme Joomla

 

Ak nemôžete automaticky aktivovať https, budete musieť spraviť manuálne presmerovanie cez .htaccess súbor v koreňovom adresári webu. Použiť môžete nasledujúci príkaz.

 

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

 

Čo ak sa zámok nezobrazuje zelený ale sivý, prípadne s výkričníkom?

V tom prípade sú dve možnosti:

1. Váš SSL certifikát nie je overený - bude lepšie ak ho vôbec nebudete používať, pretože to je zbytočné a návštevníci sa na váš web ani nemusia dostať.

 

2. Na stránke máte zdroje, ktoré nepoužívajú zabezpečený protokol.

Môže ísť o vaše interné linky alebo obrázky. Pravdepodobne nie sú ich URL adresy zadefinované relatívne ale absolútne.

Môžete si to skontrolovať v administrácii webu alebo ak sa odvážite, v zdrojových súboroch.

Príklad relatívnej cesty k obrázku: /img/obrazok.jpg – dobre

Príklad absolútnej cesty: http://mojweb.sk/img/obrazok.jpg – zle

Ak ide o túto chybu, budete musieť zmeniť v adresách http na https, alebo ich zadefinovať relatívne.

 

Nezabezpečený obsah svojej webovej stránky môžete nájsť napríklad pomocou tohoto nástroja.

 

„Vyhľadávače sa museli zblázniť“

Po úspešnom naštartovaní zabezpečeného pripojenia, bola pomocou nástroja Webmaster tools odoslaná na indexovanie nová mapa stránky.

Mapa stránky obsahovala všetky potrebné adresy webu. A že ich nebolo málo. Klientov web je eshop. Obsahuje cez 4000 produktov, všetko v 3 jazykoch.

Suma summarum približne 15 000 adries.

„Budeš mať čo robiť Google“, myslel som si. To som ešte netušil, ako blízko pravde som bol.

Po dobre vykonanej práci som sa uložil na odpočinok ako medveď na zimný spánok, no jar prišla veľmi skoro...

Už o dva dni prišiel od klienta email s prepisom upozornenia, ktorý obdržal z hostingu a to dôležité z neho znelo takto:

 

Vážený zákazník,na hostingu ... sme zaznamenali zvýšenú I/O záťaž, ktorá predstavuje počet prístupov k vašim hostingovým súborom. Hodnota I/O záťaže za včerajší deň je 997597974. Priemerná hodnota webov, ktoré hostujeme je 180000, medián je 40000. Znamená to pravdepodobne, že vaša stránka, alebo jej časť, zažíva vysokú návštevnosť. Stránka môže byť napadnutá, alebo je len neoptimálne napísaná, či nastavená. Bližšie informácie o I/O záťaži ...

 

Ďalej sa písalo o presunutí na iný server a ďalších opatreniach, ktorým sme sa samozrejme chceli vyhnúť.

Takže, zaťaženie sa zvýšilo 5500 násobne oproti priemeru. To nie je zlé ;).

 

via GIPHY

 

Ale späť to reality. Google analytics ihneď ukázal, že sa žiadny raketový nástup návštevnosti nekonal.

Ani registrácie na stránke, prípadne objednávky a ani žiadna iná aktivita nenasvedčovala tomu, že by stránka zažívala zvýšenie návštevnosti.

Rovnako mlčali aj security aplikácia webu a vírusový skener hostingu.

 

Ani pozitívna návštevnosť, ani negatívna, tak čo teda?

Odpoveď napokon poskytol až serverový log súbor. V ňom nájdete všetky prístupy k súborom vašeho webu a informácie o tom kto, sa o ne zaujímal.

Počas písania tohoto článku som našiel jeden stiahnutý log súbor z obdobia riešenia problému z cca 8 hodiny ráno. A ten obsahoval už okolo 20 000 riadkov.

Nemôžem povedať, že by som problém odhalil na prvý pohľad. Videl som len: „vyhľadávač, návšteva, iný vyhľadávač, ďalší vyhľadávač, návšteva...“.

 

...compatible; Googlebot/2.1; +http://www.google.com/bot.html...

...compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html...

...compatible; MJ12bot/v1.4.7; http://mj12bot.com/...

...compatible; YandexBot/3.0; +http://yandex.com/bots...

 

Prístupov od vyhľadávačov bolo ale akosi veľa. Až detailné prehľadanie súboru odhalilo ako veľa. Pri danom množstve v podstate takmer všetky.

Mohol by toto byť problém? Mohli by roboty vyhľadávačov skutočne byť tak nenásytné a zahltiť web?

Nuž, mohli...

Blokovať na svojej stránke vyhľadávače je asi to posledné, čo by ste chceli robiť. Nakoľko sa však toto ukázal ako jediný relevantne dokázaný dôvod preťaženia, bolo nutné to vyskúšať.

 

Blokovanie vyhľadávacích robotov

Môžete ho urobiť dvomi spôsobmi:

1. pomocou súboru robots.txt v koreňovom adresári

Do súboru pridajte nasledovnú deklaráciu

 

User-agent: MJ12bot

Disallow: /

 

Kde za user-agent doplníte meno vyhľadávača z log súboru.

 

2. pomocou .htaccess súboru

Doplniť musíte nasledovné riadky.

 

RewriteCond %{HTTP_USER_AGENT} ^.*(Baiduspider|MJ12bot|Yandex).*$ [NC]

RewriteRule .* - [F,L]

 

Kde v zátvorke sú znovu názvy botov oddelené symbolom | .

Môžete taktiež kompletne blokovať nežiadúce krajiny:

 

<IfModule mod_geoip.c>

GeoIPEnable On

SetEnvIf GEOIP_COUNTRY_CODE CN dny

SetEnvIf GEOIP_COUNTRY_CODE RU dny

Allow from all

Deny from env=dny

</IfModule>

 

Postup sa žiaľ ukázal ako správny. Po asi dňovom sledovaní sa zaťaženie znížilo. Nie však dostatočne.

Musel som s veľkou nevôľou pristúpiť na obmedzenie prístupu vyhľadávaču Google. Nie však tak razantne ako v popisovaných postupoch blokovania.

Zakázať návštevy robotu Google by bola online samovražda, no je možné ich trochu obmedziť. Pomôže vám k tomu znovu nástroj Webmaster tools.

Ak v ňom máte svoj web, prejdite naň, kliknite na ikonku ozubeného kolesa v pravo hore a stlačte „Nastavenia webových stránok“.

Tu si na posuvníku zvoľte vami preferovanú hustotu návštevnosti. Nastavenie je aktívne 3 mesiace a potom sa samo vypne.

 

rychlost indexoveho prehladavania

Rýchlosť indexového prehľadávania

 

Následne sa zaťaženie upravilo dostatočne na to, aby sme sa vrátili k pôvodnému fungovaniu.

 

Svojím článkom nechcem rozhodne nikoho odhovárať od prechodu na SSL. Jeho výhody sú nespochybniteľné.

Kiež by ste tieto informácie nikdy nepotrebovali.

Stojí však za to vedieť, že dôvod preťaženia webovej stránky môže byť i takto kuriózny.