Hastighedsoptimering af WordPress

Hastigheden på et website og en webshop er vigtig for at få tilfredse brugere. Google har udmeldt at den rå hastighed anvendes som SEO rankingfaktor og på andre punkter i Googles algoritmer menes det også, at hastigheden qua bedre brugeroplevelse, vil kunne påvirke rankingen positivt.

WP har i gennem de sidste mange år, fået ry for at være sløvt og tungt, men det er i dag ikke tilfældet.

PHP er kommet i nye versioner, der har fået hastigheden betragteligt i vejret på databasen og selve Wrodpress Core filerne er også blevet opdateret, så de arbejder hurtigere og mere stabilt.

Derfor er det i dag ikke som sådan WordPress, der holder hastigheden tilbage, nærmere måden hvorpå du anvender systemet.

Vi vil her se lidt nærmere på de vigtigste områder -og altså dem der påvirker hastigheden mest på dit WP setup.

Hosting

Om du kører Joomla, WordPress eller et andet CMS vil valg af webhotel have stor indflydelse på hastigheden.

Det du bl.a skal se efter er:

  • Hvor er serveren placeret.
  • Hvor mange kerner får du adgang til (CPU).
  • Hvor mange GB RAM får du adgang til.
  • Server caching (Er der litespeed, Varnish osv).

Vælger du shared hosting, vil der typisk være sat grænser for dine ressourcer, her er det vigtigt at se nærmere på, hvordan de grænser er sat.

En velbesøgt Woocommerce shop, vil meget hurtigt generere mange tråde og der kan du ofte møde begrænsninger på samtidige tråde, der er sat lavt.
Det kan være svært at gennemskue, hvor mange mange ressourcer, der er behov for, men meget ofte vil det være muligt, at opgraderer dit webhotel, hvis du rammer toppen.

Det er dog vigtigt, ar du lige tænker lidt fremad – hvor meget trafik forventer du om et års tid? Og vil det være primært på samme tid eller udbredt over dagen?

Som udgangspunkt kan du sagtens kører et almindeligt WordPress site med omkring 20.000 unikke brugere pr. måned uden mere end 512 GB RAM og 1 CPU kerne.

Men er der tale om en shop, skal der ofte mere RAM til. Det afhænger dog også af hvilket cache system du får adgang til. (Litespeed kan klarer et større trafikload).

Vælg derfor ikke den billigste mulighed du falder over, men undersøg markedet grundigt o glæg mærke til, om det er muligt at opgraderer det webhotel du vælger (Hvis du ikke vælger en VPS)

Cache

Når en browser besøger et WP site, vil der blive genereret en HTML side ud fra .php kode og det er din server og database, som står for det job.

Cacher du dine sider, vil de ligge klar som HTML filer og kan dermed serveres direkte til browseren – det er langt hurtigere og derfor er cache noget af det, der påvirker hastigheden utroligt meget.

Des mere tryk du har af trafik, des vigtigere bliver cachesystemets opsætning.

Litespeed er uden tvivl det hurtigste du kan få fingre i, det ligger serverside og kræver naturligvis en server der understøtter litespeed. (Man kan med andre ord ikke ligge et litespeed plugin på en hvilken som helst server og opnå fordele)

Har du ikke adgang til en Litespeed server, er der muligheder som f.eks. Varnish og Memcache, der begge også er serverside caching, herudover er der et hav af cache plug-ins f.eks. WP supercache, W3 Total cache, WPRocket og Swiff performance m.v.

Udover server cache, kan du også anvende browser cache, hvor du beder brugerens browser om at cache f.eks. billeder, CSS, javascripts m.m.. i en bestemt periode.
Det vil give dem en bedre oplevelse næste gang de er forbi.

Hvor længe der skal caches defineres i din .htaccess fil og typisk vælges 30 dage.

De fleste hastighedsoptimerings plug-ins tilbyder både browser og server cache i ét samlet værktøj, hvor der tilrettes i din .htaccess fil, men du kan sagtens selv tilføje det manuelt.

Komprimering af billeder

Dine billeder vil meget ofte udgøre en forholdsvist stor del af den data, der skal downloades for at vise dit site.
Derfor er det meget vigtigt, at holde styr på billederne og kun ligge dem op i den helt rigtige størrelse.

Har du et topbanner der vises i 1600 x 500px, så skaler billedet til nøjagtigt den størrelse før du uploader det og sørg for det er i .jpeg sat til omkring 80 pct.

Selv om du både skalerer korrekt og vælger 80 pct kvalitet, vil der kunne hentes en smule mere med en komprimerings værktøj, der findes en hel del gode plug-ins til formålet f.eks. WPsmushIT eller Ewww, men også tools, hvor du bulk uploader, de kan være en fordel, hvis du har enormt mange billeder.

Er billederne komprimeret og skaleret, kan du opnår endnu en fordel ved at lazyloade dem, da de så først vises når brugeren scroller ned over siden.

Det giver en ”oplevet” hurtigere side.

CSS, Scripts og HTML

Alle dine filer er fyldt med diverse kommentarer og mellemrum fra da de blev programmeret, de er ikke nødvendige mere og derfor kan du fjerne dem og opnå mindre filer.

Særligt scripts udgør en stor del af de fleste setups mht. datamængde og derfor kan du vinde en hel del med komprimering og i mange tilfælge også opnå en bedre brugeroplevelse ved at hente dem efter ”over the fold” content på din side.

I tools som f.eks. WProcket og Swiff performance, kan du få styr på den del med få kliks og det virker overraskende fornuftige uden temabreak.

Der findes dog et hav af tools til opgaven, hvor få af dem ikke klarer opgaven helt så godt og efterlader dig med halvloaded CSS, der får siden til at se noget alternativ ud.

Men prøv dem af, du behøver ikke købe et plug-in til opgaven.

Eksterne kald

Benytter du f.eks. Google fonts på dit website, så vil browseren blive bedt om at hente de fonts ned du anvender ved besøg på dit website.
De bliver hente fra Googles server og det er dermed et såkaldt ”Eksternt kald”.

Eksterne kald kan sløve markant og bruger du et plug-in der kalder en server i f.eks. USA, kan det gå meget ud over hastigheden (F.eks. ved  brug af Hotjar).

Det gælder derfor om at minimere antallet f eksterne kald og forsøge at omgå dem, hvor det er muligt.

En særlig synder på det område, er Facebook likeboksen. Sådan en er jo meget fancy at have i f.eks. en sidebar, men for at lave den, ligger der masser af datakald til FB bag og det sløver helt enormt.

Slet den og lig et billede eller en knap ind i stedet og spar nemt omkring ½ sekund i loadtid – på hver underside.

Dine fonte kan du hoste lokalt og det samme gælder f.eks. Google Analytics, hvor et plug-in som f.eks. CAOs klarer den opgave i samarbejde med WP cronjob, der sørger for scriptet er opdateret hele tiden.

Andet der påvirker

De vigtigste elementer i en hastighedsoptimering finder du ovenfor, men der er naturligvis også mange andre faktorer, som kan være med til at give både hastighed og bedre brugeroplevelse.
Har du kunder fra mange lande rundt om i verden, vil f.eks. et CDN kunne bidrage betydeligt til oplevelsen.

Men også mere avanceret pilleri i din koder, kan give en hel del f.eks. kald fra din header.php, der på hver underside skal over i din database og læse hvad dit domænenavn er, det kan ret nemt ændres i koden.

Et andet område, der ofte overses, er rensning af databasen, der kan nemt findes hastighed på et ældre website med et hav af uopdaterede tabeller og transienter m.v,

Test hastigheden  korrekt

En afsluttende kommentar til dig, der er nybegynder inden for hastighedsoptimering, test korrekt og få lettere ved at gennemskue, hvor du kan finde hastighed i dit setup.
De bedste værktøjer til at teste hastigheden med, er dem der giver dig et overblik over hvilke elementer der loades og hvor længe de er om at blive det.

Et værktøj som f.eks. Webpagetest.org er et af de bedre, der giver dig et ”Vandfald” over dit siteload og mulighed for at se nærmere på hvert element.

Her bør du vælge en server tættest på dine primære brugere, har du kun brugere i Danmark, er den svenske server derfor oplagt.
Men husk også at vælg hvilken internetforbindelse, der skal simuleres f.eks. FIOS 20 mbit bredbånd med en Chrome browser.

Det vil give dit et godt udgangspunkt.

Værktøjet fra Google ”Pagespeed”, er som sådan ikke dårligt (den gamle version var), men det er bestemt ikke designet til at hjælpe WP brugere og viser derfor forslag til forbedringer der er meget generelle, der i WP er direkte overkill, at arbejde på.

Så test og fokuser på den rå hastighed, frem for at se dig blind på en score i et test tool.