V návaznosti na svůj článek o tom, jak jsem vyřešil penalizaci ze Seznamu, jsem se jal řešit vytížení multihostingu. Přece jen jsem řešil důsledek, ne příčinu.
Přesun webů na jiný hosting
Sice jsem hostingu uvolnil systémové prostředky přesunem některých svých webů, ale stále mi na něm zůstaly některé docela klíčové weby a ty se také v posledních 7 měsících potýkají s mizernou návštěvností ze Seznamu.
Začal jsem tedy jít po příčině vytížení hostingu. K této myšlence mě přivedl můj bratránek, který má multihosting u stejné firmy, jako já, a také se potýkal s mizernou návštěvností. Začal procházet logy svých webů a zjistil, že jsou jeho stránky (také postavené na WordPressu) opakovaně napadány ze stále stejných IP adres, které se neustále snaží (naštěstí neúspěšně) přihlásit. Opakovanými pokusy o přihlášení ale bohužel docházelo k pádu webu, který byl následně delší dobu nedostupný.
Dané IP adresy zablokoval a během krátké doby mu vzrostla návštěvnost ze Seznamu o 20% a zisky o 30%.
Prostě, když je web nedostupný pro uživatele, a co je možná horší, i pro vyhledávače, postupně se web přestane vyhledávačům líbit a pomalu jej začnou ve fulltextu penalizovat.
Vyzbrojen touto informací, začal jsem procházet statistiky přenosu na svých webech. Narazil jsem hned na 5 problematických, které se potýkají se stejným problémem, jako můj bratránek.
Zjistil jsem, že se stejná situace objevuje nahodile na více mých webech. V grafu vždy vyskočí „židlička“, spadne hosting, robot odejde. Web se postupně zmátoří a tak stále dokola :-).
Na základě tohoto grafu jsem začal zkoumat logy, které mapují různé přístupy botů, ale i návštěvníků.
Tenhle robot včera (19.5.2015) dokázal za 50 minut vyzkoušet 16 500 přihlášení, pak hosting spadl a robot odešel :-D.
Jak robotům zamezit přístup?
Nejjednodušší variantou je zablokování IP adresy pomocí souboru .htaccess, kam stačí vložit řádek deny from IP adresa. Více info na webujakpsatweb.
Toto řešení však je pouze dočasné, protože zablokuje pouze určitý blok IP adres a pokud na Vaše stránky dorazí robot s IP rozsahem jiným, máte opět smůlu.
Vyřešil jsem to tedy pomocí instalace pluginu iThemes Security. Tento plugin mě zaujal díky svým rozsáhlým možnostem a také díky relativně jednoduché správě.
Zabezpečení jsem tedy upravil hned v několika krocích.
- zatrhnul jsem možnost zablokování přístupu k mému webu pro IP adresy, které se snaží k webu přihlásit pomocí uživatelského jména admin (toto uživatelské jméno samozřejmě sami nesmíte používat)
- povolil jsem možnost blokování uživatele, pokud zadá 3x nesprávný login – teď si jen pamatovat ten svůj :-)
- v dalším kroku jsem vytvořil blacklist, kam jsem přidal rozsahy IP adres, které mi napadaly mé weby
- změnil jsem adresu pro přihlášení k WordPressu z defaultní wp-admin
A jestli mé počínání mělo smysl?
To ještě uvidíme. Budu návštěvnost týden sledovat a následně připravím článek, kde ukáži, zda výše uvedené kroky pomohly.
Polemika na závěr
Mnoho mých webů je vytěžováno přístupy robotů. Nejvíce mě navštěvují tyto:
Ahrefs.com
http://www.majestic12.co.uk
http://search.msn.com
http://fulltext.sblog.cz
http://www.bing.com/bingbot.htm
http://www.exabot.com/go/robot
http://www.google.com/bot.html
Co myslíte, má smysl některé z nich blokovat? Přece jen v situaci, kdy mám na některých webech několik tisíc a víc podstránek, mi může takový robot hosting docela slušně vytížit.
Pro začátek přemýšlím, že bych zablokoval přístup Seznam a Google bota :-D :-P.
ahrefs.com občas používám pro analýzu zpětných odkazů, budou mít svoje roboty, jelikož výsledky od nich mám jiný, než u jinejch služeb
Eliško,
těžko říct, jestli zablokování robota ahrefs.com mi pak zkreslí nebo dokonce vůbec nezobrazí statistiky.
to asi ne, jedině kdyby ses později rozhodl používat ty jejich stránky (a zapoměl, že jejich botá máš bloklého)
Daj potom vediet aj v nejakom novom clanku, ze si to zmenil. To s tym nepouzivanim admina a premenovanie login url su standardne kroky, ktore sa vsade odporucaju. Ja mam miesto takychto filtrov este povolenie prihlasenie len z ip ceska alebo slovenska. Keby som potreboval inu, len ju tam dopisem.
Lucasi,
článek o tom určitě napíšu. Tobě díky za tip k povolení jen českých IP adres.
Zajímavé Pepo, jsem zvědavej na výsledky. Osobně jsem zkusil jeden web přesunout na nový hosting (už vše fachá), takže za pár dnů/týdnů bude na mém blogu report, zda to pomohlo. Jakým způsobem si zjistil to přihlašování a vytíženost webu?
Lukáši,
vytíženost jsem zjistil ze statistik, které mám zapnuté na svém hostingu. A pokusy o přihlašování pak z logovacího souboru, který se mi automaticky zapisuje na FTP daného webu. Ze statistik hostingu jsem věděl, které dny byly problémové a ve kterých časech jel hosting na doraz. Prohledávání logu pak bylo hračkou :-).
Obrovskou zátěž dělají spamboti co útočí na komenty a opakované pokusy prorazit wp-admin hrubou silou. IP se dynamicky mění, takže přes .httaccess by ses uklikal. Pluginy jako Better WP Security a další podobné umí tyhle silové útoky blokovat.
Dost pomůže pročistit databázi. Vyházet spam, smazané komenty, zbytečných X verzí každého postu a stránky atd. Třeba minulý týden mi zvládli spameři zarvat 700+ spam komentů na jediném webu, to už přece jen na velikosti DB dost poznáš.
Ahrefs bych klidně vyhodil – když to blokneš, o nic nepřijdeš, pokud to nejsi ty sám.
Zbyňku,
třeba na tomhle svém webu mám s komenty obrovské problémy. Za týden mám ve spam koši kolem 1500 komentářů :-D. Ten plugin Better WP Security dokáže ty spamy nějak v zárodku likvidovat? Nechce se mi sem zase dávat Captcha.
Better WP Security nemám kvůli spamu, ale kvůli automatické blokaci útoků hrubou silou do administrace. Umí taky přenastavit spoustu věcí tak, aby se do nich nešlo (snadno) vlámat. Na komentářový spam hodně lidí vychvaluje Akismet, ale já používám přímo blacklist ve WP http://diginomad.cz/komentarovy-spam-a-wordpress/ – na čínský nebo japonský stačí přidat pár znaků jejich abecedy do blacklistu a je klid. Samo se to pak hází do koše a jednou za týden ho vysypu. Existuje ale i plugin co automaticky vysypává spam složku a koš v zadaných intervalech a promaže třeba pracovní verze článků (u publikovaných není nutné mít 3-5 pracovních verzí atd.).
To blokování IP adres funguje jen dokud jich jsou stovky, já jich měl jednu dobu na blacklistu přes 27 tisíc, tak jsem přešel na taktiku, že do adresáře s administrací smí jen moje IP adresa – whitelisting (přes .htaccess). Ale nebylo to z důvodu, že by nestíhal webhostig, už jsem se pomalu bál, že někdo uhádne heslo. Mám tam vygenerovaný řetězec ale člověku to nedá :)
Všechny roboty co jsi vypsal jsou v pohodě. Ti problémový se snaží maskovat. I když toho Googlebota by to občas chtělo :)
Btw. pokud přecházíš na Ebola jak jsi psal, tak tam spoustu zahraničních robotů blokují automaticky.
Co se týká komentářů sežeň si nějaký plugin, co pracuje s javascriptem, ten největší odpad ti to odfiltruje. Já mám na cn130 tento https://wordpress.org/plugins/anti-spam/ a poslední spam jsem ručně mazal 24.6.2013.
Drago,
díky za tip na plugin Anti-Spam, určitě jej vyzkouším.
Nevěděl jsem, že Ebola nějaké útoky sama blokuje, pokud ano, tak je to jenom dobře :-).
Nechci to zakřiknout, ale instalací pluginu od iThemes a povolením možností, které jsem uvedl v článku, se mi pro dnešek podařilo spam eliminovat. A to jsem ho tu denně měl stovky :-D
A toho WhiteListingu bych se trochu bál. Přece jen docela často cestuju a nejsem tedy vždy na stejných IP adresách. A když bych potřeboval urgentně něco upravovat na webu nebo reagovat na komentáře, byl bych v pytli :-).
Ad Polemika k robotům, většina z nich, co uvádíš, jde blokovat na úrovni robots.txt
Nás však celkem dost trápili spamboti podobně jako popisuješ. Masivně atakovali formuláře pro komentáře – frekvencí desítek požadavků za vteřinu. Při větší normální návštěvnosti to pak způsobovalo pád VPS, respektive Chybu 500 na multihostingu.
Takže jsem to začal řešit v .htaccess blokací IP adres, pak celých rozsahů a nakonec jsem musel přistoupit k razantnímu kroku. Na fórech jsem si dohledal rozsahy čínských IP adres a bloknul jsem to celé plus pár dalších :)
Celá anabáze nám dobře prověřila kapacitu webů a záteže :)
Pokud by to někoho zajímalo, rozsahy se generují tady :)
Ahoj,
pokud jsi dal weby k Ebole, tak ta v základu blokuje přístupy botů jako je MajesticSEO, ScreamingFrog a dalších. Já mám naopak pocit, že blokování těchto robotů mi může uškodit (webům nerostou tyhle nové ranky), nejsou vidět odkazy atd., takže jsem si požádal o jejich odblokování.
Prakticky všechny weby mám na Ebole a když jsem se díval na návštěvnost, tak jsem na žádném nezaznamenal výkyvy v návštěvnosti při změnách algoritmu Seznamu. (je potřeba mít návštěvnost mizivou hned na začátku a potom s ní ani změny na Seznamu nehnou :-)) )
:)
Tak co zažil jsi nějaké změny k lepšímu? :)
Martine, změny k lepšímu jsem zaznamenal, rostlo to pěkně, pak ale přišel Seznam se svým Jalapeňos algoritmem a některé z webů opět odřízl :). Zároveň zkoumám, zda nemá vliv na květnový pokles návštěvnost také přesun serverů Seznamu, tedy stav, který nastínil Vojta Fukal ve své přednášce na konferenci SEOrestart. Prezentaci z přednášky najdeš zde.
Já jsem žádné změny nedělal a taky ve stejnou dobu, kdy rostla návštěvnost tobě, tak mi to také rostlo ale s příchodem Jalapeňos opět všechno vypadlo :/ – z toho usuzuju, že přesun webů na jiný server nemá absolutní vliv
Martine,
toť otázka. Algoritmus Jalapeňos měl zasáhnout MFA a doorway weby, mně ale spadlo zase všechno. Tedy i čistě informativní weby (magazíny), kde jsou umístěny pouze reklamy AdSense nebo Sklik.
Podle mě je potřeba řešit také optimalizaci webu. Pokud je web rychlý, zvládne server obsloužit řádově mnohem více požadavků. Tohle platí dvojnásob u wordpressu. Je potřeba nainstalovat si P3 Plugin Performance Profiler a na základě výsledku jeho testu vyházet nebo nahradit pluginy, které žerou nejvíce prostředků. Jako další věd doporučuji vypnout WordPress HeartBeat (https://wordpress.org/plugins/heartbeat-control/), který často dělá ajaxová volání na /wp-admin/ – tím obchází případnou cache a velmi zatěžuje server. Mě tahle pitomost sežrala prakticky celý hodně výkonný Virtuální Server a po zablokování kleslo vytížení CPU pod 10 procent. Dále ze zkušenosti doporučuji rozchodit statickou cache na wordpressu (mám výbornou zkušenost s WP Rocket) a nakonec také reverzní proxy server jako například Varnish (nebo NGINX) – tohle je sice náročnější na konfiguraci, ale je to naprosto ultimátní záležitost, protože většina běžných požadavků na stránky na webu je od nepřihlášených uživatelů (případně botů :-D) a Varnish jim šoupne nacachovanou stránku. Jen pokud jí nemá, nebo když expirovala, tak pošle požadavek dál na Apache server, který mu jí vrátí a on si jí uloží do cache. Tímto způsobem je kompletně zamezeno spouštění jakéhokoliv PHP kódu a úplně se tím obejde wordpess – web se chová jako statický. Je to proklatě rychlé. A když píši proklatě, tak to myslím smrtelně vážně. Nějaký bot s 16 tisíci požadavky za hodinu by Varnish rozhodně nerozhodil :)
Tome,
jsi fakt frajer :D. Díky moc za příspěvek – Tebou doporučené pluginy a nastavení určitě vyzkouším!
Nemáš zač, dej pak vědět jak jsi dopadl. Všichni nadávají na wordpress jak je pomalej a ona to není pravda :-D Chce to trošku vytunit. Mě na Androidtipu běží asi 50 pluginů (mimo jiné katalog telefonů a poradna) a je rychlej i když běží na průměrným VMS s mnoha dalšími weby. Je ale pravda, že jeho laděním jsem strávil několik týdnů a ještě jsem s tím neskončil. Pár much musím dovychytat.