Tento článek jsem hodlal napsat už delší dobu, ale neměl jsem pro něj vlastní technické podklady. Díky jednomu mému fan webu pokestop.cz je už mám a rád se s vámi o ně dnes podělím.
Mýtus 1. WordPress je velký balast
WordPress je redakční systém, který pohání přes 26 % z top 1 milionu nejnavštěvovanějších webů na internetu (dle žebříčku Alexa). Má velkou komunitu, která jej neustále posouvá dále a stará se o něj. V mnoha diskuzích je vykreslován jako něco masivního, splácaného a dokonce amatérského. Právě naopak. Neustále prochází vývojem a zlepšováním. Je pod dohledem jedné z největších open source komunit na světě. Jen pro zajímavost konference zaměřená na WordPress ve Vídni – WordCamp Europe 2016, měla účast 2.131 lidí.
Díky tomu jak je rozšířený a používají jej i velké komerční subjekty, tak se na něj zaměřují i firmy zabývající se bezpečností. Tyto firmy vydělávají peníze na vlastních ochranách pro weby, takže když něco objeví tak si tím udělají jméno. Citují je jak velká masmédia, tak i odborné magazíny a blogy. Samozřejmě se chovají profesionálně nejdříve čekají na záplatu, než zveřejní svůj výzkum. WordPress je neustále pod jejich drobnohledem, dokonce i velká část masově používaných pluginů. Ovšem jen velmi výjimečně se najde nějaká závažnější chyba. Většinou jsou to zranitelnosti, které se musí s něčím nakombinovat, tedy útok není lehké provést.
Prostě WordPress má skvělé výsledky, je pod dohledem mnoha nezávyslých profesionálů a díky velké komunitě také snadno najdete odpovědi na všechny otázky.
Mýtus 2. WordPress je náročný
Testoval jsem WordPress u 7 českých poskytovatelů (Aerohosting, Angel Hosting, G-hosting, Český Hosting, Ebola, Savana, Wedos), často na starších tarifech, které dnes už ani nenabízí. Prošel jsem si obdobím hledáním chyb, přetěžování, čištění od napadení, migrování, ručním přepisováním kódů a mnoha dalšími. Teď s odstupem času můžu říct: “Všude fungoval na jedničku, i když jsem někde něco já udělal špatně”. A to se u sdílených webhostingů bavíme o nejnižších tarifech. Nejlevnější, kde teď mám aktivní WordPress je G-Hosting Mini1 za 23 CZK/měsíc.
Mýtus 3. WordPress je dobrý jen na malé blogy
O tomto se psalo už mnohokrát. Příkladů bylo prezentováno hodně, ale vždy chyběly informace o zázemí, úpravách a tak dále. Prostě to nebylo kompletní.
Má největší instalace WordPress
Největší instalace WordPress, kterou momentálně mám aktivní je můj blog 404M.com. Blog píšu někdy od roku 2008. Tehdy jsem instaloval WordPress tuším jako verzi 2.8. Prošel jsem s ním přes 3 hostingy až jej zaparkoval 05.07.2013 u Wedos NoLimit za 25 CZK/měsíc. Celkem jsem za existenci blogu napsal 3.425 příspěvků, 27 stránek a ručně schválil 24.972 komentářů. Nevím kolik mohlo být spamu, vyměnil jsem za tu dobu několik antispam pluginů. Blog má celkem 22 aktivních pluginů včetně diskuzního fóra bbPress (na fórum se už nedá přispívat je tam jen z historického hlediska). GA tvrdí, že web měl 2.733.969 zobrazení stránek, ovšem kód vždy nebyl vložen správně a párkrát za ty roky se stalo, že mou vinnou nefungoval.
Blog včetně všech multimédií zabírá 1.164 MB. Po přestěhování k Wedos jsem zlenivěl a nechal optimalizaci obrázků na samotném WP, takže originální fotky mají několik megabajtů (WordPress z originálu vytvoří několik velikostí) plus k článkům občas ukládám zajímavé studie na které článek odkazuje jako PDF.
Samotná databáze má dalších 467 MB, ovšem mám tam velkou tabulku k pluginu SlimStat (počítadlo návštěvnosti), které měří provoz na serveru. Tato tabulka má 130,67 MB a 571,240 záznamů. Důvodem jsou statistická data pro účely další analýzy různých robotů, útoků atd. “Bohužel” co Wedos zavedl IPS/IDS ochranu už zmizela většina útoků, které jsem měl jako podklady pro další tvorbu obsahu. Jiný zaběhnutý WordPress s takovou historií nemám.
Samozřejmě když se zpracovávají tato data, tak to chvilku trvá, ale to je záležitost administrace. Samotný WordPress má skvělé výsledky. Ze Stockholmu se načte stránka za 2,21 vteřiny (129 requestů), z toho wait u TTFB je 503 ms.
Se zapnutým cachováním ZenCache se 128 requestů stáhne za 1,87 vteřiny. Z toho wait TTFB dělá 248 ms. Mimochodem ZenCache je můj oblíbený cachovací plugin kvůli své jednoduchosti a funguje mi u všech sdílených webhostingů bez nutnosti cokoliv dalšího nastavovat.
Celková návštěvnost 404M je v dobách klidu v stovkách za den. Když zveřejním zajímavý článek a sdílím jej přes sociální sítě, tak se dostanu k vyšším stovkám za den, vyjímečně jdu přes tisíc.
Shrnutí
404M je starý blog, který prošel snad všemi velkými i bezpečnostními aktualizacemi WordPress od verze 2.8. Má spoustu obsahu. Jede na běžném sdíleném webhostingu za 25 CZK/měsíc. Je důkazem, že i když vám WordPress naroste, tak stále bude fungovat rychle a dobře. Díky Slimstat, který měří všechny dotazy na WordPress vím, že zvládne v průměru vyřídit 14.032 dotazů. Ovšem zde je nutné dodat, že 20% z nich směřuje na xml feed a ten je nacachován. Dále jedná se převážně o roboty, kteří jdou po určitých souborech a nestahují si další obsah. Myslím si že tato čísla rozhodně nejsou i tak zanedbatelná jak pro WordPress tak i pro běžný sdílený webhosting.
Má nejvytíženější instalace
Tak a teď se dostáváme k tomu zajímavějšímu. Jak už jsme zmínil na začátku, provozují fan web pokestop.cz, který se zabývá hrou pro mobilní telefony Pokémon GO. Blog jsem založil, protože jsem se chtěl podělit o zkušenosti, které jsem při hraní nabral. Navíc k ní na začátku neexistoval žádný oficiální návod a většina hráčů hru hrála prostě špatně. Vzhledem k tomu že hra byla světovým fenoménem, tak jsem očekával slušnou návštěvnost, což se potvrdilo.
Na rozdíl od mých předchozích projektů, tvoří velkou část návštěvnosti lidé ze sociálních sítích. Kdykoliv jsme vydal článek k nějaké aktuální novince a ten ze začal sdílet, tak se na web nahrnulo velké množství lidí, během krátké doby.
Pro web jsem vybral WordPress a sdílený webhosting Wedos NoLimit za 25 CZK/měsíc (plus příplatek za SNI kvůli Let’s Encrypt). Důvodem bylo že jsem počítal s větším množstvím multimediálního obsahu, podpora HTTP2, s NoLimit jsem doposud neměl problém, minimální vstupní náklady (sleva + doména zdarma k hostingu) a také jsem si zvykl na administraci.
Vzhledem k tomu, že většina návštěvníků přistupuje přes mobilní telefony tak jsem vsadil na základní šablonu Twenty Fourteen, která je responzivní, má skvělé výsledky v zátěžových testech a je velmi dobře kompatibilní.
Pluginy jsem se snažil držet na minimu – Ad Inserter, Comet Cache, FV Antispam, Internal Link Building, Most and Least Read Posts Widget, Pretty Link, Simple Share Buttons Adder, Slimstat Analytics, UpdraftPlus – Backup/Restore, WP First Letter Avatar, Yoast SEO, Čeština pro WordPress. Když začaly komentáře pod články jít do desítek rozhodl jsem se přidat i diskuzní fórum bbPress.
Nutno podotknout, že jsem dbal na co nejrychlejší načítání stránky. Titulní stránka se teď natáhne za 751 ms z toho TTFB je 323 ms (wait 73 ms), článek za 837 ms z toho TTFB je 353 ms (wait 113 ms). Momentálně je na blogu 104 publokovaných článků, 2.325 komentářů, 22 diskzních fór s 202 tématy a 1705 příspěvky. Celkově má web 364 MB a databáze 61 MB.
Na rozdíl od 404M Slimstat měří přes javascriptový kód. Zde by bylo tak velké množství dat, že jsem to nechtěl riskovat. Proto na následujícím grafu je skutečná reálná návštěvnost.
Tu také potvrzuje i statistika z Google Analytics.
Bavíme se tedy o webu, který měl třeba v útery 20.06.2017 5.417 návštěv z 3.402 unikátních IP adres. Ovšem spousta z toho byla názorově. Podle Google Analytics se na webu v jeden okamžik vyskytovalo běžně 50 – 70 lidí. Rekord jsem ovšem udělal už dříve. 22. března 2017 vyšla aktualizace 0.59.1 a z Facebooku začalo chodit neskutečné množství lidí. Musel jsem si udělat screenshot. Google Analytics hlásilo 95 aktivních uživatelů na webu. Čekal jsem kolik toho ještě utáhne, ale WordPress nevypadal že by se zadýchával (řadil uživatele do fronty).
Zdali někdy byl tento rekord překonán nevím, ale věřil bych tomu že ano. Zvláště od té doby co je součástí webu diskuzní fórum bbPress, tak lidé často refreshují obsah.
Web je monitorován službou UptimeRobot a 503ka či jiné známky přetížení nebyly zaznamenány.
Závěr
Těmito výsledky jsem chtěl demonstrovat, že WordPress dokáže v pohodě utáhnout i větší zátěž na běžném sdíleném webhostingu za pár korun. Přitom není potřeba nějakých zvláštních úprav na míru či jiných zásahů. Představte si co musí zvládnout na takovém odladěném VPS anebo dokonce dedikovaném serveru, pokud se o vše postará zkušený administrátor?
- SEO příručka pro začátečníky - Optimalizuj svůj web ve WordPressu pro maximální výkon ve vyhledávací síti
Doplnil bych: Samotný WP není špatný a jádro je vyladěné, ovšem s historickými problémy. Například ukládat si aktivní pluginy do JEDNOHO políčka DB ve tvaru něco;něco;něco; a pak to parsovat je fakt na facku. A podobných perel je tam víc, to vše se při velké instalaci s velkým trafficem začne silně projevovat.
Jinak je ale drtivá většina problémů způsobená blbostí uživatelů. Každý tam nacpe 20-40 pluginů, neaktualizuje to, zabezpečení veškeré žádné, nastavení špatné, obrázky v plném rozlišení atd. Taky škoda hovořit o šablonách, kdy většina je děravá jako cedník a do kódu se radši nedívat.
Je skvelé, že máte tak vyladené a lacné české hostingy. Ja mám vyše tridsiatky wordpres webov na slovenských hostingoch a problémy s preťažovaním som mal iba na elbia. Keď som rovnaké weby presťahoval na websupport alebo exo, tak preblémy zrazu prestali a weby sa zobrazovali vždy a každému návštevníkovi. Zrejme nie je multihosting ako multihosting. A to tie weby nemali ani zďaleka také štatistiky, ako tieto tvoje.
WP je fajn, na silnějším hostingu s mariadb svižně běhá i když mám půl milionu postů 🙂
https://prnt.sc/fp6yp1
Jedná se o agregátor.
Worpdress toho utiahne fakt veľmi veľa a stačí aj slabší hosting a môže byť aj vyššia návštevnosť. Jedinou podmienkou je ale aby bola šablona dobre vytvorená. A celkom rešpekt s tým pokéwebom pretože som si myslel že už to dávno opadlo záujem o Pokémon GO a že už to hráva minimum ľudí ale ako vidím tak ešte nie 🙂 . Asi sa tam výrazne prejavuje aj sila sociálnych sieti.
Přesně tak, na WordPressu jsme postavili už hromady webů a co se týká limitů tak pokud běží na rozumném hostingu tak jsme nenarazili na problém.
Bohužel WordPress je dneska často otloukánkem, kde na něj plive kde kdo a pak vznikají právě ony popsané mýty v článku. A to jsou ještě mýty relevantní a měřitelné, pak jsou samozřejmě daleko horší, které se bohužel obtížně vyvracejí.
Ze zkušenosti dokážu říci, že při správném nastavení WP dokáže unést i několik set i tisíc návštěv najednou na sdíleném webhostingu (Blueboard) při odkazu z facebookové stránky, kde je přes 300 000 lidí.