Langsom WooCommerce - Del 1

Er din Woocommerce Webshop ved at blive langsom?

WordPress og især WordPress med WooCommerce bliver langsom med tiden. Uanset om du lige har installeret det eller har brugt det i mange år. Så er der ting du bør have i tankerne når du vedligeholder og arbejder med din woocommerce hjemmeside. For langsom bliver den hvis ikke du har taget højde for en række ting

hurtigere woocommerce del1

Benytter du WooCommerce ligesom rigtig mange andre med en wordpress hjemmeside gør? så har du helt sikkert oplevet at din woocommerce hjemmeside bliver langsom. Og selv hvis du lige har installeret WooCommerce, så vil du også opleve at den bliver langsom med tiden. Det kan være mens du arbejder med shoppen, det kan også være på et senere tidspunkt når der kommer gang i salget og din WordPress / WooCommerce rigtig bliver brugt. Fælles er dog, tænker du dig ikke om og tager du ikke højde for det. Vil det ramme dig når det virkelig gælder og salget vil falde.

Hvad gør din woocommerce langsom?

Der er som sagt flere grunde til at din WooCommerce Webshop er eller bliver langsom. Når man kender til de forskellige dele som gør den langsom, er det også nemmere at rette det og gøre så din WooCommerce bliver hurtigere.

Man kan dele optimeringen op i forskellige dele

  • WordPress optimering
  • Database optimering
  • Plugin optimering (Andre end Woo plugin)
  • Woocommerce optimering
  • Ordre optimering
  • Tema optimering
  • Hastighedsplugins

Alle dele har både backend og frontend optimeringer der skal tages hånd om. Hvorfor det reelt er en ret stor ting at optimerer på.

Kan man ikke bare bruge et plugin til hastighedsoptimering?

Jo det kan man da, men så når du bare ikke lige så dybt og lige så langt med din hastighedsoptimering som du ellers ville kunne. At benytte plugins er med undtagelse af nogle få, er det sidste man skal gøre. Det skal du fordi hastighedsplugins skjuler de problematikker der er, især når man har med en webshop at gøre.

Faktisk kan det tilsidesættes med XML sitemaps inden for SEO verdenen. Kaster du bare et XML sitemap op til google så de kan finde dine sider, så kan du heller ikke på en nem måde se om du har problemer med din interne linkstruktur.

Når man optimere en webshop, så skal man få siden til at køre hurtigt uden brug af hastighedsplugins som fx optimere minify, sammenlægning, blokerende elementer etc. Du kan sagtens og skal faktisk også installerer et plugin til komprimering af billeder, og det skal du faktisk også gøre hvis du er ved at opsætte en ny woocommerce webshop. Og caching er også en god ide så længe du ved hvordan du tester uden om cachen – Men alt andet, vent med det til du har optimeret den reelle hastighed på din webshop.

WordPress loadoptimering

Når du starter din optimering af en woocommerce shop skal du lige starte med wordpress, og med det mener jeg at selvom wordpress i sig selv ikke er langsom, så har den nogle standardindstillinger som kan gøre den langsom, og som måske ikke er lige så godt for din hjemmeside som det er for andre sider.

Optimering af billeder

Det er vigtigt at få optimeret sine billeder sådan at de fylder mindst muligt og brugeren får hentet billederne fra hjemmesiden så hurtigt som muligt.

Der er flere måder at gøre det på, men den nemmeste er nok at installerer et plugin til det formål. Også her findes der mange som kan gøre det. Hos kim-tetzlaff.dk bruges Imagify. Men der findes mange forskellige også gratis udgaver.

Indstillinger i wordpress config.php

WordPress er sat op til en masse standarder, hvor de fleste jo er sat sådan fordi det er sådan de fleste vil have det. Men det er ikke det samme som at det er godt eller at det er noget du har brug for.

Revisioner

Der er nogle ting du i din WP config bør bestemme dig for. fx gemmer wordpress som standard på revisioner i uendeligt antal. Dette bør du enten slå fra eller kun beholde maks 3. For store sites er det nemlig en ting der fylder i databasen og gør læsninger langsommere.

Åben wp-config.php og indsæt en af disse to koder:

define('WP_POST_REVISIONS', false); //Definerer at revisioner skal slås fra
define('WP_POST_REVISIONS', 3); // Definerer at der kun skal være 3 revisioner

Sæt autosave til et højere interval

Det er smart at WordPress kan gemme ting for en, men der er ingen grund til at den gør det så ofte som den gør, hvert minut. Sæt den i stedet til fx 300 (5 minutter), så vil den autosave hvert 5 minut. Er du derimod ligeglad med autosave, og hellere selv vil gemme dit arbejde, så sæt den til noget der er endnu højere, fx 3600 for 3600 sekunder og dermed 1 time.

Hvorfor er det en god ide? jo det er det fordi der skrives data til databasen hver gang, det belaster serveren. Og især hvis flere sidder og redigerer og ændre på ting på hjemmesiden, så kan dette altså ganges op med det antal som sidder og redigerer på siden. Jo mindre man kan belaste jo bedre er det.

Åben wp-config.php og indsæt denne kode:

define( 'AUTOSAVE_INTERVAL', 3600); // For kun at autosave hver time

Billedbehandling i wordpress

Der er mulighed for i wordpress at redigerer sine billeder, det er selvfølgelig smart at man kan klippe dem og lave ting med dem. Men det der sker er at der skabes en kopi ud over originalen for hver gang du laver en redigering af dette billede. Og det skaber altså både flere filer, men også flere poster i databasen.

Du kan komme udenom og kun beholde originalen samt den seneste kopi, ved at indsætte denne kode:

define( 'IMAGE_EDIT_OVERWRITE', true ); // Fjerner andre kopier

Det vil dog være bedst slet ikke at bruge denne funktion, og i stedet lave billedet korrekt fra start, i den størrelse det skal bruges i sit største format på hjemmesiden.

Husk også at bruge et billedkomprimeringsplugin som fx Imagify. Det komprimerer billeder med op imod 80% så der er meget at spare netop her også.

RAM forbrug og optimering af dette

Reelt behøver du ikke gøre noget ved denne, medmindre du oplever at RAM bliver brugt op og oplever fejl i denne forbindelse. som fx “Allowed memory ….. exhausted”. Det sker sjældent, og faktisk kun på store sites, dårligt kodede sites, eller sites som netop ikke er optimeret. Du kan dog få en lille forbedring i nogle tilfælde ved at PHP gerne må bruge flere ram end standarden er sat til. Og hvis du oplever problemer, så kan en forhøjning af disse gøre så du igen kan se hvor problemet ligger.

define( 'WP_MEMORY_LIMIT', '128M' ); // Sætter den til 128MB i frontend
define( 'WP_MAX_MEMORY_LIMIT', '256M' ); // Sætter den til 256MB i admin

Aktiver Debug loggen

Når du arbejder med hastighedsoptimering og generelt optimering af kode, så er det altid en god ide at aktiverer debug loggen i wordpress. Så vil du både være i stand til at teste om de ting du laver har fejl, men også se om det der allerede er, har fejl. Er der fejl i form af mindre fejl, er det en god ide at få rettet disse, da alle fejl reelt er noget der findes bedre versioner af i nyere versioner af fxc PHP, WordPress, WooCommerce etc.

Jeg aktiverer det altid på denne måde:

// Aktiver debug i wordpress
define( 'WP_DEBUG', true );
// Aktiver at der logges til fil, standard i wp-content/debug.log
define( 'WP_DEBUG_LOG', true );
// Fjern synlige fejl fra at blive vist på hjemmesiden
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
// Brug udviklingsudgaver af core JS og CSS
define( 'SCRIPT_DEBUG', false);

Husk at sætte WP_DEBUG til false når du er færdig med dit arbejde, der er ingen grund til at du bare fylder serveren og laver skrivninger til en fil. Den kan blive stor, især hvis der er mange logbeskeder. Husk at serveren ofte også holder på en PHP error log. Når du ikke debugger, så slet den fil via FTP.

Deaktiver CRON jobs i wordpress

// Deaktiverer WP Cron
define( 'DISABLE_WP_CRON', true );

Når du indsætter denne i wp-config.php filen, så husk at aktiverer det via serveren i stedet for. Lad den køre hver time ca. Hvordan dette gøres kan du se hos den enkelte webhost, men det er typisk rimelig nemt. Du skal bare huske urlen:

https://dit-domæne.dk/wp-cron.php?doing_wp_cron

Oplever du at der er ting som ikke bliver gjort på den rette tid. Det kan fx være hvis du bruger det at gemme indlæg der bliver publiceret på et tidspunkt i fremtiden. Så kan du sætte den til hvert kvarter. Men der bør ikke være den store grund til at du køre denne hele tiden.

Del 2 må du få at læse en anden dag.

Skriv en kommentar

Måske du også vil læse disse indlæg

Ja, jeg har også skrevet andre indlæg som måske kunne have din interesse