Er din hjemmeside også for langsom?

Langsom WordPress

Rigtig mange døjer med en langsom WordPress hjemmeside, og dette er der flere årsager til. Selvom WordPress kan virke langsomt, er det ikke fordi WordPress i sig selv er langsomt. Sagt på en anden måde, så er WordPress løsningen i udgangspunktet ikke langsomt, den reelle fejl ligger derfor et andet sted, selvom WordPress altid kan forbedres. Dermed ikke sagt at der ikke er plads til hastighedsforbedringer i wordpress.

Hvad går så galt med hastigheden?

Jo i de fleste tilfælde når jeg ser en langsom wordpress hjemmeside, er det typisk alle de plugins man installerer, samt det tema man benytter sig af. De er alt for tit programmeret dårligt og med den eneste tanke at det skal være nemt at programmere og nemt for en WordPress bruger at bruge. Og det er samtidig med at der ingen tanke er på om det de nu bygger, er ordentligt eller ikke. inden jeg fordyber mig i den store verden af plugins og temaer, så skal det siges at der selvfølgelig altid plads til forbedringer i selve wordpress og den måde de tænker på.

Det generelle problem

Ja der er et generelt problem, og det er at de fleste wordpress udviklere, inklusiv dem der udvikler wordpress, ikke tester deres løsninger på små servere, som de fleste jo køber sig til når de skal have en hjemmeside. Og yderligere har de ikke rigtig tænkt sig om hvad angår databasestruktur, inkludering af css og JS filer og mange andre småting, som tilsammen gør at systemerne køre dårligt efter noget tid, og man bliver som WordPress bruger nød til enten at programmere nogle elementer om, eller flytte til en større server, hvilket de fleste vælger da det er nemmest. Men det betyder jo ikke at det er rigtigst.

Hvor tænker WordPress sig ikke om

Et eksempel er at WordPress gemmer på en helt del ”Revisions” altså udgaver af sider og indlæg. Dette gør de i samme tabel som de indlæg, sider og attachments der er offentliggjort og ikke offentliggjort på hjemmesiden. Ja du læste rigtigt, det er rigtig mange ting de gemmer i samme tabel, og som du kan se nedenfor, har de ikke tænkt sig helt om der, dette er hvad der gemmes:

  • Sider (1 pr side)
    • Revisions (xxx pr side)
    • Autosave (1 pr side)
  • Attachments
    • Revisions (xxx pr attachment)
    • Autosave (1 pr attachment)
  • Indlæg
    • Revisions (xxx pr indlæg)
    • Autosave (1 pr indlæg)

Attachments er de mediefiler man har oploadet til serveren, det vil sige billeder, PDF, Word, videoer mf. som du har oploadet, dette gemmes i en tabel, hvilket ikke er unormalt, men de gemmes jo i samme tabel som alt andet, og er der selvom de ikke er indsat i nogen indlæg.

For at skitserer det lidt, sad jeg for ikke mange dage siden og skulle udvikle en hjemmeside i WordPress, og inden hjemmesiden var helt færdig med indhold mm. Altså klar til offentliggørelse, var der allerede kommet over 500 rækker i tabellen for indlæg, sider og attachments, og det var nu engang på en hjemmeside som kun havde 6 sider. Var det optimeret, ville der kun have været 6 rækker i tabellen.

Det er dårligt fordi antallet af rækker jo vil blive betydeligt større med tiden, og reelt fylde tabellen op med skrammel efter min mening. Jo flere rækker der er, jo langsommere bliver det at finde frem til den rette data når en side efterspørges. Og det er rent faktisk også det der blandt andet er med til at gøre en wordpress hjemmeside langsom.

Man kan på sin vis sige, at revisions og autosave jo reelt ikke er til for den besøgende, men til for administrator, hvilket også kunne antyde at de to ting ikke bør blive blandet sammen som de i dag gør i WordPress. De burde faktisk, og ja WordPress Teamet må meget gerne lytte med, gøre det sådan at revisions, kladder og autosave er i en tabel, mens de offentliggjorte er i en anden tabel. Og yderligere bør attachments ikke være en del af den tabel.

Kan man gøre noget ved det?

Ja man kan godt gøre noget ved lidt af problemerne i ovenstående:

  • åben wp-config.php og skriv: define(‘WP_POST_REVISIONS’, false);
    det gør så der ikke bliver lavet revisions
  • installer ”wp optimize” og slet alt, samt optimer databasen.
  • Yderligere, slet de Medier du har i mediebiblioteket som du ikke har vedhæftet nogen sider eller indlæg, eller andre elementer på hjemmesiden.

Husk selvfølgelig altid at tage backup af databasen, før du gør ovenstående på et live site.

Problemet med WordPress Plugins og temaer

Rigtig mange plugins og temaer har det problem at de simpelthen ikke er testet ordentligt igennem, og udvikler har gået for lidt op i hvordan det de har lavet performer. Et eksempel kan være at der i utrolig mange temaer og plugins for den sags skyld, er stor mulighed for at justere forskellige parametre, det kan fx være farver, størrelser mm.

Disse rettelser gemmes i databasen, for så via en PHP fil blive skrevet ud som en fiktiv css fil. Det vil sige at i stedet for at det er en reel statisk css fil brugeren skal hente, er det en dynamisk php fil, som agerer en css fil, og som brugeren oven i købet skal hente på ny næsten hver gang de ser på en side. Og det er fordi PHP filer på de fleste servere ikke bliver cached i ret lang tid ude hos brugeren, typisk hvad der svare til et kvarter.

Hvorfor, tænker jeg, er det ikke lige at de har gjort det sådan at de bare skriver en css fil når administrator laver nogle ændringer i temaet/pluginet (hvilket typisk ikke sker ret tit), det er nogle få linjer kode mere der skal skrives, for at dette kan lade sig gøre, og det giver så meget bedre performance og loadtid at det slet ikke kan betale sig ikke at gøre. Det virker for mig vildt underligt at de ikke gør det der er bedst for dem selv og dem der skal benytte sig af temaet/pluginet, frem for det der er nemmest for dem selv.

Ovenstående er bare et eksempel ud af mange, og det sjove er at det er jo typisk er ret brugte plugins og temaer der ligger inde med lignende fejl.

Afslutning

Læser du ovenstående som WordPress Udvikler, skal du tænke over hvordan du bygger plugins, temaer og funktioner til WordPress. Det er nemlig ikke helt så nemt som det måske kan virke, hvis det altså skal laves ordentligt. Ting du bør have med i dine tanker er, hastighed, og at det du laver skal fungerer godt på små servere og mange brugere. Keep it Simple. Der er nemlig stort set ikke noget du ikke kan lave som samtidig også fungerer godt på små servere, der er selvfølgelig undtagelser, men der er langt imellem dem.

Det betyder ikke at du er en af dem der ikke tænker sig om, men problemet er jo med så mange andre Open Source løsninger, at der er mange udviklere som gerne vil levere et plugin, et tema eller en anden funktion til omverdenen. Både for at få navn ud, men også fordi der er ting de selv savner. Og det vil til hver en tid være sådan at disse udviklere er på vidt forskellige stadier hvad angår viden, men samtidig også vidt forskellige mangler de prøver at afdække. Fælles er dog typisk, at de kun tænker hvordan når jeg målet, frem for at tænke hvordan når jeg målet på den bedste måde.

Er du WordPress ejer og har en langsom WordPress hjemmeside, så prøv at gøre ovenstående først. Og gå derefter temaer og plugins igennem for at se om de har fejl, for det har de typisk. Kan du stadig ikke få din wordpress hjemmeside hurtigere, så læs her om hastighedsoptimering.

Skriv en kommentar

Målet er kvalitet

Det er mit mål at levere kvalitetsløsninger med høj fokus på hastighed og teknisk seo. Uanset om der er tale om små eller store løsninger, vil fokus altid være på hastighed og teknisk seo.