Shopware prestatiegids voor professionals

08.09.2020
door Meike Müller
Shopware
Banner

In deze Shopware Performance Guide willen we u tips geven die we hebben ontdekt door jaren te werken met Shopware en talloze projecten. We hebben deze tips nog nergens kunnen vinden, maar we willen ze graag aan u presenteren, omdat ze u veel werk en moeite kunnen besparen in het dagelijks leven. Eerst bespreken we echter kort tips die al bekend zijn op internet, maar die je misschien nog niet bent tegengekomen. Zo heb je alle Shopware performance optimalisatie tips op één plek en kun je eindelijk de snelheid van je online shop verbeteren.

Wat je kunt verwachten
  1. Algemene performance tips uit de Shopware wereld
  2. Performance tips voor ervaren shop eigenaren en ontwikkelaars
    1. Deactiveer HTML minifier voor grote shops
    2. Hoge server belasting met actieve openbasedir
    3. Shop monitoring met Tideways
    4. Aanpassen pagespeed
    5. AMP (versnelde mobiele pagina's)
    6. Elasticsearch
    7. Redis-cache

Leestijd 4 min

Algemene performance tips die al bekend zijn in de Shopware wereld

Hier zijn een paar tips die al bekend zijn als je op zoek bent naar Shopware performance tips. Natuurlijk moet je deze tips ook opvolgen om de prestaties van je webwinkel snel te verbeteren. Als deze tips en trucs nog geen bevredigend resultaat opleveren, vindt u verderop in het artikel onze Shopware performance tips voor professionals. De implementatie van de afzonderlijke punten is soms technologisch veeleisend, dus het kan zinvol zijn om contact op te nemen met een professioneel Shopware bureau.

Onze Shopware performance tips en trucs:

  • Upgrade PHP versie naar PHP7+: De snelheid van de online shop hangt altijd sterk af van de gebruikte PHP-versie. Zoek daarom altijd uit met welke nieuwe versie Shopware nu compatibel is. Bijvoorbeeld, een upgrade van PHP versie 7.0 naar 7.2 kan resulteren in snelheidsverbeteringen van 10 tot 15%.
  • Een krachtige webserver: Onze aanbevolen webserver voor Shopware is nginx. Dit komt omdat hoe meer bezoekers tegelijkertijd gebruik maken van uw Shopware webwinkel, hoe meer performance de webserver nodig heeft om alle aanvragen snel en gelijktijdig af te handelen.
  • Laatste Shopware versie: Voor een soepele functionaliteit en performance is het gebruik van de laatste Shopware versie natuurlijk verplicht.
  • Verhoog de HttpCache retentietijd: Door het verhogen van de HttpCache retentietijd instellingen in de backend, kunt u ook snellere laadtijden voor uw Shopware shop mogelijk maken.
  • Meer filters, minder categorieën: Voor betere laadtijden moet je je product listings op minder categorieën sorteren en des te meer filters opnemen, zodat je klanten toch de producten kunnen vinden die ze zoeken.
  • CSS- en JS-bestanden comprimeren: Hoe complexer je bestanden zijn, hoe langer het duurt voordat je shop geladen is voor de bezoekers. Daarom moet je de CSS- en JS-bestanden comprimeren.
  • Activeer cronjobs: In de basisinstellingen van de Shopware shop backend kun je cronjobs activeren voor search, SEO, top sellers en referral marketing.
  • Gecomprimeerde afbeeldingen: Voor een betere paginasnelheid moet je ook je afbeeldingen comprimeren. Een geschikt afbeeldingsformaat hiervoor is webp.
  • Gebruik van een content delivery network (CDN): Afhankelijk van hoeveel productafbeeldingen en andere afbeeldingen je in je webwinkel gebruikt, is het waarschijnlijk de moeite waard om een content delivery network te gebruiken. Dit verwijst naar een server die over een gedistribueerd netwerk beschikt en daardoor betrouwbaar en snel beeldaanvragen of algemene gegevensaanvragen kan verwerken. Doordat een lokale server meestal altijd actief is voor de gebruiker, zijn de laadtijden erg kort.
  • Gegevensvolumes comprimeren met de GZIP-module: Een andere maatregel is het gebruik van de GZIP-module op je webserver. U kunt deze eenvoudig activeren om grote hoeveelheden gegevens te comprimeren en de Shopware Shop prestaties nog meer te verbeteren.
  • Een CacheWarmUp voor de Shopware Shop: Met speciale plugins voor uw Shopware webwinkel kunt u uw cache elke nacht "opwarmen". Dit heeft als effect dat uw shop nog net zo snel reageert als wanneer de shop al bezocht is nadat de cache is gewist.

Shopware performance tips voor ervaren winkeleigenaren en ontwikkelaars

Nu komen we bij de Shopware performance tips en trucs die geschikt zijn voor professionals. Als je een ervaren Shopware ontwikkelaar of shop eigenaar bent, dan zullen deze adviezen je helpen om je performance te verbeteren en tijd te besparen die je niet hoeft te besteden aan het piekeren. In de afgelopen jaren hebben we veel geleerd over performance doordat we intensief hebben gewerkt met verschillende Shopware webwinkels. We willen onze kennis nu graag met je delen:

HTML-minifiers uitschakelen voor grote shops

Via Tideways hadden we de mogelijkheid om extreem trage paginaweergaven van webwinkels met Shopware 5 te identificeren. De oorzaak was een probleem met de "nieuwe" HTML minifier van Shopware. Zoals sommige forum gebruikers ook in het Shopware forum beschrijven, wordt er een regex gebruikt die in bepaalde constellaties extreem imperformant blijkt te zijn. Gelukkig heeft Shopware nu zo gereageerd dat de functie, die in de backend te vinden is onder Performance > Settings > General > Miscellaneous, sinds 5.6.7 standaard inactief is.

  • Oplossing A: Prestaties > Instellingen > Algemeen > Diversen -> HTML compressie activeren -> nee
  • Oplossing B: Vervang de regex functie volgens de tips in het Shopware Forum. Klik hier voor het artikel.

Hoge serverbelasting met actieve openbaseidr

Er zijn nu enkele meldingen dat de prestaties verminderd zijn op systemen met open_basedir geactiveerd. We hebben ook kunnen aantonen door metingen met Tideways in een aantal van onze shops dat 50% van de laadtijden (TTFB) alleen gebruikt wordt voor bestands-I/O. En dat voor standaard aanroepen op het gebied van bestandsoperaties zoals file_exists(). Dit komt door een bug in PHP.

We hebben hiervoor twee oplossingen kunnen vinden:

Shopmonitoring met Tideways

Tideways is een tool voor het monitoren, profileren en volgen in PHP. Het analyseert server-side PHP-processen en kan zowel afzonderlijke pagina's als uw hele online winkel analyseren.

Tideways is voor ons een onmisbare tool geworden om ervoor te zorgen dat onze shops altijd snel draaien. Tideways informeert u automatisch over fouten die optreden in de shop (die u waarschijnlijk niet eens opmerkt, maar uw klanten wel), over trage pagina's in uw shop en over downtime. Profilering en tracering is uiterst nuttig voor technici bij het isoleren van de probleemgebieden en minimaliseert de tijd tussen het optreden en oplossen van een probleem.

Hebt u hulp nodig bij het instellen of gebruiken van Tideways? Neem gerust contact met ons op.

Mod pagespeed

mod_pagespeed is een gratis tool ontwikkeld door Google om de bruikbaarheid en prestaties van websites voor mobiele en desktopapplicaties automatisch te optimaliseren. De open-source module past automatisch best practices toe voor webprestaties en bijbehorende aspecten zoals CSS, JavaScript en afbeeldingen, zonder dat u zelf hoeft in te grijpen en bestaande content of workflows hoeft te wijzigen.

Mod PageSpeed is gebaseerd op de PageSpeed Optimisation Libraries, die door bekende hosting- en CDN-providers zoals GoDaddy, EdgeCast en DreamHost op meer dan 100.000 websites worden aangeboden. Er zijn momenteel 40 optimalisatiefilters beschikbaar, zoals optimalisatie en resizing van afbeeldingen, minimalisatie en inlining van CSS en JavaScript, cache-uitbreiding, domain sharding, domain rewriting - de optimalisatieopties hier zijn veelomvattend.

Een goede host zal je voorzien van een configuratie die al is geoptimaliseerd voor Shopware.

AMP (versnelde mobiele pagina's)

AMP, of Accelerated Mobile Pages, is een tool die is ontstaan uit een samenwerking tussen Google en Twitter. AMP is ook een open source project en is ontworpen om je te helpen je mobiele content en websites te optimaliseren, sneller te maken en zo een betere gebruikerservaring te creëren. AMP opent een pagina in twee stappen - direct na het klikken zijn de delen van de website zichtbaar die belangrijk zijn voor de gebruiker, waarna de rest van de pagina ongemerkt wordt geladen. Dit houdt de hoeveelheid gegevens in het begin laag en verbetert de laadtijd van de website op het mobiele apparaat. Aangezien studies van Google aantonen dat het bouncepercentage van gebruikers tot 58% stijgt als het laden van een website te lang duurt, is AMP de perfecte tool om dit te voorkomen en je pageviews te verbeteren.

Er zijn al kant-en-klare plugins beschikbaar in de Shopware Store.

Elasticsearch

Elasticsearch is perfect voor webwinkels met een uitgebreid assortiment van enkele duizenden artikelen. Zoekopdrachten op klassieke MySQL-databases kunnen hier erg traag worden, wat de gebruikerservaring aanzienlijk vermindert en dus wordt weerspiegeld in de conversie. Zelfs met miljoenen artikelen of een hoog bezoekersvolume is een zoekopdracht via ES meestal extreem snel en schaalbaar.

Maar wat is Elasticsearch precies? Het is een zoekmachine die is gebaseerd op de Apache Lucene programmabibliotheek en documenten opslaat zodat ze snel en gemakkelijk doorzocht kunnen worden. De documenten zijn de kleinste eenheid van het systeem. Elk document wordt aan het begin geïndexeerd. ElasticSearch splitst de index vervolgens op in verschillende shards, die op hun beurt weer worden verdeeld over verschillende servers (nodes). Hierdoor wordt de computerbelasting verdeeld over verschillende systemen en kan het uitvallen van individuele servers eenvoudig worden overbrugd. De bovengenoemde index komt overeen met een klassieke SQL-tabel en het document met een tabelrij. De Elasticsearch-software is geschreven in Java en gebruikt het JSON-gegevensformaat (JavaScript Object Notation) om documenten op te slaan.

Als u meer wilt weten over Elasticsearch en Shopware, kunt u meer informatie vinden in de Shopware Docs.

Redis-cache

Redis kenmerkt zich door zeer eenvoudige gegevensopslag in de vorm van een extreem efficiënte key value store. Niet alleen grote online shops moeten zich altijd richten op maximale prestaties. Redis biedt stabiliteit, schaalbaarheid en de nodige performance.

In Shopware online shops kunnen de applicatiecache en een extra modelcache met betere prestaties beschikbaar worden gemaakt met Redis. Sessies kunnen ook worden opgeslagen in Redis, wat heel logisch is omdat ze anders relatief inefficiënt worden opgeslagen in de MySQL database. De installatie kan heel eenvoudig worden uitgevoerd via config.php. Veel gevestigde hosters bieden geschikte hosting inclusief Redis.

Je merkt al snel dat de onderwerpen niet eenvoudig te implementeren zijn, zelfs niet voor ervaren ontwikkelaars. Het team van het EXWE Shopware agentschap helpt u graag met alle vragen over e-commerce en vergroot het succes van uw bedrijf met gerichte ondersteuning.

* Bron: https://bugs.php.net/bug.php?id=77406

Wat is je project? Als je ons erover wilt vertellen, bellen we je terug!

 
Meike
Meike
from 08.09.2020

Hallo, mijn naam is Meike. I take care of the EXWE back office and am responsible for our social media channels. All of our articles are meant to make your life easier and help you make decisions. Nevertheless, it can happen that something remains unclear, so: Als je vragen hebt over dit artikel kun je me makkelijk bereiken op +49 231 93149827.

Je wilt altijd voorop blijven lopen met technologie Mis geen nieuws en blogberichten meer.
We hebben ook de volgende interessante berichten van onze tech blog voor je over dit onderwerp
Shopware tip: Track all of your store's shopping cart activities with ga Analytics

Use our Shopware tip and track all your shopping cart activities with ga Analytics to learn more about buyer behavior in your online store!

How do I convert my store system to Shopware 6?

Would you like to carry out a Shopware 6 migration? We'll show you what to look out for and how to make the move a success.

Our HubSpot plugin - hand in hand with Shopware

Use our Shopware plugin between Shopware and the Hubspot universe now and benefit from simple and bundled data collection!