Sådan får du en hurtigere WordPress-side

WordPress er ikke bare det mest brugte CMS blandt Surftowns kunder, det er også det mest brugte i verden. Næsten 15% af de mest besøgte hjemmesider i verden anvender WordPress.

Et af de mest hyppige spørgsmål om WordPress, som vi får, er, hvordan man kan skrue op for hastigheden på siden. En stor del af det afhænger selvfølgelig af vores webservere, men der findes faktisk en del ting, som du selv kan gøre for at øge hastigheden betydeligt.

Som eksempel på, hvordan du gør det, har jeg valgt, at anvende min kollega Alexias blog. Alexias blog er som de fleste andre, med forskellige plugins, masser af billeder, kommentar-spam og alle slags anekdoter om alt og intet. Som udgangspunkt, så indlæses siden på langsomme 4,2 sekunder fra vores testserver i Amsterdam.
Af de 4,2 sekunder går 1,05 til at indlæse selve index-filen; det vil sige at indlæse hele kernen i WordPress, afgøre hvad der skal vises til den besøgeren, samt hente alt indhold fra databasen. Herefter hentes i alt 88 filer fra webserveren – en total mængde på 9,5 MB (hvilket bør tage ca. tre sekunder at hente på en normal ADSL-forbindelse).

Der findes en række ting, du kan gøre for at skruge op for hastigheden. For nemheds skyld har jeg opdelt det i sværhedsgrader: nybegynder og erfarne brugere.

Installer et cache-plugin (nybegynder)
Der findes et væld af forskellige cache-plugins til WordPress. De to hyppigst brugte hedder ‘WP Super Cache’ og ‘W3 Total Cache’. Begge er gratis, og debatten om hvilket tillæg, der giver den bedste forbedring har raseret i årevis og slutter nok ikke foreløbig.

Grundprincipperne er de samme – begge plugins gemmer resultatet af en sidevisning, så det kan vises øjeblikket næste gang, nogen vil se samme side. Det sparer tid, eftersom at WordPress ikke behøver indlæse samme indhold hver gang. På den måde kan man vise siden med det samme, uden forsinkelse. Vi har testet begge plugins og er kommet frem til, at begge fungerer, men at WP Super Cache er betydeligt lettere at konfiguere. Vi anbefaler derfor det plugin WP Super Cache frem for W3 Total Cache. For en god ordens skyld, så anbefaler vi ikke, at du brugere flere cache-plugins samtidig.

WP Super Cache kan installeres hurtigt og enkelt via administrationssiden i WordPress. Når det er installeret og aktiveret, dukker der en lille notifikation op, om at caching ikke er aktiveret endnu. For at komme videre, skal man klikke på linket, aktivere cache og derefter gemme indstillingerne ved at trykke ‘Opdater status’:

Næste gang, din WordPress-side indlæses, så gemmer den resultatet af sidevisningen, sådan at det ligger til andre besøgende. I tilfældet med Alexias blog, så reducerede vi hastighed fra 1,05 sekunder til 0,66 sekunder! Dermed endte den totalte loadtid på ca. 3,3 sekunder.

Installer Lazy Load (nybegynder)
Normalt vil en browser indlæse alle billeder på en hjemmeside på en gang, når siden vises. Det sker uanset mo billederne ligger i toppen eller bunden af siden, og uanset om den besøgeren kan se billederne.

For at råde bod på det, så er der lavet mange forskellige plugins, som giver en effekt, der populært kaldes ‘Lazy Load’. Billeder, som eksempelvis ligger i bunden af siden, indlæses ikke, før brugeren scroller ned og rent faktisk ser billedet. Der findes en del at vælge imellem, men vi anbefaler det plugin , som hedder ‘Lazy Load’, ganske enkelt fordi vi har testet det og ved, at det fungerer. Lazy Load kan installeres via administrationsiden af WordPress.

På Alexias blog er der mange billeder, så installationen af Lazy Load mærkes med det samme. Antallet af filer, som bliver hentet, blev reduceret fra 88 til 72, og mængden af data blev halveret og endte derfor på kun 4,6 MB! Det havde stor betydning for indlæsningstiden, som nu kun er på 1,3 sekunder.

Selvfølgelig skal den stadig hente de resterende billeder, når du scroller ned, men effekten er ikke desto mindre, at det føles hurtigere og mere flydende end før.

Indstil WP Super Cache til at være endnu hurtigere (erfarne brugere)
Vi kan nu konstatere, at de to første løsninger har reduceret indlæsningstiden med 2/3, og det kan måske være nok. For de af os, der tør klikke på fanen avanceret, findes der imidlertid nogle ekstra millisekunder at hente.

Til at starte med, så anbefaler vi, at du indstiller WP Super Cache til at anvende mod_rewrite. Det betyder, at du i stedet anvender webserverens indbyggede funktionalitet til at sende html-filer direkte, i stedet for først at indlæse php, og dermed spilde dyrebare millisekunder på at gøre noget, som kan gøres hurtigere.

Når du har gemt indstillingerne, så er vigtigt, at du også opdaterer .htaccess, da mod_rewrite ikke fungerer, uden den opdatering.

Lidt længere nede på siden kan du styre, hvor længe en side skal gemmes, inden den slettes fra cachen. Standardindstillingen er fem minutter, men hjemmesider, som ikke opdateres så ofte, kan med fordel indstilles til at cache i en time, et døgn eller en hel uge, uden at det giver problemer.

Ved at indføre ovenstående ændringer har vi reduceret indlæsningstiden på Alexias blog med 70%, fra 4,26 sekunder til 1,26 sekunder. Mon ikke du kan hente lidt ved at implementere samme ændringer.

Hvad er dit bedste tip til optimering af hastigheden i WordPress?

3 Comments

  1. Maja
    08/07/13 @ 21:55

    Vi har super gode erfaringer med WP Super Cache og kan varmt anbefale det. Husk også at tjekke hos GTMetrix.com om du f.eks. har for store billeder eller andre skavanker som nemt kan rettes.

    http://www.workstyle.dk

  2. 9had
    19/07/13 @ 12:19

    Hvis man bruger Autoptimize plugin, som minimere html, js, css så loader ens sider endnu hurtigere.

  3. Nicolas Nezzo
    11/08/13 @ 11:22

    WP Super Cache er nu standard-cachingen i alle vores One Click-installationer af WordPress. 🙂