Terug naar Inzichten
    Performance8 min2025-06-10

    Je Shopify Webshop Draait Waarschijnlijk Nog Code van Apps Die Je 6 Maanden Geleden Hebt Verwijderd

    Vorig jaar namen we een beslissing die alles veranderde aan hoe we werken. We stopten met “ontwikkelaars die Shopify doen” en gingen volledig voor het worden van een gespecialiseerd Shopify engineering bureau.

    Dat betekende onze eigen apps bouwen vanaf nul. Geen white-label. Geen forks. Helemaal vanaf nul.

    Ik wil delen wat we geleerd hebben, want als je een technische ecommerce manager op Shopify bent, kan dit herkenbaar zijn, vooral als je je ooit hebt afgevraagd waarom een trage Shopify webshop door apps blijft optreden, zelfs nadat je ze verwijdert.

    Het Probleem Waar Niemand Over Praat

    Dit is de vuile waarheid over het Shopify-ecosysteem: wanneer je een app verwijdert, ruimt die niet achter zichzelf op. Die upsell-widget die je twee weken in maart hebt uitgeprobeerd? De JavaScript laadt nog steeds op elke pagina. Die split-testing app die je tijdens Black Friday hebt gebruikt? Leidt nog steeds verkeer om. Die valutaomrekener die je hebt vervangen? Injecteert nog steeds CSS in je DOM.

    Wij noemen het Shopify ghost code, en het is de #1 reden waarom veel merchants trage Shopify theme performance ervaren zonder te begrijpen waarom.

    Wanneer we webshops auditen voordat we custom oplossingen bouwen, vinden we regelmatig 8–12 verweesd scripts van apps die maanden geleden zijn verwijderd, soms jaren geleden. Elk maakt een verzoek, elk blokkeert rendering, elk draagt bij aan Shopify LCP-problemen die je Core Web Vitals scores verlagen.

    En het ergste: Shopify’s app-verwijderingsproces trekt direct de toegang in, zodat de app niet eens kan opruimen als die zou willen. Met andere woorden, een goede Shopify app uninstall cleanup gebeurt niet automatisch, de code blijft gewoon staan.

    Dit is het soort probleem dat je alleen ziet als je dagelijks diep in de code zit. Niet als je alleen maar apps installeert vanuit de store.

    Waarom Wij Anders Bouwen

    Toen we onze eerste app bouwden, Hotshop/Outfit Gallery, een interactieve productgalerij met shoppable hotspots, waren we geobsedeerd door twee dingen:

    1. Nul residu bij verwijdering. Onze apps gebruiken uitsluitend Shopify’s Theme App Extensions. Geen Liquid snippets geïnjecteerd in je theme.liquid. Geen achtergebleven bestanden. Geen ghost scripts. Wanneer je de-installeert, verdwijnt de code. Volledig. Dit voorkomt het typische probleem van een trage Shopify webshop door apps. Het is het tegenovergestelde van hoe de meeste apps werken, maar het is hoe alle apps zouden moeten werken.

    2. Chirurgische data-opvraging met GraphQL. Shopify ging all-in op GraphQL en maakte het verplicht voor alle nieuwe apps sinds april 2025. Maar er is een groot verschil tussen “GraphQL gebruiken” en het goed gebruiken. De meeste apps halen te veel data op omdat developers queries kopiëren uit de documentatie zonder na te denken over wat ze werkelijk nodig hebben. Wij schrijven queries die precies de benodigde velden opvragen, niets meer. Het resultaat: minder API-calls, kleinere payloads en apps die je rate limits respecteren.

    Ter context: een slecht geschreven GraphQL-query die productdata ophaalt kan 50+ velden per product retourneren terwijl je er maar 6 nodig hebt. Vermenigvuldig dat met honderden producten en je hebt een echt performance-probleem, wat bijdraagt aan dezelfde trage Shopify theme performance waar je tegen vecht.

    Waar Technische Ecom Managers Echt Mee Worstelen

    Na een jaar fulltime op Shopify bouwen en dagelijks met merchants en ecommerce teams praten, zijn dit de echte pijnpunten die ik steeds weer zie:

    Theme performance degradatie in de loop der tijd. Webshops lanceren snel en accumuleren dan geleidelijk technische schuld. App-residu, overbodige JS-bibliotheken, verouderde pixels, CSS-bloat van quick-fixes, alles optellend tot Shopify LCP-problemen en trage paginalading. Tegen de tijd dat iemand het merkt, is de snelheidsscore gedaald van 80 naar 40 en niemand kan precies aanwijzen waarom.

    De GraphQL-migratiekloof. Shopify heeft REST voor nieuwe apps afgeschaft, maar het ecosysteem loopt nog achter. Apps gebouwd op legacy REST-endpoints kunnen de nieuwe limiet van 2.000+ varianten per product niet aan. Als je op Shopify Plus zit en je apps zijn niet gemigreerd, ga je tegen muren aanlopen, en Shopify zal je merchants vertellen dat het de schuld van de app is, niet die van hen.

    Geen zichtbaarheid in wat apps daadwerkelijk doen met je theme. Je installeert een app, die injecteert code. Je de-installeert hem, de code blijft. Er is geen dashboard, geen audit trail, geen manier om te zien wat er draait tenzij je handmatig door theme.liquid en elk snippet-bestand graaft. Voor een technische ecom manager met 15–20 apps is dit een nachtmerrie, en een hoofdoorzaak van Shopify ghost code.

    Inconsistenties in conversie-tracking. Elke analytics-app trackt sessies anders. Cookie-gebaseerd, fingerprint-gebaseerd, server-side, ze geven allemaal verschillende cijfers. Wanneer je CEO vraagt waarom Shopify Analytics iets anders zegt dan je app, heb je geen goed antwoord.

    Wat We Hierna Bouwen

    Na het opleveren van de gallery-app gingen we direct door met CRO Navigator, een conversie-optimalisatietool die analytics anders benadert.

    In plaats van alleen cijfers te tonen, vergelijkt het je funnel met branchebenchmarks en vertelt je precies waar je geld verliest. Niet “je bounce rate is hoog,” maar: “Je add-to-cart ratio ligt 23% onder de benchmark voor je niche, en het oplossen van deze ene stap zou €X per maand opleveren.”

    De tracking is sessie-gebaseerd en anoniem. Geen cookies. Volledig GDPR-compliant by design, niet als een bijzaak. En de theme extension laadt onder 2KB, want een analytics-tool die Shopify LCP-problemen veroorzaakt zou een contradictie zijn.

    Wat 10x Beter Er Echt Uitziet

    We hebben veel nagedacht over wat het betekent om dit 10x beter te doen dan andere spelers in de Shopify app-ruimte. Het gaat niet om features. Elke app heeft features. Het komt neer op drie dingen:

    1. Performance als feature. We testen onze apps tegen Shopify Core Web Vitals vóór indiening. INP onder 200ms. TTFB geoptimaliseerd. CLS geminimaliseerd. We zorgen ervoor dat onze tools performance verbeteren in plaats van toe te voegen aan de stapel code die trage Shopify theme performance veroorzaakt.

    2. Schone architectuur, schone verwijdering. Alleen Theme App Extensions. Geen legacy Liquid-injecties. Wanneer een merchant onze app verwijdert, keert hun webshop terug naar de exacte vorige staat. Geen Shopify ghost code, geen 404s van ontbrekende bestanden.

    3. GraphQL-native vanaf dag één. Niet gemigreerd van REST. Geen GraphQL als wrapper rond REST-patronen. Native gebouwd met efficiënte queries, correcte paginering en respect voor rate limits. Dit betekent dat onze apps goed samenwerken met andere, ze slokken je API-budget van je webshop niet op.

    Het Grotere Plaatje

    We zijn een team gevestigd in Duhok, Koerdistan Regio van Irak. We maakten een bewuste keuze om te specialiseren in plaats van te generaliseren. Om diep in Shopify’s architectuur te duiken in plaats van ons te verspreiden over platforms.

    Die specialisatie betekent dat we dingen begrijpen zoals: waarom je TTFB 1,9 seconden is (spoiler: database-queries), waarom je CLS fluctueert (reserveer ruimte voor dynamische content), waarom die willekeurige app je add-to-cart knop op mobiel brak (event listener conflicten), en waarom je theme vandaag trager is dan zes maanden geleden (ja, ghost code).

    We proberen niet het grootste bureau te zijn. We proberen het bureau te zijn dat technische ecommerce managers vertrouwen wanneer de performance van hun webshop op het spel staat, en ze mensen nodig hebben die echt begrijpen wat er onder de motorkap gebeurt.

    Veelgestelde Vragen

    Wat is Shopify ghost code?

    Ghost code is achtergebleven JavaScript, CSS en Liquid-snippets die in je Shopify theme blijven staan nadat je een app hebt verwijderd. Omdat Shopify’s verwijderingsproces de app-toegang direct intrekt, kan de app zijn eigen code niet opruimen. Deze verweesde scripts blijven laden op elke pagina en vertragen je webshop.

    Hoe vind ik ghost code in mijn Shopify webshop?

    Je moet handmatig je theme.liquid-bestand en alle snippet-bestanden inspecteren op verwijzingen naar apps die je al hebt verwijderd. Zoek naar script-tags, link-tags en Liquid includes die verwijzen naar app-namen of domeinen die je niet meer gebruikt. Een Shopify performance audit kan deze verweesde scripts ook identificeren.

    Waarom wordt mijn Shopify webshop langzamer in de loop der tijd?

    De meest voorkomende reden is opgehoopte technische schuld van app-residu (ghost code), overbodige JavaScript-bibliotheken, verouderde tracking-pixels en CSS-bloat van quick-fixes. Elk draagt bij aan hogere LCP-scores en tragere Core Web Vitals, waardoor de performance geleidelijk verslechtert zonder één duidelijke oorzaak.

    Wat zijn Shopify Theme App Extensions?

    Theme App Extensions zijn Shopify’s moderne manier voor apps om functionaliteit toe te voegen aan je webshop. In tegenstelling tot legacy Liquid-injecties worden Theme App Extensions volledig beheerd door Shopify, wanneer je een app verwijdert die ze gebruikt, wordt alle code automatisch verwijderd. Dit elimineert ghost code volledig.

    Conclusie

    Als iets hiervan resoneerde, of als je worstelt met Shopify ghost code, app uninstall cleanup of onverklaarbare performance-problemen, dan maken we graag contact.

    Dit is het werk dat we elke dag doen.

    CONTACT

    Repareer je shop. Boek nu een gratis kennismakingsgesprek!