Guide till en säkrare och snabbare WordPress-sida

Uppdaterat: Läs gärna vår nya och uppdaterade Guide till en snabbare WordPress-sida.

Härom veckan flyttade jag min personliga blogg, från WordPress.com till ett webbhotellskonto hos FS Data. Att våra servrar är snabba känner jag givetvis till sedan tidigare, men jag blev ändå glatt överraskad över de blixtsnabba laddningstiderna när jag optimerade min blogg ytterligare en aning.

Därför tänkte jag dela med mig av min erfarenhet från detta och visa hur man väldigt enkelt både kan optimera och säkra upp en WordPress-sida. Nedanstående guide fungerar till 100 % på ett vanligt webbhotellskonto hos oss (och förmodligen även hos andra webbhotell, om än att FS Data alltid är att föredra ;)).

Säkra upp WordPress

Vi börjar med det viktigaste först. WordPress är, i dess grundutförande, en rätt så säker lösning. Åtminstone så länge man håller WordPress och dess olika tillägg ordentligt uppdaterade. Utöver detta kan man vidta följande åtgärder:

  1. Använd inte admin-användaren

    Det första kontot som attackeras, om ett säkerhetshål upptäcks i WordPress, är kontot som heter admin. Använd ett annat namn och/eller inaktivera admin-kontot. Glöm för all del inte bort att använda ett klurigt lösenord till ditt WordPress-konto.

  2. Installera & aktivera tillägget Secure WordPress

    Bocka i samtliga alternativ i vänsterkolumnen på tilläggets konfigurationssida. Detta tillägg tar bl a bort versionsnumret i WordPress, nekar olämpliga anrop och döljer olika systemmeddelanden för icke-administratörer.

  3. Installera & aktivera tillägget Mail on Update

    Med detta tillägg får man ett e-postmeddelande när det finns en uppdatering tillgänglig för ett installerat tillägg.

  4. Installera & aktivera tillägget Upgrade Notification by Email

    Med detta tillägg får man ett e-postmeddelande så snart det finns en uppdaterad version av WordPress.

  5. Flytta upp wp-config.php

    OBS: Gör detta först när du är klar med nedanstående optimering. Flytta filen wp-config.php, som ligger i roten för din WordPress-sida, en nivå upp (t ex från /u1234567/www/ till /u1234567/).

Optimera WordPress

Det finns många sätt att optimera, eller snabba upp, WordPress. Förutom att välja ett snabbare webbhotell så finns det ett antal olika tillägg och konfigurationer som kan förbättra laddningshastigheten avsevärt. Utöver det kan man även använda externa lösningar, såsom Memcache och APC, men det är lite utanför den här guidens omfattning.

  1. Analysera hastigheten på sidan

    Innan vi installerar och konfigurerar något så ska vi analysera hastigheten på sidan. Det ger oss möjlighet att se hur snabb/långsam sidan är från början och hur optimeringen påverkar detta. Öppna en ny flik i din webbläsare, där du surfar till GT Metrix och analyserar din hemsida.

    Låt sedan denna flik vara kvar, medan du återgår till WordPress administrationsgränssnitt.

  2. Installera & aktivera WP Super Cache

    I grund och botten handlar WordPress-optimering om att leverera statiska, istället för de dynamiska, sidor (som kräver databasanrop osv). Detta löser man enklast med ett cache-tillägg och det finns ett antal sådana lösningar. Jag använder främst WP Super Cache, då det är ett tillägg med bra historik och aktiv utveckling.

    I inställningarna för WP Super Cache, börja med att gå in under fliken Avancerat. Där bockar du i “Använd mod_rewrite …” och “Komprimera sidor …”. Längre ner på sidan, under rubriken “Utgångstid & upprensning” anger du 604800. Klicka sedan på knappen “Uppdatera status”. Du kan även behöva klicka på knappen “Uppdatera Mod_rewrite Reglerna” när sidan har laddats om.

  3. Installera & aktivera tillägget WP Smush.it

    WP Smush.it använder Yahoo’s Smush.it-tjänst för att komprimera (minska) storleken på bloggens bilder. Alla nya bilder som laddas upp körs automatiskt genom denna tjänst och du kan köra igenom de tidigare uppladdade bilderna med en funktion som du hittar i vänstermenyn, under “Media” > “Bulk Smush.it”. Det kan ta en stund, så ta gärna en kopp kaffe under tiden.

  4. Installera & aktivera tillägget WP Optimize

    Detta är ett tillägg som optimerar din WordPress-databas, t ex genom att ta bort onödiga revisioner av inlägg. När det är aktiverat så kan du optimera din databas direkt i vänstermenyn, under det nya alternativet “WP-Optimize”. Personligen bockade jag i samtliga alternativ för min optimering.

  5. Minska (och validera) CSS-filerna

    CSS-filerna, som styr utseendet på din WordPress-sida, är många gånger onödigt stora. Det är dock enkelt att ladda ner dem via FTP (de ligger vanligtvis under /wp-content/themes/temanamn/) och använda en tjänst såsom Clean CSS för att minska ner dem. Passa gärna på att köra dem genom CSS-valideraren hos W3C också.

  6. Installera & aktivera tillägget Scripts Gzip

    Med Scripts Gzip blir script och CSS-filer sammanslagna och komprimerade i Gzip. Detta kräver dock att webbservern har stöd för Gzip, vilket servrarna hos FS Data givetvis har.

  7. Installera & aktivera tillägget Use Google Libraries

    Med detta tillägg anropas ett antal script från Googles servrar, istället för den lokala servern. Många besökare har redan scripten från Google sparade på sina datorer, vilket avsevärt snabbar upp dem.

  8. Installera & aktivera tillägget Speedy Smilies

    Ett oväntat val av tillägg kanske, men faktum är att WordPress egna smilies inte alltid definieras rätt vad det gäller höjd/bredd, vilket kan orsaka lite längre laddningstid. Speedy Smilies är en snabbare och bättre smiley-hantering helt enkelt.

  9. Uppdatera analysen av hemsidan

    Minns du den där fliken med GT Metrix? Återgå till den och kör en ny analys, via länken “Re-Test Page”. Om allt har gått rätt till så bör du nu se en tydlig förbättring av hastigheten på din hemsida. Klicka gärna på de olika alternativen som visas i resultatet för förslag om ytterligare förbättringar.

Några avslutande tankar

Med ovanstående säkerställning och optimering lyckades jag uppnå 98 % (av 100 %) med min personliga blogg i Google Page Speed. Men allt handlar inte bara om att ha en så snabb hemsida som möjligt.

För ökad delaktighet med mina läsare så installerade jag några tillägg som drog ned hastigheten en aning, såsom kommentarstillägget Disqus och delningstillägget AddThis (som dock är det snabbaste av ett stort antal testade delningstillägg).

En bra idé, när man installerar tillägg i WordPress, är att analysera sin hemsida före och efter installationen. Om man märker att hastigheten minskar avsevärt, då kanske det finns bättre tillägg? Fundera gärna även på om tillägget tillför ett tillräckligt stort värde också.

Det är förövrigt väldigt bra att radera, inte bara inaktivera, tillägg som inte används. Både av säkerhets- och optimeringsskäl. Och ja, det gäller även de förinstallerade tilläggen. Detsamma gäller likaså för teman.

Har du några fler tips vad det gäller att säkra och optimera WordPress? Lämna gärna en kommentar om det!

You Might Also Like
26 Comments
  • Lisa (sjubarnsmamma)
    says:

    Jag följde denna lista och det slutade med att jag fick upp //storage/content/33/190233/sjubarnsmamma.se/public_html/wp-admin/includes/update.php

    Nu kommer jag inte in någonstans på min sida. Hur gör jag? Vad har hänt?

    • sulo
      says:

      Det ordnar du antingen via WordPress adminpanel (under Teman > Installerade Teman, välj tema att ta bort och under Välj åtgärd, välj Radera och klicka på knappen Utför) eller genom att ta bort mappen för temat via FTP, under /wp-content/themes/.

  • BeRKA
    says:

    Vilket/Vilka seo-plugin rekommenerar ni?

    Jag skulle minst vilja kunna ändra i title taggen, ha automatiska och manuella metataggar, peka ut diverse iconer och skapa sitemap för google.

  • Jakob
    says:

    Tack för en bra guide. Jag har några kommentarer bara till denna:
    1. Varför ska man flytta upp wp-config.php? Är inte den skyddad hos er? Och om den flyttas kommer jag få problem med att installera nya wp tillägg då? (eller vad är anledningen till att detta ska göras efter att alla optimeringstillägg har installerats?)
    2. Jag installerade HTML Minify och den gjorde att min site inte gick att komma åt med felmeddelandet: “Fatal error: Unknown: Cannot use output buffering in output buffering display handlers in Unknown on line 0” Som tur var lyckades jag efter mycket jobb klura ut att de var detta tillägg som orsakade problemet. Observera att felet kvarstod trots att jag hade inaktiverat tillägget WP super chache. Hur som helst så det kanske inte är så klokt att rekommendera detta tillägg när det inte funkar på er hosting…

    • sulo
      says:

      Tack för din kommentar Jakob, här är våra svar:

      1. Alla filer som ligger i www-mappen (och därunder) är skriv- och läsbara genom webbservern. Det är inget fel med det, utan så det faktiskt behöver vara för att en hemsida ska fungera ordentligt. Genom att flytta upp wp-config.php så skyddar man denna fil från oönskad åtkomst om någon t ex hackar hemsidan. Man får inga problem med att installera WP-tillägg (eller någonting annat) om man gör detta.

      2. Denna guide har snart ett år på nacken och det kan finnas saker här som inte längre gäller/fungerar. Det är så med öppen källkod och externa lösningar, att vi inte kan garantera att allt fungerar för all framtid. Men vi kommer att se över denna guide och uppdatera den här inom kort. Tack för att du noterade detta!

  • Håkan Nordling
    says:

    Bra tips! =)

    Optimerade tidigare i år en wordpress sajt till att stabilt ladda på 0,4 – 0,7 sekunder.
    Precis alla best practice regler gäller dock inte alltid rakt av, i just det fallet blev tex renderingstiden sämmre om man använde komprimering på redan avskalade element, storleken man vinner till nerladdningen förlorar man på klientsidans tid upp-packning. Detta gäller dock enbart när man har extremt små objekt…

    Finns även bra information kring generell laddtidsoptimering på http://code.google.com/speed/page-speed/docs/rules_intro.html och http://developer.yahoo.com/performance/rules.html

    Andra verktyg som kan rekomenderas är
    Firebug+PageSpeed för Firefox (pagespeed finns även för chrome)
    YSlow – liknande som pagespeed
    HTTP Watch för att analysera anrop (finns för IE och FF)

    Bra böcker inom ämnet:
    High Performance Web Sites: Essential Knowledge for Front-End Engineer by Steve Souders
    Even Faster Web Sites: Performance Best Practices for Web Developers by Steve Souders
    Complete Web Monitoring 1st (first) edition Text Only by Alistair Croll

  • Magnus Thörnblad
    says:

    angående att säkra upp WordPress ytterligare så kan jag tipsa om den här Slide:n http://www.slideshare.net/williamsba/now-thatswhaticallsecurity2010 som bland annat tar upp hur du flyttar wp-content katalogen (samtidigt som den tar upp mycket av det du redan tagit upp)

  • Jonathan Gabor
    says:

    Toppen inlägg! Det tar inte många minuter att dra igenom den här listan och få en märkbart snabbare och säkrare WordPress-blogg, som både sparar trafik och kan hantera fler besökare samtidigt.

    Personligen föredrar jag W3 Total Cache framför WP Super Cache, eftersom den ensam kan sköta flera av dessa tilläggs uppgifter. På så vis kan jag hålla nere antalet installerade tillägg.

    W3TC sköter både sid- och databas-cache samt minifiering och komprimering av CSS- och JS-filer. Den avancerade användaren, som till exempel kör på en VPS, kan utnyttja memcached och Varnish via W3TC för ännu snabbare cachning samt styra livslängd för cachning av statiska filer genom att kontrollera headers för expires, ETag, Cache-Control, m.m.

    • Anonym
      says:

      Tack! Ja, jag har testat men inte fastnat för W3 TC. Du får helt enkelt skriva ett blogginlägg om storheten med W3 TC när du börjar hos oss. 😉

Lämna ett svar