FS Data Blogg

Guide till en säkrare och snabbare WordPress-sida

Publicerat den 22 september, 2011 av Jonathan Sulo. Lagrat i Webbhotell

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.

    Till sist sÃ¥ aktiverar vi ”HTML Minify” under fliken Tillägg. Detta kräver en liten installation, som du hittar detaljerade instruktioner till här: WPSCMin Installation.

  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!

  • http://jgabor.se Jonathan Gabor

    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

      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. ;)

  • http://magnusthornblad.se Magnus Thörnblad

    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)

    • Anonym

      Ett jättebra länktips, det tackar vi för!

  • Pingback: Guide för WordPress pÃ¥ webbhotell | Jonathan Sulo

  • http://www.bjornsennbrink.se Björn Sennbrink

    Jag brukar köra WordPress lokalt, printa ut innehållet på en matrisskrivare, fotografera, scanna och publicera optimerade jpegs på statisk HTML-sida.

  • Carina (TotalBeauty)

    Speedy Smilies fungerar ju inte, installerade det och alla smileys försvann från bloggen :(

    • Carina (TotalBeauty)

      Glöm det… Hittade vart inställningarna hade gömt sig ;)

      • Carina (TotalBeauty)

        nop, fungerade inte alls… plockar bort den.

        • Anonym

          Kortkoderna för smileysarna är annorlunda med Speedy Smilies. Du kan dock infoga dem enkelt i ett blogginlägg om du använder det visuella läget (inte HTML-läget).

          • Carina (TotalBeauty)

            Ã…hhh tack! Det visste jag inte.

  • Pingback: Har din WordPress-blogg blivit hackad? | Webbhjälp

  • HÃ¥kan Nordling

    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

  • Pingback: Ladda Wordpress snabbare | WebbyrÃ¥ Viktor Bijlenga