Virker Gzip ikke på din hjemmeside?

Hver gang en bruger ønsker at få adgang til din hjemmeside, foretager han/hun et opslag til din webserver med sin browser. Opslaget går i bund og grund ud på at indlæse sidens data, som omfatter din HTML, din CSS og alle de medier, du har på siden.

Jo større filer, der skal indlæses, jo længere tid tager det for siden at blive indlæst som helhed. Dette gælder også, selv om du indlæser indhold dovent eller asynkront; indholdet skal stadig indlæses. Du kan indlæse en side hurtigere ved at indlæse alt på én gang i stedet for alt på én gang, men du skal stadig nøjes med at sende filerne. Jo større filerne er, jo længere tid tager det at sende dem.

Det ideelle ville være at finde en måde at gøre filerne mindre på. Der er mange forskellige måder at gøre dette på.

F.eks. at komprimer billedfiler til lavere farvedybde eller lavere opløsning. Du behøver ikke at indlæse et billede på 1900×1080, hvis det kun skal vises som 950×540; Dette er med til at gøre kildefilen mindre, og derfor forbedre hjemmesides loadtid.
Alternativt kan du Smush-billeder. Et smush-plugin fjerner skjulte metadata fra dine billeder, fjerner farvevariationer, som det menneskelige øje ikke kan registrere, og som er ligegyldige for billedvisninger, og ændrer størrelsen på billederne, så de bliver mindre.
Minify HTML. Dette fjerner i princippet bare overflødige tegn og mellemrum, som gør HTML læsbart for mennesker, men som ikke gør nogen forskel for browsere.
Gør videofiler mindre, generelt ved at gøre dem mindre opløst. For den grundlæggende weboplevelse er det sjældent nødvendigt at gøre mere end 720p, og for mange formål er selv det overkill.
Oven i alt dette kan du dog aktivere Gzip-komprimering. Gzip er en form for zip-baseret komprimering, der blev udviklet i Unix-fællesskabet under GNU, hvorfra G’et kommer. Den bruger DEFLATE-algoritmen, som er ret teknisk, hvis du vil læse om den. Jeg finder det fascinerende, men erkender samtidig, at det ikke nødvendigvis er vigtigt at vide, hvordan komprimering fungerer, for at få den til at fungere.

Når det er installeret korrekt, kan det i høj grad gøre dit website hurtigere. Men hvad så hvis dette komprimering ikke fungere? Lad os finde ud af, hvordan hvorfor det ikke virker, og hvordan du aktiverer det.

Aktivering af Gzip-komprimering

Der er mange forskellige måder hvorpå du kan aktivere Gzip-komprimering på din webserver, og det afhænger helt af hvilken arkitektur din server benytter.

Hvis din server kører IIS, er det eneste, du behøver at gøre, at gå ind i dine konfigurationsindstillinger og aktivere komprimering. Serverens software klarer resten. Dog er der her i 2022 ikke mange servere som køre IIS til standard hjemmesider. Langt de fleste benytter enten Nginx eller Apache.

Hvis din webserver kører Apache, skal du typisk tilføje noget kode til din .htaccess-fil. I bund og grund skal du tilføje et outputkomprimeringsfilter til dine filer, og du skal bruge en individuel linje for hver filtype. Du kan læse mere om at bruge det overalt på nettet. Her er en diskussion om forskellene mellem mod_deflate og mod_gzip, begge former for komprimering du kan aktivere ved hjælp af .htaccess. Typisk kræver det at du har adgang til FTP for at kunne rediger din htaccess-fil.

Hvis du kører en serverarkitektur, hvor du ikke kan ændre din .htaccess-fil direkte, f.eks. når du bruger en hjemmesidebygger eller er på en shared server med begrænset rettighed, så kan du tilføje noget PHP-kode til dine HTML-filer. Dette er dog en smule mere besværligt.

Har du en Nginx server, så skal du typisk tage fat i din system administrator og få ham til at tilføje Gzip (og brotli) kompromering til din Nginx konfigureringsfil.

Hvad sker der når Gzip ikke virker?

Der er mange måder hvorpå Gzip kan fejle. Som du sikkert kan se af ovenstående metoder her over, så er der en masse speficik kode, som du skal tilføje til en eller anden fil på dit website.

Den allerførste ting du bør tjekke er, om din webhost overhoved understøtter Gzip-komprimering eller ej. Tro det eller ej, men der er nogle derude, som er ligeglade med komprimering eller sidens indlæsningshastighed, og som derfor ikke gider at have kompatibilitet for det. Kontakt din webhost for at se, om de tillader Gzip, og hvis de ikke gør det, må du lave den bedste komprimering, du kan, uden at bruge en automatisk komprimeringsprotokol. Overvej i dette tilfælde et CDN som cloudflare hvor du har mulighed for at tilføje Gzip eller brotli til visse typer af indhold.

Den anden ting du bør gøre er at kontrollere din kode for at se om den fungerer. Der kan være en syntaksfejl, et overset tegn eller bare misdannet kode, som ikke fungerer med din arkitektur. Der er snesevis af eksempler på kode til at tilføje til din .htaccess eller kode til PHP-komprimering, som du kan finde over hele nettet. Hvis en af dem ikke virker, så prøv en anden. Der er ingen grund til at kæmpe med at fejlfinde kode, hvis du bare kan erstatte den med noget, der har større sandsynlighed for at virke.

Det er også muligt, at du simpelthen ikke har adgang til de rigtige filer til at aktivere Gzip-komprimering, men at din webhost har det. Det kan være, at du skal kontakte dem og bare bede dem om at aktivere det. Det kan også være, at din kode ikke virker, fordi der allerede er en anden komprimeringsmetode aktiveret, og din kode er i konflikt med den eksisterende komprimering. Har du kontrolleret, om dine filer var komprimeret til at begynde med, eller har du bare antaget, at eftersom du ikke selv har slået det til, må det ikke eksistere, da du ikke selv har slået det til?

Hvis du vil teste, om Gzip-komprimering er aktiveret, kan du enten bruge et værktøj som Firebug til at undersøge de filer, du får fra dit websted, når du besøger det, eller du kan bruge et tredjepartswebsted som dette til at teste og se om Gzip (eller Brotli) virker for din hjemmeside. Det smarte ved denne hjemmeside er, at hvis din komprimering ikke er aktiveret, fortæller det dig, hvor meget størrelsen kunne reduceres, hvis du aktiverede den korrekt.

Der er to andre grunde til, at Gzip måske ikke virker på din hjemmeside. Den ene af dem er, at du tester den fra en forældet browser. Nogle browsere, især gamle versioner af Internet Explorer – håndterer ikke serveropkaldet korrekt. Du skal tage særligt hensyn, hvis du forventer, at folk bruger din hjemmeside fra en så gammel browser.

Hvorfor skulle folk bruge sådan en gammel browser? Desværre er gamle browsere ofte påkrævet i erhvervslivet, fordi gamle webapplikationer kræver gamle versioner af Java, som ikke fungerer i nyere browsere. Selv om folk helst ville foretrække at bruge rigtige moderne browsere, kan de nogle gange ikke gøre det. Betyder det så, at du skal imødekomme dem? Næppe, en stor del af disse mennesker bare klare sig med et langsommere internet, og forhåbentlig lægger det et større pres på dem for at opdatere.

Den anden grund til, at Gzip måske ikke virker, er, at du har ekstremt store filer på dit website. Ældre versioner af Gzip har en filstørrelsesgrænse på noget i retning af 2 GB. Alle filer, der er større end det, vil ikke blive komprimeret ved hjælp af Gzip-algoritmen. Det er dog at stole på de ældre algoritmer. Nyere versioner af Gzip fungerer med større filer, selv om det ofte kan tage lidt tid at komprimere dem og afkomprimere dem. Jo større en fil er, jo mindre nytter det at blive komprimeret, medmindre der er tale om ren tekst. Tekst komprimeres meget godt. Videoer komprimeres slet ikke godt. Hvis indholdet desuden allerede er komprimeret ved hjælp af en anden algoritme fra en anden kilde, vil det ikke give dig nogen fordel at komprimere det igen.

Du kan eksperimentere med andre komprimeringsalgoritmer, hvis du har lyst, men Gzip er stadig en af de mest benyttede, og den fungere rigtig godt.

Er du en af de mange som bruger en WordPress hjemmeside? Hvis du bruger en WordPress-installation, kan du sandsynligvis bruge .htaccess-metoden ovenfor uden problemer. Du kan dog også tage en genvej og bruge et af de mange plugins, der findes til netop dette formål. Her er nogle muligheder:

Tjek og aktiver GZIP-komprimering. Dette plugin er et værktøj, der sender din URL-adresse til det websted “check Gzip-komprimering”, som jeg nævnte ovenfor. Hvis komprimering allerede er aktiveret, gør det ikke andet. Hvis du ikke har komprimering aktiveret, fører den dig til en værktøjsmenu, hvor du kan klikke et par gange og aktivere den, uden at du skal rode med kode.


WP Fastest Cache

WordPress fungerer ved hjælp af PHP-filer og databaser til at generere sider i farten. Problemet med dette er, at det kræver, at serveren skal generere og rendere siderne, før de kan sendes, hvilket gør tingene langsommere, især hvis du har meget trafik. Dette plugin genererer siderne og cacher statiske versioner, hvilket fremskynder dit websted. Du kan derefter aktivere Gzip-komprimering i indstillingerne sammen med minifying af din HTML og CSS, kombinere filer og bruge browsercaching. Alt i alt er det en bredspektret hastighedsforøgelse for din hjemmeside.


WP Performance Score Booster

Dette plugin indstiller caching for sider, aktiverer Gzip og fjerner forespørgsler fra statiske ressourcer. Dette kan forårsage et par problemer, hvis du har en masse brugerdefineret udvikling på dit websted, så sørg for at sikkerhedskopiere enhver fil, som det kan ændre, før du kører det. Det er alt sammen designet til at gøre dit websted hurtigere, så det ser bedre ud på forskellige metrikudstedende websteder som Googles PageSpeed Insights, Pingdom og GTMetrix.


WPMU DEV’s Hummingbird

Denne gør stort set alle de samme ting som WP Fastest Cache. Hovedårsagen til at jeg opfører den på listen er, at det er et af de produkter, der er skabt af WPMU DEV, som producerer en masse meget gode WordPress-plugins. Det betyder, at det fungerer godt sammen med andre plugins, som de har skabt, og har god support. Jeg anbefaler at tjekke dem ud for stort set ethvert WordPress plugin behov.


GZip Ninja Speed Compression

Dette er en hurtig og nem måde at aktivere Gzip på Apache-installationer på. Det er alt, hvad det gør. Det bør fungere på stort set enhver grundlæggende WordPress-installation, så længe din server kører Apache. Det er dog ikke blevet opdateret i tre år, så forvent ikke support, hvis det ikke virker for dig.
Der er også andre muligheder, jeg har bare listet nogle af de bedste og letteste at bruge. Du er velkommen til selv at gennemse WordPress plugin-kataloget, hvis ingen af disse passer til dine behov.

Husk, at selvom komprimering sparer tid i form af overførselshastigheder, belaster det serverens ydeevne mere end det ville gøre ved at sende ukomprimeret indhold. Spørgsmålet, du skal stille dig selv, er derfor følgende: Mangler din server CPU-kraft, eller mangler dit publikum hastighed i webbrowseren? Hvis du opererer med en meget billig server, så er din hjemmeside måske bedre stillet ved ikke at bruge serverens Gzip funktion, men i stedet lade et CDN netværk som Cloudflare stå for den del. Det var lidt om hvad du kan gøre hvis Gzip ikke virker på din hjemmeside eller webshop. Som du kan se er det i mange tilfælde noget du relativt nemt selv kan ordne. Men i visse tilfælde vil det dog være nødvendigt at tage fat i din server administrator.