Shopify Page Speed: What AccessComply Checks and Fixes
AccessComply’s speed check reads the code of every page it scans for what slows it: images without a width and height, a main image that is not marked as the priority, images below the fold that load straight away, styles and app scripts that hold up the first paint, and pages that are simply heavy. It also times each page once in a lab browser. After you approve, it fixes the image attributes where your theme writes the image tag itself. It does not remove apps, compress images or change your server, and a lab timing is not the same as what your real shoppers experience.
What the speed check looks at
The check covers eleven things on each page, in three groups.
| Group | What it checks | Who fixes it |
|---|---|---|
| Image attributes | Images without a width and height; the main image not marked as the priority; images below the fold that load straight away | The app, after you approve, where the theme writes the tag |
| Lab timing | The main image taking longer than 2.5 seconds to show; layout shift above 0.1; the server’s first response taking longer than 800 milliseconds | You: they measure the result, and the causes are below |
| Page weight | Styles that block the first paint, app scripts that block it, heavy third party code, a heavy page, images much larger than their display size | You, or the app that loads the code |
The lab timing uses the same limits Google sets for a good experience: the main image, measured as Largest Contentful Paint, within 2.5 seconds, and layout shift of 0.1 or less. The difference is that Google measures real visits, and this is one run from a lab browser.
The three fixes the app writes
Each fix adds an attribute to the exact image tag in your theme. Nothing else in the tag changes.
- A width and height on images that have none, taken from the image’s real size. The browser can then keep space for the image before it arrives, so text does not jump down the page. Google’s guidance is to always include width and height on images.
- The main image marked as the priority. The app adds
fetchpriority="high"to the largest image the page shows first and removesloading="lazy"from it. An image in view normally starts at a low priority until the browser works out it is visible; marking it high lets it start loading at once, and lazy loading the main image slows it down. - Images below the fold loaded lazily. The app adds
loading="lazy"to images a shopper only sees after scrolling, so they stop competing with the main image.
Why a fix lands only where your theme writes the image tag
Most modern Shopify themes do not write a fixed image tag for a product photo. They build it through Shopify’s image filters, for example from product.featured_image, so which file appears depends on the product being shown, and one image on one page does not identify one line of code. Themes that build images this way usually set the width, height and loading themselves.
So the app changes an image only when exactly one tag in your theme names that image file, such as a banner or badge written into a section or a snippet. When it cannot find exactly one, it leaves the tag alone and the finding stays on your list with the page it appeared on. That is why speed fixes are fewer than speed findings on most stores: it is the honest limit of editing a theme safely.
What stays with you
- App scripts. A review widget, a chat button or a tracking pixel is loaded by its app, which controls it. The finding names the script; the fix is a setting in that app, or removing an app you no longer use.
- Styles that block the first paint. Usually the theme’s own stylesheets or an app’s. They need a developer’s care, because moving them can make the page flash unstyled.
- Heavy pages and oversized images. Re-export large images at the size they are shown, and check what each section loads.
- A slow first response from the server. It is reported as a diagnostic: everything else on the page waits for it, and a theme change rarely fixes it.
How a speed fix is checked
After the change, the app loads the page again under a throttled connection and measures it. If the page got worse, the change is flagged for you to review, with the saved original ready to restore; a restore always asks you first. The theme itself is backed up before the first write.
Lab checks are not Core Web Vitals field data
Core Web Vitals are judged at the 75th percentile of real page loads, on phones and computers separately. A single lab run from a data centre can be faster or slower than your shoppers’ experience on the day. For real visitor data, Shopify’s web performance reports in your admin rank your store’s Largest Contentful Paint, Interaction to Next Paint and layout shift as good, moderate or poor over the past 30 days. Use the scan to find causes, and that report to see whether real visits improve.
Plans
Speed checks run on every plan, including the free scan on this site. The image fixes are rule based, so they are included on every paid plan and count toward Free’s 3 fixes every 30 days; Starter is $29 a month. See pricing, the speed topic for related guides, and what AccessComply checks and fixes for the other areas.
Sources
- web.dev, Web Vitals.
- web.dev, Optimize Cumulative Layout Shift.
- web.dev, Optimize resource loading with the Fetch Priority API.
- web.dev, Browser-level image lazy loading for the web.
- Shopify Help Center, Web performance reports.
Find the storefront issues holding back growth
Scan SEO, speed, accessibility and AI shopping readiness by page. Review supported fixes before they run, keep saved originals, and verify the live result afterward.
Free checkers: Shopify accessibility checker · Website accessibility checker · Products not showing in ChatGPT