Optimera WordPress Laddar hastighet Med header.php & .htaccess

Webbplatshastigheten spelar mycket roll för varje blogg / hemsida, särskilt för personer med delad hosting - vilket är den billigaste tillgängliga webbtjänsten. Här är några .htaccess och header.php tricks för att öka din hemsida laddningshastighet med 50-70%


Webbprestanda blir allt mer uppmärksamhet från webbutvecklare och är en av de hetaste ämnena i webbutveckling. Först och främst är lasthastighet mer än en funktion. Hastighet är den viktigaste funktionen. Om din webbplats eller blogg är långsam, kommer folk inte att använda den.

Vilken hastighet betyder för internetgiganter:

  • För Google - 500 millisekunder extra belastningstid orsakade 20% färre sökningar
  • För Yahoo - 400 millisekunder extra belastningstid orsakade en 5-9% ökning av antalet personer som klickade "tillbaka" innan sidan till och med laddades
  • För Amazon - 100 millisekunder extra belastningstid resulterade i en försäljningsminskning med 1%

Google, i sin pågående satsning på att göra webben snabbare, bloggade att "vi har bestämt oss för att ta hänsyn till webbplatshastigheten i våra sökrankningar."

Så en långsammare webbplats kommer även att minska din sökmotor ranking också.

Således belastar lasthastigheten mycket. CDN (Content Delivery System) är ganska bra för detta ändamål, men i begränsad utsträckning, och bra CDN-leverantörer är lite kostsamma.

Den goda nyheten är att några av de viktigaste hastighetsoptimeringarna enkelt kan utföras med enkla .htaccess tricks. Dessa kan göra att någon webbplats laddas snabbare genom att komprimera innehåll och möjliggöra webbläsarens caching och följa de bästa metoderna för att påskynda din webbplats från Yahoo! S exceptionella prestationslag och kostar inte en cent.


Steg 1 Gzip-filkomprimering

Komprimering minskar svarstiderna genom att minska storleken på HTTP-svaret.

Det är värt att gzipa dina HTML-dokument, skript och stylesheets. I själva verket är det värt att komprimera ett textsvar inklusive XML och JSON.

Bild- och PDF-filer ska inte gzipped eftersom de redan är komprimerade. Försöker att gzip dem inte bara avfall CPU men kan potentiellt öka filstorlekar.

Filkomprimering sparar också en viss mängd bandbredd.

Med .htaccess

  • För Apache-servrar

    mod_pagespeed är en Apache-modul som utvecklats av Google och dess kommandoradirektiv kan användas precis som andra moduler.

    För närvarande stöder bara GoDaddy och DreamHost mod_pagespeed modul, så om du är värd med dem, kopiera och klistra in följande kod till din .htaccess fil:

      ModPagespeed på # med kommandon, filter mm 

    Många av er kanske värd med andra webbhotell som inte stöder mod_pagespeed modul.

    Du kan använda mod_deflate modulen (Apache 1.3x används mod_gzip men sedan Apache 2x mod_deflate är använd)

      AddOutputFilterByType DEFLATE text / html text / plain text / xml ansökan / xml application / xhtml + xml text / css text / javascript ansökan / javascript application / x-javascript 
  • För Nginx-servrar

    Om du är värd på en Nginx webbserver kopiera följande till din .htaccess för att aktivera gzip-komprimering.

     server gzip on; gzip_types text / html text / css application / x-javascript text / vanlig text / xml bild / x-icon; 

Med header.php

Om din server inte stöder mod_deflate eller mod_gzip du kan använda detta PHP-skript för gzip-komprimering som fungerar på både Apache och Nginx

Kopiera bara detta till ditt tema header.php

 

Nedan är stapeldiagrammet som visar min webbplatss lasthastighet utan och med gzip-komprimering.


Steg 2 Inaktivera ETags

ETags (Entity Tags) är en mekanism som webbservrar och webbläsare använder för att avgöra om komponenten i webbläsarens cache matchar den ursprungliga servern. Etags läggs till för att tillhandahålla en mekanism för att validera enheter som är mer flexibla än datumet för senaste ändring. En ETag är en sträng som unikt identifierar en specifik version av en komponent. Begränsningarna av detta format är att strängen är citerad. Ursprungsservern anger komponentens ETag med hjälp av ETag-svarhuvudet.

För att inaktivera ETags, klistra in det här i din .htaccess fil

 Header avstängt ETag FileETag None

Steg 3 Använd Browser Caching

Med webbläsarkachning instruerar vi explicit webbläsare att hänga på specifika filer under en viss tidsperiod. När filen behövs igen ska webbläsaren dra från sin lokala cache istället för att begära den från servern igen.

Att köra en webbplats utan att cache på plats ger så mycket mening att du kör till butiken för ett glas vatten varje gång du är törstig. Det är inte bara opraktiskt och kortsiktigt, det tar mer arbete!

Browserkachning är verkligen användbar för att få återvändande användare; dvs det kan bygga lojala, permanenta besökare åt dig och sparar också mycket av din bandbredd.

En första gången besökare på din sida kommer att göra flera HTTP-förfrågningar för att ladda ner alla dina webbplatsens filer, men med hjälp av rubrikerna Expires och Cache-Control gör du de här filerna cacheable. Detta undviker onödiga HTTP-förfrågningar på efterföljande sidvisningar.

  • För Apache-servrar

    Apache möjliggör genom mod_expires och mod_headers moduler.

    De mod_expires modulen styr inställningen för HTTP-header Expires och det högsta åldersdirektivet för HTTP-huvudet i Cache-Control i serverns svar. För att ändra Cache-Control-direktiven annat än maximal ålder kan du använda mod_headers modul.

    De mod_headers modulen ger riktlinjer för att styra och modifiera HTTP-förfrågan och svarhuvuden. Headers kan slås samman, ersättas eller tas bort.

    Lägg till dessa regler i .htaccess för inställning Utgår rubriker:

     # BEGIN Expire headers  ExpiresByType image / jpeg "access plus 2592000 sekunder" ExpiresByType image / png "access plus 2592000 sekunder" ExpiresByType image / gif "access plus 2592000 sekunder ExpiresByType bild / x-ikonet" access plus 2592000 sekunder " ExpiresByType-applikation / x-shockwave-flash "access plus 2592000 sekunder" ExpiresByType text / css "access plus 604800 sekunder" ExpiresByType text / javascript "access plus 216000 sekunder" ExpiresByType applikation / javascript "access plus 216000 sekunder" ExpiresByType application / javascript "access plus 216000 sekunder" ExpiresByType text / html "access plus 600 sekunder" ExpiresByType application / xhtml + xml "access plus 600 seconds"  # END Utgå rubriker

    .htaccess regler för inställning av cache-control header:

     # BEGIN Cache-Control Headers   Header-uppsättning Cache-Control "public"   Header-uppsättning Cache-Control "public"   Header set Cache-Control "privat"   Header-uppsättning Cache-Control "privat, måste-revalidera"   # END Cache-Control Headers

    Notera:

    1. Det finns inget behov av att ställa in max-ålder Direktivet med Cache-Control-rubriken eftersom det redan är inställt av mod_expires modul.
    2. måste-återge giltighet betyder att när ett svar blir gammalt måste det förnyas det betyder inte att det måste kontrolleras varje gång.
  • För NGINX-servrar

    Korresponderande .htaccess Inställningarna i Nginx skulle se något ut så här:

    (Exemplet nedan skulle berätta för dina besökares webbläsare att hänga på HTML, CSS, Javascript, bilder och favicon i en timme)

     plats ~ * \. (jpg | png | gif | jpeg | css | js) $ utgår 1h; 

Steg 4 Minska MySQL-databasstorlek

Sedan WordPress 2.6, skickar WordPress automatiskt inlägg under skrivning som förblir även efter att posten sparas som revision i MySQL-databasen. Större databas skickar också platsens laddningstid högre. Jag föreslår att du tar bort revisionsfunktionen.

Klistra in följande till wp-config.php att inaktivera revisioner:

 definiera ('WP_POST_REVISIONS', false);

Om du väljer att behålla revisionsfunktionen på dig kan du också välja att hålla revisionerna i databasen under ett visst antal dagar, t.ex. 10 dagar.


Mer…

  1. Lägga till upphörande rubrik påverkar inte webbplatsens laddningstid för ett första besök, men du skulle bli förvånad över hur mycket sidlastningen minskas för nästa sidvisning / besök från en återkommande besökare.
  2. Spåra hur din webbplats gör på: visa att ladda upp antal frågor och tid.

    Klistra in följande kod efter upphovsrättstexten i ditt tema footer.php:

      frågor i  sekunder.

Vet du eller använder någon annan metod för att optimera laddningstiden för din blogg / hemsida? Glöm inte att dela dem genom att kommentera.