1 oktober, 2013

Snabba upp WordPress - hur fungerar det?

Idag är det många som känner till och använder WordPress för både små och stora sajter. För egen del så använder jag det på min egen sajt, samt på de flesta av mina kunders sajter. Det är flexibelt, det finns massvis av tillägg för att utvidga funktionaliteten och själva plattformen utvecklas kontinuerligt. Dessutom är det relativt enkelt för nya användare att lära sig gränssnittet för att uppdatera sin hemsida själv.

Med ett gäng tillägg och hos ett vanligt svenskt webbhotell så tenderar dessvärre WordPress att bli ganska långsamt. Anledningen till detta är flera. En sajt på ett vanligt webbhotell delar serverns resurser med andra kunder på samma server och WordPress behöver en del resurser för att kunna generera en sida. Det är ganska många frågor som skall skickas till databasen efter innehåll och inställningar.

Ju fler tillägg som används och ju fler javascriptfiler som måste hämtas desto långsammare blir sidan att ladda.

Det finns flera saker man kan göra för att förbättra prestandan!

Cacha innehållet

För att innehållet skall kunna skickas snabbare till besökaren så kan man spara innehållet i temporära textfiler på servern. Det innebär att filservern inte måste hämta så mycket information från databasservern varje gång en sida skall visas för besökaren.

Använd besökarens webbläsarcache

Bilder, stilmallar och javascriptfiler som används på många sidor kan med fördel sparas i cachen i besökarens webbläsare, då behöver de inte hämtas ned alls när de efterföljande sidorna skall visas.

Minska antalet filer som skall hämtas

Man skulle kunna tänka att det inte spelar någon roll hur många filer som skall hämtas, att det bara är den sammanlagda storleken som har betydelse, men så är det inte. Det tar viss tid försjälva anslutningen som måste göras för varje fil. Kan man minska ner antalet filer som skall hämtas sparas värdefulla millisekunder när sidan skall laddas. Förutom att se till att inga onödiga filer hämtas så är det smart att kombinera flera filer i en. Fem javascriptfiler som hinns i headern på varje sida kan som regel kombineras till en fil.

Minska storleken på filer - minify

Flera av filerna som besökarens webbläsare skall hämta är textfiler, exempelvis js-filer och css-filer. De innehåller massvis av radbrytningar och blanksteg. Tar man bort allt detta kan det leda till betydligt reducerade filstorlekar

Servera innehållet från flera servrar

Ytterligare en sak man kan göra för att minska laddningstiden och det är att låta innehållet på sajten laddas från flera olika servrar. De statiska filerna som behövs kan lika gärna finnas på en annan - snabbare server än den som webbhotellet erbjuder. En lösning är att använda en s.k. CDN (Content Delivery Network). Amazon Cloudfront är ett exempel på en som används flitigt för att just sådant (även på denna site).

Hur gör man allt detta i WordPress?

Min rekommendation är att använda något av de mer kompetenta cachningsplugin som finns tillgängliga. Jag använder oftast W3 Total Cache. Det finns i en bra gratisversion. Alla de olika delarna (och ännu fler) går att ställa in utan alltför stora kunskaper. Vill du ha hjälp så är du förstås välkommen att höra av dig.

Nedan ser du resultatet från ett test på tools.pingdom.com. Det är gratis att testa. Perf. grade skall vara så högt som möjligt, resten skall vara så lågt som möjligt.

Pingdom speed test

gamlehusen.se

1. Om Otrevlig

Det är otrevligt att missa kunder på grund av en hemsida som inte förmår att lyfta fram dina produkter och tjänster. Har obönhörligen effekt på sista raden.

2. Om Trevlig

Sedan 2010 skapar och uppdaterar jag hemsidor för allt från småföretag till storföretag. Ibland kan det räcka med att strukturera om för att få fart.

3. Trevligt samtal

Låt oss börja med ett samtal om vad som skulle kunna vara möjligt att åstadkomma. Flexibla lösningar baserade på dina behov och din budget.

4. Kontakta Trevlig

Wow, du har läst ända till denna ruta! Välkommen att höra av dig så pratar vi vidare.
KONTAKTA MIG
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram