Forbedre hastigheten på hjemmesiden med nettleserbufring

Hastigheten til en hjemmeside handler om hvor fort den blir lastet inn, med andre ord; hvor lenge brukeren må vente på å se og samhandle med innholdet på siden.

Det har selvfølgelig med brukervennlighet å gjøre, men det påvirker også plasseringen til hjemmesiden i Google og andre søkemotorer, både direkte og indirekte.

Direkte påvirkning kommer av at Google gir hjemmesiden en «score» basert på hvor kjapp den er.  Denne scoren kan du se på https://developers.google.com. Det er uvisst hvor mye denne scoren blir vektlagt, men det er nok trygt å anta at man i det minste bør unngå rød kategori (score lavere enn 65).

Indirekte påvirkning kommer av at besøkende kan forlate siden hvis den er for treg. Halvparten av besøkende forlater hjemmesiden dersom den bruker mer enn 3 sekunder på å lastes inn. Dette gir altså hjemmesiden en høyere «fluktfrekvens», noe som i tur blir brukt av Google til å avgjøre hvor høy plassering man får.

Et enkelt grep for en raskere hjemmeside

Den enkleste måten å forbedre hastigheten på hjemmesiden er å aktivere nettleserbufring (caching). Dette krever ingen inngående kunnskap om programmering, og man trenger ikke endre på hjemmesiden.

Disse grepene har også svært liten sjanse for å «rote til» hjemmesiden, slik som mange andre grep har en tendens til å gjøre.

Hvordan aktivere nettleserbufring

Dersom du har FTP tilgang til serveren som hoster hjemmesiden, trenger du bare se etter en fil med navn .htaccess i rotmappen til siden.

Husk på at om du sletter noen filer, eller gjør endringer kan hele hjemmesiden bli «ødelagt». Hvis du ikke har brukt FTP tidligere kan det være lurt å spørre leverandøren av webhotellet om hjelp.

Dette er koden som skal legges til i .htaccess filen:

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

Man kan selvfølgelig tilpasse koden etter hva som er mest naturlig for hjemmesiden, men man trenger forsåvidt ikke å tenke på hvor ofte ressursene (som javascript og CSS) endrer seg. Man kan sikre at besøkende alltid får siste versjon av slike ressurser ved å legge til versjonsnummer i adressen.

<link rel="stylesheet" href="/resources/styles.css?v=1.2" />
<script type="text/javascript" src="/resources/scripts.js?v=1.3"></script>

Dersom man gjør endringer i filen /resources/scripts.js så vil besøkende som har vært på siden ikke få disse endringene, ettersom denne ressursen allerede er bufret i nettleseren. Men hvis man endrer versjonen til 1.4, så vil nettleseren anse dette som en ny fil, og bufre den på nytt.

Man kan også velge å skrive noe annet enn versjonsnummer, filen blir bufret på nytt sålenge adressen er endret.

Overbufring

Dersom disse filene endres veldig ofte bør man derimot sette bufringen til en tilsvarende intervall. Hvis ikke vil besøkende bevare titalls, og kanskje hundretalls med utdaterte ressurser på datamaskinen sin. Dette har du kanskje også merket med din egen datamaskin.

Å bufre unødvendig mye ressurser blir et større og større problem ettersom hjemmesider inneholder flere og flere, og større og større ressursfiler, og de ønsker alle å være så raske som mulig.

Dette er spesielt et problem for mobiltelefoner, som ikke har plass til så mye, men har et dess større behov for raske hjemmesider. På grunn av dette har det blitt utviklet en ny hjemmeside-standard som kalles AMP (Accelerated Mobile Pages).