Ny sajt ny teknik

3 minuters läsning

Tro det eller ej, men den här sajten lever faktiskt! För den som besökt denna sajt tidigare märker på en gång att den har ett helt nytt utseende nu. Det är inte bara utseendet som är nytt, den är också byggd med helt ny teknik. Den största nyheten är att jag inte längre använder Wordpress utan använder mig numera av en så kallad statisk sajtgenerator (static site generator på engelska). Det är ett verktyg som utifrån mall- och innehållsfiler bygger (genererar) ihop en komplett sajt redo att publiceras på valfri webbserver.

Ut med Wordpress

Det är inte så att jag tycker att Wordpress är dåligt. Tvärtom, jag tycker faktiskt att det är ganska trevligt att jobba med. Men det finns en del problem med det. Wordpress är det mest använda innehållshanteringssystemet på internet1. Det gör att det finns en enorm mängd tillägg (plugins) och teman till det. Helt enkelt för att det är en stor marknad för dem. Men det är långt ifrån alla teman och tillägg som håller en bra kvalitet. En del introducerar säkerhetshål på din server. Rätt ofta kommer det fram att det finns säkerhetsproblem med Wordpress i sig. Detta gör att om man kör Wordpress så måste man alltid hålla det uppdaterat till den senaste versionen. Detta gäller både Wordpress och alla tillägg samt teman. Om man vill köra Wordpress kan det bara en bra idé att anlita någon som hanterar det åt dig (exempelvis Wordpress.com) så att du kan koncentera dig på innehållet istället för uppdateringar.

Ett annat problem som jag personligen råkat ut för med Wordpress är att det är många som vill åt din server. Jag hade ett tillägg som håller reda på hur många felaktiga inloggningsförsök som gjorts och jag kan säga att det är många. Nedan är en bild från tilläggets statistik.

Som du kan se av bilden så hade jag i snitt ca 5000 felaktiga inloggningar per dag! Det gick dock i vågor så det varierade lite hur många det faktiskt var varje dag.

In med Jekyll

När en webbläsare hämtar en sida från en Wordpress-sajt så ska webbservern först köra PHP-kod som kopplar upp sig mot en databas för att hämta innehållet för sajten för att sedan generera html att skicka tillbaka till webbläsaren som ska presentera resultatet för användaren. När man tänker efter så är det rätt mycket för att visa en sida som egentligen inte ändras för varje visning.

Så varför inte generera alla sidor i förväg istället? Det är precis vad en statisk sajtgenerator gör. Man kan säga att det är något av ett mellanting mellan en dynamisk sajt (med exempelvis Wordpress) och en helt manuellt handknackad sajt. Med en statisk sajtgenerator skriver du innehållet i ett separat format (ofta Markdown) och använder en mall (i HTML) för att generera en komplett sajt med ett enhetligt utseende. Resultatet består endast av HTML och övriga filer som sajten använder sig av (t.ex. bilder, javascript, stylesheets) som kan laddas upp till vilken webbserver som helst. Den behöver inte ens kunna köra PHP såvida man inte genererat PHP-filer med generatorn. Jag antar att man kan göra det om man vill, men det är nog inte brukligt att använda statiska sajtgeneratorer på det sättet.

Jag har valt att använda ett verktyg som heter Jekyll för min nya sajt. Det är den populäraste2 statiska sajtgeneratorn och jag valde den mest för att jag kände till den sedan tidigare. På sajten StaticGen finns en lång lista över statiska sajtgeneratorer. Jekyll-sajter kan man för övrigt publicera på internet gratis med hjälp av GitHub Pages om man inte har plats någon annanstans.

Jag har valt att byta ut Wordpress mot något enklare därför att jag helt enkelt inte tycker att jag behöver ett innehållshanteringssystem för att hantera min sajt. På köpet blir sajten betydligt snabbare eftersom alla sidor redan är färdiga.

Finns det då några nackdelar med Jekyll kontra Wordpress? Ja, det skulle kunna vara helt avsaknad av användargränssnitt för hantering av innehållet på sajten. Om det är en fördel eller nackdel beror nog på vem du frågar. För mig som programmerare är det inte en nackdel.

  1. enligt artiklen på Wikipedia om Wordpress (läst 2017-04-05). 

  2. enligt sajten StaticGen (läst 2017-04-07).