[{"data":1,"prerenderedAt":902},["ShallowReactive",2],{"/blog/how-to-remove-leftover-shopify-app-code-2026/":3,"/blog/how-to-remove-leftover-shopify-app-code-2026/-related":341,"/blog/how-to-remove-leftover-shopify-app-code-2026/-resources":886},{"id":4,"title":5,"author":6,"body":10,"category":321,"createdAt":322,"description":323,"extension":324,"location":325,"meta":326,"navigation":332,"ogImage":333,"path":334,"readingTime":335,"seo":336,"stem":337,"tags":338,"updatedAt":322,"url":339,"__hash__":340},"blog/blog/how-to-remove-leftover-shopify-app-code-2026.md","How to Remove Leftover App Code From a Shopify Theme (2026)",{"name":7,"social":8},"Simon Dziak",{"twitter":9},"@SzymonDziak",{"type":11,"value":12,"toc":301},"minimark",[13,21,35,40,43,94,97,101,110,114,117,121,127,171,177,183,187,217,221,224,228,237,241,249,255,259,264,267,271,277,281,284,288,294,298],[14,15,16,20],"p",{},[17,18,19],"strong",{},"Uninstalling a Shopify app does not always remove everything the app added to your theme, and what is left can still load scripts on every page."," The fix is manual but safe if you do it on a duplicate theme, one reference at a time, and test before you publish.",[14,22,23,24,29,30,34],{},"This guide shows how to find that code, remove it, and check the result. If you would rather hand it over, App369 does this as part of its fixed-price ",[25,26,28],"a",{"href":27},"/fixed-price/shopify-speed-optimization/","Shopify Speed & Checkout Tune-Up",". For the rest of the speed picture, see the ",[25,31,33],{"href":32},"/blog/shopify-speed-checklist-2026/","Shopify speed checklist",".",[36,37,39],"h2",{"id":38},"why-code-stays-behind","Why code stays behind",[14,41,42],{},"Apps can add things to a store in a few different ways, and they clean up differently:",[44,45,46,64,76],"ul",{},[47,48,49,52,53,59,60,34],"li",{},[17,50,51],{},"Theme app extensions."," Shopify's ",[25,54,58],{"href":55,"rel":56},"https://shopify.dev/docs/apps/build/online-store/theme-app-extensions",[57],"nofollow","theme app extension docs"," say apps built this way don't edit theme code. They add app blocks and app embeds that you manage in the theme editor. The docs I read do not spell out what happens to these on uninstall, so check the editor after removing an app instead of assuming. App embeds are listed under Theme settings > App embeds, and a disabled embed stays recorded in ",[61,62,63],"code",{},"settings_data.json",[47,65,66,69,70,75],{},[17,67,68],{},"Script tags."," A ",[25,71,74],{"href":72,"rel":73},"https://shopify.dev/docs/api/admin-graphql/latest/objects/ScriptTag",[57],"ScriptTag"," loads remote JavaScript on storefront pages. Shopify says script tags can only be used with vintage themes.",[47,77,78,81,82,85,86,89,90,93],{},[17,79,80],{},"Edits to theme files."," Shopify's help center notes that some apps inject code directly into your theme's code. Apps that did this, or snippets pasted in by hand or by a developer, are the usual source of leftovers: a ",[61,83,84],{},"\u003Cscript>"," in ",[61,87,88],{},"theme.liquid",", a snippet file, a stylesheet, or a ",[61,91,92],{},"{% render %}"," line inside a section.",[14,95,96],{},"Newer apps tend to use extensions, older ones tend to leave files behind. If your theme has been customized for years, expect a mix.",[36,98,100],{"id":99},"step-1-duplicate-the-theme-and-back-it-up","Step 1: Duplicate the theme and back it up",[14,102,103,104,109],{},"Do not edit your live theme. In Online Store > Themes, duplicate it. Shopify's ",[25,105,108],{"href":106,"rel":107},"https://help.shopify.com/en/manual/online-store/themes/managing-themes/duplicate-theme",[57],"duplicate theme help page"," describes duplicating as making a backup copy of a theme you want to customize. Also download a copy of the theme files as a second backup. Then do all edits in the duplicate and preview it before publishing.",[36,111,113],{"id":112},"step-2-make-a-list-of-what-should-be-gone","Step 2: Make a list of what should be gone",[14,115,116],{},"Write down every app you uninstalled, plus the services they connected to, for example a reviews tool, a popup tool or a chat widget. Each app usually has a help page with uninstall instructions. Read it first. Some apps tell you exactly which snippets to delete.",[36,118,120],{"id":119},"step-3-find-the-leftovers","Step 3: Find the leftovers",[14,122,123,126],{},[17,124,125],{},"Search the code."," In the duplicate theme, open Edit code and use the search for each app's name and its company name. Check these places:",[44,128,129,142,149,159,165],{},[47,130,131,134,135,137,138,141],{},[61,132,133],{},"layout/theme.liquid",": script and link tags pointing at the vendor's domain, plus ",[61,136,92],{}," or ",[61,139,140],{},"{% include %}"," lines for app snippets.",[47,143,144,145,148],{},"The ",[61,146,147],{},"snippets"," folder: files named after the app.",[47,150,151,154,155,158],{},[61,152,153],{},"sections"," and ",[61,156,157],{},"templates",": render lines for those snippets.",[47,160,161,164],{},[61,162,163],{},"assets",": app-named JavaScript and CSS files.",[47,166,167,170],{},[61,168,169],{},"config/settings_data.json",": leftover app settings. Leave this file alone unless you are sure about what you are editing.",[14,172,173,176],{},[17,174,175],{},"Check the theme editor."," Open Customize, then Theme settings > App embeds, and look at the enabled ones. Also scan page sections for app blocks you no longer use.",[14,178,179,182],{},[17,180,181],{},"Use your browser as a witness."," Open your store in Chrome, open DevTools > Network, reload, and filter by \"JS\". Sort by domain. Any request to a domain belonging to an app you removed is a leftover loading from somewhere. Click the request and read its Initiator column, which points to the file that triggered it. Look at the Elements tab too: an element with an app's class name may still be on the page.",[36,184,186],{"id":185},"step-4-remove-it-carefully","Step 4: Remove it carefully",[44,188,189,199,205,211],{},[47,190,191,194,195,198],{},[17,192,193],{},"Remove the reference, then the file."," Deleting a snippet while a ",[61,196,197],{},"{% render 'snippet-name' %}"," still calls it can cause a Liquid error on the page. Delete the call first, save, preview the pages, then delete the unused snippet or asset.",[47,200,201,204],{},[17,202,203],{},"One change at a time."," Save and preview after each removal, so if something breaks you know which edit did it.",[47,206,207,210],{},[17,208,209],{},"Do not touch what you cannot identify."," Code that mentions your payment gateway, analytics, or theme itself might still be needed. If it is unclear, leave it and ask the app's support or your developer.",[47,212,213,216],{},[17,214,215],{},"Keep a log."," Write the file and line you changed. It makes rollback trivial.",[36,218,220],{"id":219},"step-5-test-before-publishing","Step 5: Test before publishing",[14,222,223],{},"On the duplicate, preview these pages on mobile: home, a collection, a product page, the cart, and the start of checkout. Test add to cart, any popup or widget you thought you removed, and your own forms. Look for missing images, layout jumps or console errors in DevTools. When all of it works, publish the duplicate yourself, and keep the old theme for a few days.",[36,225,227],{"id":226},"step-6-measure-before-and-after","Step 6: Measure before and after",[14,229,230,231,236],{},"Run ",[25,232,235],{"href":233,"rel":234},"https://pagespeed.web.dev/",[57],"PageSpeed Insights"," or Lighthouse in Chrome DevTools on the same URLs before and after, on mobile. Lighthouse results vary from run to run, so run each a few times and compare medians. Removing a leftover script often helps, but how much depends on the script and the page, so treat the result as something to measure, not to expect.",[36,238,240],{"id":239},"when-to-get-help","When to get help",[14,242,243,244,248],{},"To get the list of scripts quickly, paste your store's page source into the free ",[25,245,247],{"href":246},"/tools/shopify-app-script-checker/","Shopify app script checker",". It groups third-party hosts, ScriptTag apps and app embeds, and flags render-blocking scripts.",[14,250,251,252,254],{},"Leftover code is a manual job, and the risk is breaking something while you are hunting for it. If you do not want to edit theme files, App369's ",[25,253,28],{"href":27}," is $750 fixed price, delivered 5 business days after collaborator or staff access (Themes and Apps only) is granted. The work happens on a duplicate theme with a log of every edit, and you review and publish it yourself. No score or conversion lift is guaranteed. Simon builds and runs Workspace369, a production Flutter and Firebase SaaS, and brings the same measure-first approach to store work.",[36,256,258],{"id":257},"frequently-asked-questions","Frequently Asked Questions",[260,261,263],"h3",{"id":262},"does-uninstalling-a-shopify-app-remove-its-code-from-my-theme","Does uninstalling a Shopify app remove its code from my theme?",[14,265,266],{},"Not always. Apps built with theme app extensions don't edit theme code, but apps that injected code into theme files, or had snippets added by hand, can leave files and references behind. Check the theme code and the theme editor after uninstalling.",[260,268,270],{"id":269},"how-do-i-find-leftover-app-code-in-my-shopify-theme","How do I find leftover app code in my Shopify theme?",[14,272,273,274,276],{},"Duplicate the theme, search Edit code for the app's name and domain, check ",[61,275,88],{},", the snippets and assets folders, and the App embeds panel. Then use DevTools' Network tab to spot requests to the removed app's domain.",[260,278,280],{"id":279},"can-leftover-app-code-slow-down-my-shopify-store","Can leftover app code slow down my Shopify store?",[14,282,283],{},"It can, if it still loads scripts or styles on your pages. Measure with PageSpeed Insights before and after, and keep in mind the effect depends on the script.",[260,285,287],{"id":286},"is-it-safe-to-delete-snippets-in-my-shopify-theme","Is it safe to delete snippets in my Shopify theme?",[14,289,290,291,293],{},"It is safe if you work on a duplicate theme, remove the ",[61,292,92],{}," call before the snippet file, and preview afterwards. Keep a backup of the theme and a log of each edit.",[260,295,297],{"id":296},"how-do-i-check-for-leftover-code-after-uninstalling-an-app","How do I check for leftover code after uninstalling an app?",[14,299,300],{},"Reload your store with DevTools > Network open and look for requests to the app's domain, then search your theme code for the app's name. Also read the app's own uninstall instructions.",{"title":302,"searchDepth":303,"depth":303,"links":304},"",2,[305,306,307,308,309,310,311,312,313],{"id":38,"depth":303,"text":39},{"id":99,"depth":303,"text":100},{"id":112,"depth":303,"text":113},{"id":119,"depth":303,"text":120},{"id":185,"depth":303,"text":186},{"id":219,"depth":303,"text":220},{"id":226,"depth":303,"text":227},{"id":239,"depth":303,"text":240},{"id":257,"depth":303,"text":258,"children":314},[315,317,318,319,320],{"id":262,"depth":316,"text":263},3,{"id":269,"depth":316,"text":270},{"id":279,"depth":316,"text":280},{"id":286,"depth":316,"text":287},{"id":296,"depth":316,"text":297},"E-commerce","2026-10-12T18:00:00.000Z","Uninstalled a Shopify app but scripts still load? How to find leftover app code in your theme, remove it safely on a duplicate theme, and measure the result.","md","Boynton Beach, FL",{"readingTimeStats":327},{"text":328,"minutes":329,"time":330,"words":331},"6 min read",5.825,349500,1165,true,null,"/blog/how-to-remove-leftover-shopify-app-code-2026","7 min",{"title":5,"description":323},"blog/how-to-remove-leftover-shopify-app-code-2026","remove leftover shopify app code, shopify uninstalled app code, shopify theme cleanup, shopify slow after uninstalling app, shopify speed, theme.liquid","https://app369.com/blog/how-to-remove-leftover-shopify-app-code-2026/","__InX2403kUIOFgHn9nJo0A3u9IPAD4nKaZySBzRuIQ",[342,533],{"id":4,"title":5,"author":343,"body":345,"category":321,"createdAt":322,"description":323,"extension":324,"location":325,"meta":530,"navigation":332,"ogImage":333,"path":334,"readingTime":335,"seo":532,"stem":337,"tags":338,"updatedAt":322,"url":339,"__hash__":340},{"name":7,"social":344},{"twitter":9},{"type":11,"value":346,"toc":513},[347,351,357,359,361,389,391,393,398,400,402,404,408,436,440,444,446,466,468,470,472,477,479,483,487,489,491,493,495,499,501,503,505,509,511],[14,348,349,20],{},[17,350,19],{},[14,352,23,353,29,355,34],{},[25,354,28],{"href":27},[25,356,33],{"href":32},[36,358,39],{"id":38},[14,360,42],{},[44,362,363,372,379],{},[47,364,365,52,367,59,370,34],{},[17,366,51],{},[25,368,58],{"href":55,"rel":369},[57],[61,371,63],{},[47,373,374,69,376,75],{},[17,375,68],{},[25,377,74],{"href":72,"rel":378},[57],[47,380,381,81,383,85,385,89,387,93],{},[17,382,80],{},[61,384,84],{},[61,386,88],{},[61,388,92],{},[14,390,96],{},[36,392,100],{"id":99},[14,394,103,395,109],{},[25,396,108],{"href":106,"rel":397},[57],[36,399,113],{"id":112},[14,401,116],{},[36,403,120],{"id":119},[14,405,406,126],{},[17,407,125],{},[44,409,410,418,422,428,432],{},[47,411,412,134,414,137,416,141],{},[61,413,133],{},[61,415,92],{},[61,417,140],{},[47,419,144,420,148],{},[61,421,147],{},[47,423,424,154,426,158],{},[61,425,153],{},[61,427,157],{},[47,429,430,164],{},[61,431,163],{},[47,433,434,170],{},[61,435,169],{},[14,437,438,176],{},[17,439,175],{},[14,441,442,182],{},[17,443,181],{},[36,445,186],{"id":185},[44,447,448,454,458,462],{},[47,449,450,194,452,198],{},[17,451,193],{},[61,453,197],{},[47,455,456,204],{},[17,457,203],{},[47,459,460,210],{},[17,461,209],{},[47,463,464,216],{},[17,465,215],{},[36,467,220],{"id":219},[14,469,223],{},[36,471,227],{"id":226},[14,473,230,474,236],{},[25,475,235],{"href":233,"rel":476},[57],[36,478,240],{"id":239},[14,480,243,481,248],{},[25,482,247],{"href":246},[14,484,251,485,254],{},[25,486,28],{"href":27},[36,488,258],{"id":257},[260,490,263],{"id":262},[14,492,266],{},[260,494,270],{"id":269},[14,496,273,497,276],{},[61,498,88],{},[260,500,280],{"id":279},[14,502,283],{},[260,504,287],{"id":286},[14,506,290,507,293],{},[61,508,92],{},[260,510,297],{"id":296},[14,512,300],{},{"title":302,"searchDepth":303,"depth":303,"links":514},[515,516,517,518,519,520,521,522,523],{"id":38,"depth":303,"text":39},{"id":99,"depth":303,"text":100},{"id":112,"depth":303,"text":113},{"id":119,"depth":303,"text":120},{"id":185,"depth":303,"text":186},{"id":219,"depth":303,"text":220},{"id":226,"depth":303,"text":227},{"id":239,"depth":303,"text":240},{"id":257,"depth":303,"text":258,"children":524},[525,526,527,528,529],{"id":262,"depth":316,"text":263},{"id":269,"depth":316,"text":270},{"id":279,"depth":316,"text":280},{"id":286,"depth":316,"text":287},{"id":296,"depth":316,"text":297},{"readingTimeStats":531},{"text":328,"minutes":329,"time":330,"words":331},{"title":5,"description":323},{"id":534,"title":535,"author":536,"body":538,"category":321,"createdAt":872,"description":873,"extension":324,"location":325,"meta":874,"navigation":332,"ogImage":333,"path":879,"readingTime":880,"seo":881,"stem":882,"tags":883,"updatedAt":872,"url":884,"__hash__":885},"blog/blog/shopify-speed-checklist-2026.md","Shopify Speed Checklist: Faster Mobile Pages and Checkout (2026)",{"name":7,"social":537},{"twitter":9},{"type":11,"value":539,"toc":854},[540,546,554,558,561,575,584,640,644,647,692,696,702,716,721,725,740,744,753,757,760,764,767,793,796,800,803,805,817,819,823,826,830,833,837,840,844,847,851],[14,541,542,545],{},[17,543,544],{},"A slow Shopify store is rarely one big problem."," It is usually a pile of small ones: oversized images, code left behind by apps you uninstalled years ago, third-party scripts that block rendering, and a cart that makes shoppers work too hard. This checklist goes through them in the order that usually pays off, on mobile, where most shoppers are.",[14,547,548,549,553],{},"It is the same checklist App369 works through in its ",[25,550,552],{"href":551},"/fixed-price/#shopify-speed","fixed-price Shopify Speed & Checkout Tune-Up",". Every change below can be made on a duplicate theme and checked before you publish it.",[36,555,557],{"id":556},"step-1-measure-before-you-change-anything","Step 1: Measure before you change anything",[14,559,560],{},"Pick four URLs that matter: the home page, a busy collection, a best-selling product, and the cart. For each one:",[44,562,563,569,572],{},[47,564,230,565,568],{},[25,566,235],{"href":233,"rel":567},[57]," on mobile. If Google has enough real-user data for your store, the top of the report shows your Core Web Vitals from the Chrome UX Report. That field data is what Google uses; the Lighthouse score below it is a lab test.",[47,570,571],{},"Run Lighthouse three times and keep the median. Single runs vary a lot.",[47,573,574],{},"Write the numbers down. Without a baseline, you can't tell whether a change helped.",[14,576,577,578,583],{},"The three ",[25,579,582],{"href":580,"rel":581},"https://web.dev/articles/vitals",[57],"Core Web Vitals"," and their \"good\" thresholds are:",[585,586,587,603],"table",{},[588,589,590],"thead",{},[591,592,593,597,600],"tr",{},[594,595,596],"th",{},"Metric",[594,598,599],{},"What it measures",[594,601,602],{},"Good",[604,605,606,618,629],"tbody",{},[591,607,608,612,615],{},[609,610,611],"td",{},"Largest Contentful Paint (LCP)",[609,613,614],{},"How fast the main image or heading appears",[609,616,617],{},"2.5 s or less",[591,619,620,623,626],{},[609,621,622],{},"Interaction to Next Paint (INP)",[609,624,625],{},"How fast the page responds to taps",[609,627,628],{},"200 ms or less",[591,630,631,634,637],{},[609,632,633],{},"Cumulative Layout Shift (CLS)",[609,635,636],{},"How much the page jumps while loading",[609,638,639],{},"0.1 or less",[36,641,643],{"id":642},"step-2-images","Step 2: Images",[14,645,646],{},"Images are the most common cause of a slow LCP on Shopify.",[44,648,649,670,680,686],{},[47,650,651,654,655,658,659,662,663,154,666,669],{},[17,652,653],{},"Serve the right size."," Use Shopify's ",[61,656,657],{},"image_url"," filter with a width, and ",[61,660,661],{},"image_tag"," with ",[61,664,665],{},"widths",[61,667,668],{},"sizes",", so a phone downloads a phone-sized image instead of a 4,000-pixel original.",[47,671,672,675,676,679],{},[17,673,674],{},"Load the hero image first."," The main image above the fold should not be lazy-loaded. Give it ",[61,677,678],{},"fetchpriority=\"high\""," so the browser fetches it early.",[47,681,682,685],{},[17,683,684],{},"Lazy-load everything below the fold."," Product grids, reviews and footer images can wait.",[47,687,688,691],{},[17,689,690],{},"Set width and height."," Images without dimensions push content around as they load, which hurts CLS.",[36,693,695],{"id":694},"step-3-leftover-app-code-and-third-party-scripts","Step 3: Leftover app code and third-party scripts",[14,697,698,699,701],{},"Uninstalling a Shopify app doesn't always remove what it added to your theme. Older apps often pasted snippets into ",[61,700,88],{}," or product templates, and those keep loading after the app is gone.",[44,703,704,707,710,713],{},[47,705,706],{},"Search the theme code for the names of apps you no longer use, and remove their snippets on the duplicate theme.",[47,708,709],{},"List every script that loads on the product page (the Network tab in Chrome DevTools shows them). For each one, ask whether it still earns its keep.",[47,711,712],{},"Load chat widgets, review carousels and pop-ups after the page is usable, not before.",[47,714,715],{},"Keep tracking pixels you rely on. Removing one breaks reporting, not just a script.",[14,717,718,719,34],{},"To list every third-party script your store loads, and see which block rendering, paste your page source into the free ",[25,720,247],{"href":246},[36,722,724],{"id":723},"step-4-fonts","Step 4: Fonts",[44,726,727,730,733],{},[47,728,729],{},"Use one or two font families, and only the weights you actually show.",[47,731,732],{},"Prefer fonts from Shopify's font library or system fonts; they load from Shopify's CDN.",[47,734,735,736,739],{},"Use ",[61,737,738],{},"font-display: swap"," so text appears immediately in a fallback font.",[36,741,743],{"id":742},"step-5-liquid-on-collection-and-product-pages","Step 5: Liquid on collection and product pages",[14,745,746,747,752],{},"Heavy Liquid slows the server's response before the browser even starts. The usual suspects are loops over every product in a large collection, nested loops over variants and metafields, and the same snippet rendered many times. Shopify's ",[25,748,751],{"href":749,"rel":750},"https://shopify.dev/docs/storefronts/themes/tools/theme-inspector",[57],"Theme Inspector for Chrome"," shows which Liquid takes the longest to render, so you can fix the slowest part first.",[36,754,756],{"id":755},"step-6-layout-shift","Step 6: Layout shift",[14,758,759],{},"CLS problems on Shopify usually come from announcement bars, discount banners and app badges that appear after the page loads, and push everything down. Reserve their space in CSS, or render them in the theme instead of injecting them with a script.",[36,761,763],{"id":762},"step-7-from-cart-to-checkout","Step 7: From cart to checkout",[14,765,766],{},"Speed doesn't help if the cart is hard to get through. Check, on a phone:",[44,768,769,775,781,787],{},[47,770,771,774],{},[17,772,773],{},"Express checkout."," Shop Pay, Apple Pay and Google Pay buttons (Shopify's dynamic checkout buttons) let returning shoppers skip typing. Show them where your theme supports it.",[47,776,777,780],{},[17,778,779],{},"The cart drawer."," It should open quickly, show the total clearly, and let shoppers change quantities without reloading.",[47,782,783,786],{},[17,784,785],{},"No surprises."," Shipping costs and the returns policy should be visible before checkout, not discovered in it.",[47,788,789,792],{},[17,790,791],{},"App injections."," Upsell and gift-wrap apps that add steps or slow the cart are worth testing with and without.",[14,794,795],{},"Shopify's checkout pages themselves can only be customized in limited ways, and most deeper changes need Shopify Plus. Everything up to the checkout is in your theme, which is where most of the friction usually is.",[36,797,799],{"id":798},"step-8-measure-again-then-publish","Step 8: Measure again, then publish",[14,801,802],{},"Run the same four URLs, three times each, on the duplicate theme, and compare with your baseline. Keep a short log of every change, so if something looks wrong after publishing you know exactly what to undo. Lab scores move faster than field data: Core Web Vitals in PageSpeed Insights reflect the last 28 days of real visits, so give them a few weeks.",[36,804,240],{"id":239},[14,806,807,808,811,812,816],{},"If you'd rather not spend a week in theme code, App369 does this as a ",[25,809,810],{"href":551},"fixed-price tune-up for $750",", delivered in 5 business days. You get the baseline and after numbers for four page types, the fixes on a duplicate theme you review and publish yourself, a cart-to-checkout review, and a log of every edit. App369 never publishes to your live store or touches payment or customer data. Thinking about leaving Shopify instead? Read ",[25,813,815],{"href":814},"/blog/ecommerce-app-development-shopify-vs-custom-2026/","Shopify vs custom e-commerce development"," first.",[36,818,258],{"id":257},[260,820,822],{"id":821},"why-is-my-shopify-store-slow-on-mobile","Why is my Shopify store slow on mobile?",[14,824,825],{},"Usually because of oversized images, scripts left behind by uninstalled apps, third-party widgets that load before the page is usable, and heavy Liquid loops on collection pages. Phones have slower processors and networks, so these problems show up there first.",[260,827,829],{"id":828},"does-the-shopify-speed-score-affect-sales","Does the Shopify speed score affect sales?",[14,831,832],{},"Speed affects how quickly shoppers can see and use your pages. A faster store doesn't guarantee more sales, but slow product and cart pages give shoppers more chances to leave. Measure your own before-and-after numbers rather than relying on a general promise.",[260,834,836],{"id":835},"do-uninstalled-shopify-apps-still-slow-down-my-store","Do uninstalled Shopify apps still slow down my store?",[14,838,839],{},"They can. Older apps often added code to the theme files, and uninstalling the app doesn't always remove it. Search your theme for the app's name and remove leftover snippets on a duplicate theme first.",[260,841,843],{"id":842},"can-i-make-speed-changes-without-risking-my-live-store","Can I make speed changes without risking my live store?",[14,845,846],{},"Yes. Duplicate your theme, make and test every change on the copy, compare the numbers, and publish the copy only when you are happy with it. You can switch back to the old theme if anything looks wrong.",[260,848,850],{"id":849},"can-i-customize-the-shopify-checkout-page-for-speed","Can I customize the Shopify checkout page for speed?",[14,852,853],{},"Only in limited ways. Most checkout customization beyond Shopify's settings needs Shopify Plus. The cart page, cart drawer and express checkout buttons are part of your theme, and that is usually where friction can be removed.",{"title":302,"searchDepth":303,"depth":303,"links":855},[856,857,858,859,860,861,862,863,864,865],{"id":556,"depth":303,"text":557},{"id":642,"depth":303,"text":643},{"id":694,"depth":303,"text":695},{"id":723,"depth":303,"text":724},{"id":742,"depth":303,"text":743},{"id":755,"depth":303,"text":756},{"id":762,"depth":303,"text":763},{"id":798,"depth":303,"text":799},{"id":239,"depth":303,"text":240},{"id":257,"depth":303,"text":258,"children":866},[867,868,869,870,871],{"id":821,"depth":316,"text":822},{"id":828,"depth":316,"text":829},{"id":835,"depth":316,"text":836},{"id":842,"depth":316,"text":843},{"id":849,"depth":316,"text":850},"2026-10-12T12:00:00.000Z","A practical checklist for a faster Shopify store on mobile: measure Core Web Vitals, fix images, leftover app code, fonts and Liquid, and remove friction between cart and checkout.",{"readingTimeStats":875},{"text":328,"minutes":876,"time":877,"words":878},5.5,330000,1100,"/blog/shopify-speed-checklist-2026","9 min",{"title":535,"description":873},"blog/shopify-speed-checklist-2026","shopify speed, shopify page speed, core web vitals, shopify theme performance, shopify checkout, lighthouse","https://app369.com/blog/shopify-speed-checklist-2026/","NckS6q5zRUwdAfwycE8s3Gtxjt00nZX2qxWXjUQ_yAU",[887,889,891,895,899],{"keyword":5,"url":339,"title":5,"relevance":888},55,{"keyword":535,"url":884,"title":535,"relevance":890},17,{"keyword":892,"url":893,"title":892,"relevance":894},"E-Commerce: Shopify vs Custom (2026)","https://app369.com/blog/ecommerce-app-development-shopify-vs-custom-2026/",7,{"keyword":896,"url":897,"title":896,"relevance":898},"Flutter iOS Build Failed After an Upgrade? Fix CocoaPods and Xcode Errors (2026)","https://app369.com/blog/flutter-ios-build-failed-after-upgrade-2026/",6,{"keyword":900,"url":901,"title":900,"relevance":898},"How to Write a 60-Second SaaS Explainer Video Script (Template, 2026)","https://app369.com/blog/saas-explainer-video-script-template-2026/",1791849345086]