Održavanje web stranica je posao koji sajt drži sigurnim, dostupnim i obnovljivim nakon što aplauz lansiranja utihne: ažuriranja, backupi koji su stvarno isprobani, neko ko gleda dostupnost, i jasan put za male ispravke koje iskrsnu svakog mjeseca. Sajt koji je zarađivao prvog dana postaje obaveza u mjesecima kada niko nije zakrpio plugin, disk se napunio, ili se jedini backup pokazao kao kopija već pokvarene baze.
Sadržaj
U CodeWizu održavamo WordPress i WooCommerce sajtove, Laravel i druge PHP aplikacije, te Node.js servise. Jezgro, pluginove i zavisnosti ažuriramo prvo na staging kopiji, čuvamo backupe koje smo zaista vratili, pratimo dostupnost i očigledne sigurnosne signale, i ispravljamo greške koje su premale za projekat, a prevažne da šest mjeseci čekaju u tiketu. Obim se zapiše prije prvog ažuriranja, uključujući i ono što nije uključeno.
Ovo je za firme čiji sajt prima narudžbe, rezervacije ili upite, a nema nikoga čiji je posao da ga gleda, za agencije koje ne žele biti dežurne za svaku klijentsku instalaciju, i za svakoga ko je sajt naslijedio i više nije siguran kada je posljednji put ažuriran. Ako je posljednja izmjena bilo užurbano ažuriranje plugina ravno na produkciji, održavanje je jeftiniji razgovor prije sljedećeg puta.
Kod teme stranica alati otvorenog koda su prvi izbor kada odgovaraju poslu.

Održavanje web stranica: jezgro, pluginovi i zavisnosti
Većina incidenata zbog kojih nas zovu počinje kao preskočeno ažuriranje. WordPress jezgro, WooCommerce izdanje, verzija PHP-a, Composer paket ili npm zavisnost stoje dok sigurnosno izdanje ažuriranje ne učini hitnim i neisprobanim. Održavanje to pretvara u ritam: staging kopija, kratka lista putanja koje su važne, zatim produkcija, uz put nazad.
Stranica kreće od sistema koji već radi, a ne od praznog šablona.
Šta se ažurira
- WordPress: jezgro, pluginovi, teme i prijevodi. Premium pluginovi ulaze kada nam možete dati licencni ključ. Changelog čitamo za sve što dira checkout, prijavu ili vlastiti kod.
- PHP, Node.js i sistemski paketi: runtimeovi jezika i sigurnosna ažuriranja operativnog sistema, usklađena sa aplikacijom tako da skok PHP-a ne padne istog popodneva kao veliki plugin.
- Composer i npm: lock fajlovi ažurirani u Gitu, uz
composer auditinpm auditu petlji. Ažuriranje zavisnosti je commit, a ne folder koji je neko mijenjao preko SFTP-a. - Platforma oko aplikacije: web server, TLS, Redis ili verzija baze, kada je hosting u našim rukama.
Staging nije izboran za sajt koji prima plaćanja ili upite. Prolazimo checkout, prijavu, forme i jednu ili dvije stranice koje koriste pluginove upravo ažurirane. Vizuelne greške i PHP upozorenja ispravljamo prije nego što produkcija vidi izmjenu. Skokovi glavne verzije se zakazuju, a ne trpaju uz tihu sigurnosnu krpicu. WordPress mehaniku opisuje u tekstu Ažuriranje WordPressa; procjena šta se ažurira ove sedmice dio je koji dodajemo mi.
Rad na temi stranica ostaje u vašem repozitoriju i na vašoj infrastrukturi.
JavaScript zavisnosti zaslužuju dodatnu sumnju. Zlonamjeran ili otet paket ne izgleda kao obična greška, zato smo odvojeno pisali o zaštiti razvojnog okruženja od zlonamjernih npm paketa. Produkcijske instalacije dolaze iz lock fajla, a ne iz onoga što npm install razriješi tog dana.
CodeWiz provjerava stranica u produkciji, ne samo na demonstraciji.

Backupi i oporavak od kvara
Backup je vraćanje koje ste obavili, a ne fajl za koji se nadate da je ispravan. Backupujemo bazu, otpremljene fajlove i konfiguraciju koju bi bilo bolno obnavljati, kopije šaljemo van servera i vraćamo ih u ritmu koji dogovorimo. Snimak cijele mašine iz panela može biti dio toga. Nije zamjena za dump baze koji možete učitati negdje drugo, jer snimak često umre sa istim diskom ili istim nalogom.
Odluke o temi stranica vežu se za ograničenje koje stvarno koči poslovanje.
# database dump plus files, then a check that the repository is readable
mysqldump --single-transaction --routines site > /var/backups/site.sql
restic backup /var/www/site /var/backups/site.sql
restic check- Šta znači „oporavljeno” dogovara se unaprijed. Koliko svježih podataka smijete izgubiti, i koliko brzo sajt mora ponovo odgovarati, mijenja dizajn. Ta dva broja zapišemo sa vama. Ne izmišljamo univerzalno obećanje.
- Prodavnice uključuju narudžbe. Backup fajlova koji nema bazu, ili backup baze koji nema
uploads/, nije oporavak. Za prodavnice razmišljanje se preklapa sa tim kako narudžbe ostaju obnovljive. - Vraćanje se uvježbava. Prvi put kada otkrijete da je backup odsječen ne smije biti dan kada servera nema. Vraćanje na staging je test.
- Pristup je ograničen. Kredencijali backupa nisu isti ključevi kao korisnik za deploy, a skladište backupa nije čitljivo svima.
Nadzor dostupnosti i sigurnosti
Ažuriranja zatvaraju rupe za koje već znate. Nadzor kaže kada je nešto pogrešno i pored toga: sajt ne odgovara, certifikat uskoro ističe, prijave padaju u obrascu koji liči na pogađanje, ili se promijenio fajl koji niko nije smio dirati. Dostupnost se provjerava izvan servera. Provjera koja radi na samoj mašini šuti onog dana kada je ta mašina problem.
Za mali sajt ta provjera može namjerno ostati mala. Jedan pristup opisali smo u tekstu self-hosted monitor dostupnosti, open-source Node.js alternativa kada je komercijalna status stranica više proizvoda nego što vam treba. Uz nju pratimo istek certifikata, prostor na disku, neuspjele administratorske prijave i spisak komponenti koje kasne sa sigurnosnim izdanjima. Ojačavanje same WordPress instalacije prati prakse iz zvaničnog vodiča za hardening: manje admin korisnika, nema nekorištenih pluginova, i fajlovi koje web server ne smije pisati osim tamo gdje pripadaju uploadi.
Ispravke grešaka i mala poboljšanja
Između ažuriranja sajtovi skupljaju male kvarove: forma koja je prestala slati email, dugme koje se na telefonu preklapa, stopa dostave koja zaokružuje na pogrešnu stranu, postavka plugina koju je urednik slučajno promijenio. Ispravke grešaka i mala poboljšanja razlog su zbog kojeg je dogovor o održavanju korisniji od podsjetnika u kalendaru da se klikne „update”.
- Dogovaramo budžet sati, ili kratku listu uključenih zadataka, tako da „malo” tiho ne postane nova funkcija.
- Pokvaren checkout, pokvarena forma ili greška koju posjetioci vide u obimu su i kada je budžet sati tijesan. Redizajn početne stranice nije.
- Svaka ispravka dovoljno je mala da se pregleda i vrati. Izmjene idu u Git kada sajt ima repozitorij, što je prvo što dodajemo ako ga nema.
- Dobijate kratku bilješku šta se promijenilo, a ne tihu izmjenu na produkciji.
Planovi podrške i SLA
Plan podrške je zapisani obim: šta ažuriramo, koliko često vraćanje backupa služi kao test, šta pratimo, kako se broje male ispravke, i koliko brzo odgovaramo kada je nešto nedostupno. SLA ovdje znači taj prozor odgovora i definiciju „nedostupno”, dogovorene za vaš sajt. Nije objavljeni cjenovnik i nije univerzalni postotak dostupnosti koji lijepimo na svaki prezentacijski sajt.
| Oblast | Osnovno | Standard | Prioritet |
|---|---|---|---|
| Ažuriranja | Mjesečno, prvo na stagingu | Kako izdanja stižu, nakon provjere na stagingu | Sigurnosna izdanja istog dana, i dalje preko staginga |
| Backupi | Dnevno, van servera, vraćanje po dogovorenom rasporedu | Dnevno, uz češće uvježbavanje vraćanja | Dnevno, plus uvježban oporavak cijelog sajta |
| Nadzor | Dostupnost i istek certifikata | Dostupnost, sigurnosna ažuriranja na čekanju, osnovne greške aplikacije | Dostupnost, sigurnost i zdravlje aplikacije |
| Izmjene | Popravka kritičnog kvara | Male ispravke unutar dogovorenog broja sati | Rezervisano vrijeme i dogovoreni prozor odgovora |
| Tipično odgovara | Prezentacijski sajt koji se rijetko mijenja | Poslovni sajt ili prodavnica | Sajt koji prima narudžbe ili rezervacije tokom dana |
Odgovor i rješenje nisu isto. Odgovoriti znači da je čovjek pogledao i rekao vam šta vidi. Rješavanje kompromitovanog sajta ili palog hosta može trajati duže od prve poruke, i to ćemo reći umjesto da obećamo rok na koji ne možemo uticati. Radno vrijeme je podrazumijevano. Tješnji prozor dogovaramo kada sajt zarađuje i van tog vremena, i upisuje se u plan.
Šta ostaje izvan plana održavanja
Održavanje drži u dobrom stanju sajt koji imate. Loš je okvir za novi proizvod. Sljedeće ostaju zasebni projekti, procijenjeni posebno, osim ako mali komad nismo izričito uvukli u budžet sati:
- Nove stranice, nove integracije, redizajn, ili funkcija koje prošlog mjeseca nije bilo.
- Selidba na novi hosting, skok PHP-a preko glavne verzije, ili promjena platforme. To se može zakazati uz održavanje, ali nije „mjesečno ažuriranje”.
- Pisanje vašeg sadržaja, vođenje oglasa ili odgovaranje vašim kupcima. Popravićemo formu. Nećemo se pretvarati da smo vaš inbox.
- Prekid čiji je uzrok treća strana, registrar ili payment provider. I dalje ćemo utvrditi gdje je stalo i reći vam gdje je prestalo biti vaš server.
Održavanje web stranica: greške koje ispravljamo
- Ažuriranje produkcije direktno, petkom, bez kopije na koju se može vratiti.
- Automatska ažuriranja uključena za svaki plugin, uključujući glavne verzije koje mijenjaju tabele u bazi.
- Backup koji nikada nije vraćen, sačuvan na istom disku kao sajt.
- Nema spoljne provjere dostupnosti, pa je prva prijava od kupca.
- Admin korisnik i dalje se zove
admin, nekorišteni pluginovi ostaju aktivni, a tema iz 2019. ne podnosi trenutni PHP. - „Neograničene male izmjene” bez granice, dok održavanje ne postane razvojni ugovor bez obima.
- Zavisnosti ažurirane ručno na serveru, pa Git repozitorij više ne odgovara onome što radi.
Od čega zavisi cijena održavanja
Cijenu dajemo nakon što pogledamo sajt, a ne iz tablice u PDF-u. Faktori su ustaljeni:
- Koliko sajtova ima, i da li svaki ima staging ili ga mi moramo napraviti.
- WooCommerce, vlastiti pluginovi i stari PHP traže više pažnje od mirnog prezentacijskog sajta.
- Koliko sajt kasni prvog dana. Sustizanje dvije godine ažuriranja projekat je. Mjesečni ritam poslije toga manji je.
- Prozor odgovora koji vam stvarno treba, i da li neko mora biti dostupan van radnog vremena.
- Da li su backupi, dostupnost i server u obimu, ili samo aplikacija.
- Jedan sajt na razumnom hostingu često je cijela priča. Gdje je skup hosting, open-source hosting panel ponekad je veća ušteda, i reći ćemo ako samo održavanje nije poenta.
Kako radimo
- Pregled: verzije, pluginovi, pristup, kuda backupi danas idu, i kada je posljednji put nešto ažurirano ili vraćeno.
- Dogovor: obim, budžet sati, prozor odgovora i lista putanja koje testiramo nakon ažuriranja.
- Učiniti izmjene sigurnim: staging, backup van servera, uspješan test vraćanja i provjera dostupnosti, prije prve produkcijske izmjene.
- Prvi ciklus: ažuriranja na stagingu, ispravke, zatim produkcija u prozoru za koji znate, uz spreman povratak.
- Ritam: dogovoreni tempo nakon toga, plus kratka bilješka šta se promijenilo i šta pratimo.
- Ostanak: plan traje dok ga ne zaustavite. Veći posao se procijeni pored njega, a ne sakrije unutra.
Zašto CodeWiz
- Gradimo sajtove koje održavamo: WordPress, WooCommerce, Laravel i Node.js, pa ažuriranje procjenjuje neko ko može pročitati grešku, a ne samo neko ko može kliknuti dugme.
- Open-source na prvom mjestu: staging, restic ili ravnopravni backupi, i self-hosted provjera dostupnosti prije paketa vlasničkih agenata.
- Zapisane granice: uključene ispravke i zasebni projekti razdvojeni su prije rada, i zato plan ostaje fer objema stranama.
- Fer cijene: vrhunski razvoj bez vrhunskih cijena, iz Banje Luke, uz rad na daljinu sa klijentima iz regiona i svijeta.
- Okolni posao već je naš: hosting, performanse, sigurnost i aplikacija. Više na stranici o CodeWizu.
Često postavljana pitanja
Koliko košta održavanje web stranica?
Prati sajt. Mali WordPress sajt sa mjesečnim ažuriranjima, dnevnim backupima i provjerom dostupnosti skroman je mjesečni dogovor. Prodavnica na starim pluginovima, sa odgovorom istog dana, nije isti angažman. Obim i cijenu dobijate nakon pregleda, prije nego što se išta promijeni.
Šta je uključeno?
Plan to nabraja: koja ažuriranja, kako se backupi testiraju, šta se nadgleda, koliko sati malih ispravki ulazi, i kako odgovaramo kada je sajt nedostupan. Nove funkcije se procjenjuju odvojeno. Tabela iznad oblik je tog razgovora, a ne jelovnik sa skrivenim stavkama.
Koliko često WordPress treba ažurirati?
Sigurnosna izdanja ne treba da čekaju sezonsko čišćenje. Izdanja sa novim funkcijama mogu sačekati da se isprobaju na stagingu, što za aktivan sajt obično znači mjesečni prolaz plus sve hitno između. Automatske glavne verzije na produkciji način su na koji mirni sajtovi puknu.
Možete li održavati sajt koji niste vi napravili?
Možemo. Pregled postoji da se vidi šta preuzimamo: vlastiti kod, licence, hosting i da li staging postoji. Ako je sajt u stanju u kojem bi održavanje samo prekrilo potrebu za ponovnom izgradnjom, to ćemo reći.
Šta ako ažuriranje pokvari sajt?
Zato postoje staging i isproban backup. Vraćamo izmjenu ili posljednju ispravnu kopiju, a zatim sukob rješavamo na stagingu. Produkcija nije mjesto na kojem se veliki plugin otklanja.
Koliko brzo odgovarate?
Onoliko brzo koliko plan kaže. Prezentacijski sajt obično ide u sljedeće radno vrijeme. Prodavnica koja ne može primati narudžbe drugi je dogovor, zapisani, sa prozorom odgovora umjesto nagađanja. Odgovor znači da smo pogledali i javili se. Nije obećanje da je svaki mogući kvar riješen u tom istom prozoru.
Spremni da ažuriranja prestanu biti hitni slučaj?
Recite nam šta sajt pokreće i kada je posljednji put ažuriran ili vraćen. Kontaktirajte nas i predložićemo obim održavanja, ili pregledajte ostale naše usluge.