Shopify Page Speed: What AccessComply Checks and Fixes

Author avatarVijaygopal Balasa
7 min read

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.

GroupWhat it checksWho fixes it
Image attributesImages without a width and height; the main image not marked as the priority; images below the fold that load straight awayThe app, after you approve, where the theme writes the tag
Lab timingThe main image taking longer than 2.5 seconds to show; layout shift above 0.1; the server’s first response taking longer than 800 millisecondsYou: they measure the result, and the causes are below
Page weightStyles that block the first paint, app scripts that block it, heavy third party code, a heavy page, images much larger than their display sizeYou, 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.

  1. 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.
  2. The main image marked as the priority. The app adds fetchpriority="high" to the largest image the page shows first and removes loading="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.
  3. 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

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

Vijaygopal Balasa, Founder, AccessComply
Written by

Vijaygopal Balasa

Founder, AccessComply

Founder of AccessComply. Builds tools that find and fix supported Shopify accessibility issues in theme code—not through overlays. Focused on practical WCAG 2.2 AA improvements for merchants.

Keep improving after this fix.

Get concise, practical updates on Shopify SEO, speed, accessibility, and safer storefront changes. No daily noise; unsubscribe anytime.

Continue reading

All Speed posts →