WordPress hosting i priključci
Kako WordPress učiniti brzim i sigurnim: kontrolni popis za performanse i priključke
WordPress je uvijek brz i siguran onoliko koliko je brza i sigurna okolina koja ga pokreće. Ovdje je praktičan kontrolni popis koji primjenjujemo na svaku WordPress web-stranicu koju ugošćujemo — što predmemorirati, što osigurati i koji dodaci zaslužuju svoje mjesto u odnosu na one koje platforma čini suvišnima.
WordPress je dobar samo onoliko koliko i ono na čemu se izvodi
WordPress pokreće veliki dio weba jer je fleksibilan, ali ta je fleksibilnost ujedno razlog zašto postaje spor i nesiguran: zadana instalacija šalje desetke upita bazi podataka po stranici, prikazuje svoju verziju i tehnološki stog svakome tko pogleda, te Vas poziva na gomilanje dodataka sve dok se performanse i površina za napad tiho ne povećaju. Ništa od toga nije toliko mana sustava WordPress koliko posljedica njegova pokretanja na infrastrukturi koja ne pomaže ni na koji način.
Dobra vijest je da nekolicina istih odluka rješava većinu toga, a to su odluke o tehnološkom stogu, a ne o sadržaju. Agresivno predmemorirajte na pravom sloju, držite bazu podataka izvan kritičnog puta, pokrećite samo onih nekoliko dodataka koji doista opravdavaju svoje mjesto, održavajte sve ažuriranim i izolirajte web-mjesto kako bi problem ostao lokaliziran. Ova je objava upravo taj kontrolni popis, redoslijedom kojim ga primjenjujemo na svako WordPress web-mjesto na platformi.
Predmemorirajte na poslužitelju, a ne samo u priključku
Najveći pojedinačni čimbenik za brzinu platforme WordPress jest potpuno izbjegavanje pokretanja platforme WordPress za većinu posjeta. Standardni zahtjev pokreće WordPress, izvršava vaše priključke i šalje upite bazi podataka prije nego što pošalje ijedan bajt; predmemorija cijele stranice poslužuje gotovu stranicu izravno s web-poslužitelja pri sljedećem posjetu, preskačući cijelo to pokretanje. Mjesto na kojem se ta predmemorija nalazi iznimno je važno: priključak za predmemoriranje nalazi se unutar PHP-a, pa se PHP i dalje pokreće prije nego što predmemorija može odgovoriti, dok predmemorija na razini poslužitelja odgovara ranije u procesu zahtjeva i čuva stranice u obliku koji poslužitelj može trenutačno isprazniti.
Svaka WordPress web stranica koju ugošćujemo radi na LiteSpeed Enterprise poslužitelju s LSCache predmemorijom na razini poslužitelja, a naš vlastiti dodatak za predmemoriju pravilno povezuje WordPress s njim odmah po instalaciji — unaprijed je instaliran i automatski se ažurira, pa imate jednu stvar manje za konfigurirati ili održavati ažurnom. Na izvoru koji nije LiteSpeed, isti dodatak jednostavno ne šalje zaglavlja za cijelu stranicu i ne smeta dok predmemorija objekata nastavlja raditi, tako da migrirana web stranica nikada ne ostaje polovično konfigurirana. Praktično pravilo za Vaš kontrolni popis: jedna predmemorija za cijelu stranicu, na poslužitelju, i nemojte dodavati drugi dodatak za predmemoriju povrh toga — oni dolaze u sukob.
Predmemorija objekata i baza podataka
Ne može svaki zahtjev biti statična stranica. Prijavljene sesije, administratorsko sučelje, pretraživanje, košarice i svaki personalizirani fragment moraju pokretati PHP, a za njih se cilj mijenja s preskakanja aplikacije na preskakanje baze podataka. Objektni predmemorijski spremnik po web-mjestu — Redis, u našem slučaju — čuva rezultate ponovljenih čitanja baze podataka u memoriji, tako da se iste opcije, transients i pretraživanja ne traže iz baze podataka pri svakom posjetu. Učinak se očituje točno tamo gdje predmemoriranje cijele stranice ne može pomoći: brže administratorsko sučelje, brže košarice i znatno manje opterećenje baze podataka pod prometom.
Ključna riječ je „po web-mjestu” (per-site). Dijeljeni predmemorijski prostor objekata (shared object cache) znači da jedno zauzeto ili loše napisano web-mjesto može izbaciti predmemorirane podatke svih ostalih i uskratiti resurse baze podataka svojim susjedima; namjenska predmemorija po web-mjestu, uparena s ograničenjima baze podataka po web-mjestu, drži taj opseg štete pod kontrolom. Na svom popisu za provjeru smatrajte trajnu predmemoriju objekata obaveznom za svako web-mjesto s prijavljenim korisnicima ili trgovinom te budite oprezni s hostingom na kojem se ona dijeli među zakupcima.
Priključci koje vrijedi pokretati — i oni koje platforma zamjenjuje
Svaki dodatak koji dodate kod je koji se izvršava pri zahtjevima i vrata kroz koja bi netko jednog dana mogao proći, pa je pošteni cilj najmanji broj dodataka koji rade najviše. Dobar poslužitelj uklanja potrebu za cijelom jednom kategorijom: uz predmemoriranje na razini poslužitelja, upravljanu predmemoriju objekata i sigurnosne kopije platforme, ne trebate dodatak za predmemoriranje, zaseban dodatak za predmemoriju objekata ili dodatak za sigurnosne kopije — ti se poslovi bolje obavljaju ispod sustava WordPress, a njihovo pokretanje na vrhu samo stvara sukobe i dodatno opterećenje.
Ono što preostaje i što vrijedi pokretati jest mali skup koji dodaje stvarnu funkcionalnost: priključci koji su Vašoj web-stranici doista potrebni za rad, te — na našoj platformi — dva priključka standarda službenog repozitorija koje izrađujemo i isporučujemo sa svakom stranicom. Naš predmemorijski priključak povezuje WordPress s predmemorijom poslužitelja i upravlja pametnim brisanjem tako da uređivanje briše samo stranice koje bi trebalo. Naš priključak za footprint uklanja tragove koje zadana instalacija sustava WordPress odašilje — oznaku verzije i generatora, krajnje točke otkrivanja, XML-RPC, povratne obavijesti (pingbacks) i zaglavlje powered-by — pri svakom postavljanju, tako da ih ažuriranje priključka ili teme ne može potajno vratiti. Oba su izrađena prema standardima direktorija priključaka WordPress.org, besplatna su i sama se ažuriraju.
Održavanje WordPressa sigurnim i ažurnim
Većina kompromitacija sustava WordPress nije domišljata; one su stare. Zastarjela jezgra, tema ili dodatak s poznatom, objavljenom ranjivošću uvjerljivo je najčešći način na koji web-mjesta bivaju napadnuta, zbog čega je redovito ažuriranje najvrjedniji sigurnosni posao koji postoji — i najzamorniji, zbog čega se često preskače. Upravljani hosting trebao bi vas rasteretiti te brige: krpanjem programskog stoga ispod WordPress-a te omogućavanjem sigurne primjene ažuriranja jezgre i dodataka pružanjem razvojne kopije (staging) za testiranje i sigurnosne kopije za vraćanje na prethodno stanje.
Osim ažurnosti, očekujte da će se granice provoditi za vas: skeniranje zlonamjernog softvera uključeno je prema zadanim postavkama kako bi se zaraza otkrila odmah, a ne da je otkrije posjetitelj, izolacija kako jedna ugrožena stranica ne bi mogla pristupiti drugoj, DDoS zaštita na rubu mreže i TLS posvuda s certifikatima koji se automatski obnavljaju. Ništa od toga ne zamjenjuje osnovnu higijenu — snažne vjerodajnice, pristup s najmanjim potrebnim privilegijama, uklanjanje priključaka koje više ne koristite — ali znači da infrastruktura nije slaba karika. Na vašem popisu za provjeru pitanje za svakog pružatelja usluga hostinga jednostavno je: je li sigurnost zadana postavka ili paket koji kupujete?
WooCommerce i stranice koje nikada ne smijete predmemorirati
Trgovina je mjesto gdje agresivno predmemoriranje ostvaruje najveću dobit, ali i nanosi najveću štetu ako je naivno postavljeno. Stranice kataloga, proizvoda i kategorija stranice su s najvećim prometom i najprikladnije za predmemoriranje koje imate, a njihovo posluživanje iz predmemorije cijele stranice pojedinačno je najbolja stvar koju možete učiniti za brzinu trgovine. No, stranice košarice, naplate i korisničkog računa osobne su i nikada se ne smiju posluživati iz dijeljene predmemorije — učinite li to, kupac će vidjeti tuđu košaricu, što predstavlja i neispravnu trgovinu i narušavanje privatnosti.
Način da dobijete oboje jest predmemoriranje stranice i stvaranje otvora za dinamičke dijelove. Edge Side Includes iscrtavaju fragment košarice, zbrojeve mini-košarice i stanje računa po svakom zahtjevu dok se ostatak stranice poslužuje iz predmemorije, a stranice cart, checkout, my-account te sve stranice s nonce vrijednostima ili sesijama zadano su izuzete. Svježina se održava pametnim automatskim čišćenjem koje se aktivira pri promjeni proizvoda, cijene ili narudžbe, tako da zastarjela cijena nikada ne ostaje. Ako koristite WooCommerce, ovo je dio popisa provjere koji morate točno postaviti: brza trgovina iz predmemorije, dinamička košarica po korisniku i nikada predmemorirani osobni podaci.
Često postavljana pitanja
Trebam li još uvijek priključak za predmemoriranje kao što je WP Rocket?
Ne. Predmemoriranje cijelih stranica na web-poslužitelju obavlja LiteSpeed-ov LSCache, naš vlastiti dodatak za predmemoriju povezuje WordPress s njim i upravlja pametnim čišćenjem, a objektna predmemorija Redis za pojedinačno web-mjesto nalazi se u pozadini. Dodavanje drugog dodatka za predmemoriranje cijelih stranica obično se kosi s predmemorijom na razini poslužitelja umjesto da pomaže, stoga to nije potrebno niti se preporučuje.
Koje priključke platforma čini nepotrebnima?
Dodaci za predmemoriranje, zasebni dodaci za predmemoriju objekata i dodaci za sigurnosno kopiranje ovdje su suvišni jer se ti poslovi obavljaju ispod razine WordPress sustava — predmemoriranje na razini poslužitelja, upravljana predmemorija objekata po web-mjestu i sigurnosne kopije platforme. Njihovo uklanjanje smanjuje konflikte i površinu napada. Ono što vrijedi zadržati jesu dodaci koji su Vašem web-mjestu doista potrebni za funkcioniranje, uz naša dva besplatna dodatka za predmemoriju i footprint koji dolaze unaprijed instalirani.
Hoće li predmemoriranje pokvariti moju WooCommerce košaricu ili stranice za prijavljene korisnike?
Ne. Stranice Cart, checkout, my-account i sve stranice s jednokratnim tokenima (nonce) ili sesijama prema zadanim su postavkama izuzete iz predmemorije, a Edge Side Includes održava isječak košarice i ukupne iznose ažurnima na inače predmemoriranim stranicama. Kupci uvijek vide vlastitu košaricu i funkcionalnu blagajnu dok se izlog trgovine i dalje učitava iz predmemorije, a pametno automatsko čišćenje briše zahvaćene stranice kada se promijeni proizvod, cijena ili narudžba.
Kako održavate WordPress sigurnim bez mojeg upravljanja?
Primjenjujemo sigurnosne zakrpe na stog ispod WordPressa, činimo ažuriranja jezgre i priključaka sigurnima za primjenu pomoću testnog okruženja (staging) i vraćanja jednim klikom, prema zadanim postavkama držimo uključenima skeniranje zlonamjernog softvera i zaštitu od DDoS napada, izoliramo svaku stranicu kako se eventualni proboj ne bi mogao širiti te automatski izdajemo i obnavljamo TLS certifikate. Time se uklanja infrastruktura kao slaba karika; osnovna higijena poput jakih vjerodajnica i uklanjanja neiskorištenih priključaka i dalje je na Vama.
Povezano
Isprobajte besplatno 14 dana
Pokrenite svoja prva web-mjesta besplatno na 14 dana — bez kartice. Premještate postojeće web-mjesto ili mrežu? Migracije su besplatne, bez ograničenja.
Započnite besplatno