WordPress on tohutult populaarne sisuhaldussüssteem, mille turuosa selle teksti kirjutamise ajal on ligi 64%. Menul on põhjuseid mitu, alates lihtsusest, kiirusest, modulaarsusest, millega käib kaasas väga suur hulk tasuta ja tasulisi laiendusvõimalusi. Kuid dünaamilise sisuhaldussüsteemina kummitavad WordPressi turvaprobleemid.

Väga lühidalt öeldes käivitub veebiserveris igakord PHP programmkood, kui mõni veebilehe külaline avab WordPressi peal jooksva lehekülje. Kui aga koodis on turvanõrkused, siis käivitub iga veebilehe külastuse peale potentsiaalselt turva-intsidenti põhjustav kood. WordPressi koodibaasi arendajad parandavad pidevalt leitud nõrkusi, kuid menukus on siin on probleemiks: ikka on maailmas mõni Wordpressi kasutaja, kes pole jõudnud oma veebilehte uusimale tarkvaraversioonile viia. Ja ründajad saavad nõrkust ära kasutada.

Staatiline sisu

Mida tähendab staatiline sisuhaldussüsteem? Seda, et programm veebilehe sisu näitamiseks ei käivitu mitte iga kord, kui külastaja veebilehele tuleb, vaid seda tehakse üks kord - siis, kui kodulehe omanik viimase täienduse teinud on. Tema käsu peale väljastab sisuhaldussüsteem lihtsalt veebilehe HTML lähtekoodi ja muud ressursid, nagu pildid, stiilid jne.

Eeliseid on kaks:

  • Turvalisus
  • Kiirus

Turvalisus. Iga külastuse peale ei toimu staatilise veebilehe puhul programmkoodi käivitust. Toimub ainult see, et veebiserver saadab külastaja arvuti brauserisse staatilise HTML/JS/CSS+piltide paki. Jääb ära risk, et ründaja saab koodis olevaid turvanõrkusi ära kasutada. Selle kohta öeldakse, et väheneb ründepind (attack surface).

Kiirus. Kaks kärbest ühe hoobiga: kui mingit programmi jooksutada pole vaja, kulub veebiserveril ka vähem arvutusressursse ja nii on võimalik sama ajaga vastata pöördujale (veebilehe külastajale) kiiremini või teenindada rohkem külastajaid.

Sellel on muidugi ka omad puudused. Näiteks on staatilistel lehtedel väiksem võimalus dünaamilist (iga kord erinevat või kasutaja eelistustest lähtuvat) sisu näidata. Ent kui tegu on näiteks tavalise kooli, väike-ettevõtte, MTÜ veebilehega, kirjutiste kogumiga, galeriiga või mis tahes mitte-dünaamilise veebiga, on staatiline sisu igati sobiv. Teiseks nõuab üldjuhul staatiliste lehtede tegemine pisut keerukamat toimetamistööd, sest vaja on (1) muuta lähteks olevat tekstifaili, (2) genereerida sellest uus staatiline veebileht, (3) laadida see serverisse. Õnneks on see paljuski automatiseeritav ja üldse mitte keeruline.

Tere tulemast, Hugo

Proovin siinse lehekülje puhul Hugo-nimelist staatilist sisuhaldussüssteemi.

Hugo on 2013. aastal loodud SSG (static site generator) ja omasuguste seas üsna populaarne. Eriti kiidetakse Hugo kiirust, aga samas ei oleks Hugo kasutajad ka nõus mu jutuga, et see sobib ainult pisikese ja lihtsat muutumatu sisuga veebilehe tegemiseks. Hugo peale tehakse veebipoode, enterprise-klassi veebe jne.

Kas see on parim ja mugavaim, ei oska ma veel öelda.

Aga äkki peaksid sa oma järgmise veebiprojekti jaoks ka arendajalt küsima: kas me saaksime lehe teha nii, et sisuhaldussüsteem loob staatilisi lehti?