Map images to the first customer task

A shop page can contain a logo, campaign banner, product hero, alternative angles, recommendation cards and a long list of catalogue thumbnails. They do not all help the first decision equally. On a product detail page the main product image often tells a shopper whether the item is the one they came to inspect. On a catalogue page, the first visible row of products may matter more than a decorative banner. Map the initial viewport on a typical phone and desktop, then identify the image that is largest and most useful in each case. This is a design decision grounded in the page, not a universal rule that every hero must be prioritised or every thumbnail delayed.

Google's web.dev guidance warns against lazy loading an image likely to appear in or near the initial viewport, particularly the image responsible for Largest Contentful Paint. The browser may wait until it knows where a lazy image sits before starting the request; that can delay an image a shopper needs immediately. Marking every image lazy may look like a tidy code rule but can harm the first impression. Conversely, eager loading hundreds of below-the-fold thumbnails consumes network capacity before the customer reaches them. Classify images by their actual position and importance for each page template, then choose an initial loading policy for the template rather than adding attributes indiscriminately.

The first useful image must also be discoverable promptly. If its URL appears directly in the page markup, the browser can discover it while parsing. If a script inserts it only after fetching product data and building a carousel, the request may start much later. Responsive markup can still expose the image early through srcset and sizes; it does not require downloading the largest file for every device. For a genuinely important image, web.dev describes fetchpriority high as a possible hint, but it is a scarce hint, not a blanket setting for every image. First inspect whether discovery and sizing are correct; a priority hint cannot fix an absent or unsuitable asset.

Send a suitable file for each display

A responsive page changes the rendered width of an image. Sending the same large source to a narrow phone wastes transfer even if CSS shrinks its display. The HTML responsive-image mechanism lets an author offer candidate files with width descriptors in srcset and describe expected display widths with sizes, leaving the browser to select a suitable resource. Start with the actual card and detail-page widths at representative breakpoints. Export versions from the source photograph that retain enough detail for those display sizes, then check that the browser selects the intended candidate. Do not copy arbitrary pixel breakpoints from another shop; its layout and product photography may be different.

Choosing a modern format can reduce transfer, but visual quality remains a product requirement. A finely textured garment, small printed label or polished metal finish may reveal compression artefacts earlier than a flat graphic. Compare representative images at the size customers actually see, including zoom if the shop offers it. Preserve a higher-detail path for a deliberate zoom action instead of pushing the zoom file into the initial page load. If the product image carries information such as colour or included accessories, the alternative text and nearby product description must communicate the relevant meaning; faster delivery does not make an ambiguous image useful.

Reserve the space that the image will occupy before its bytes arrive. The HTML standard encourages width and height on lazy images so that the browser can establish an aspect ratio and avoid shifting surrounding content after load. Use the correct ratio for each asset and a layout that can adapt on small screens. A square catalogue card and a wide editorial banner should not share one forced ratio unless cropping is an intentional, reviewed design choice. Keep essential controls such as price and add to cart stable as images arrive. A stable placeholder is useful only if it reflects the real final geometry; otherwise it merely postpones a jump.

A catalogue often mixes source photographs with different crops and resolutions. Before generating responsive versions, reject files that are already too small for their intended use, and note where a photographer-approved crop is needed. Upscaling a poor source does not restore product detail. Keep the same subject framing across candidate widths so that the browser's selection does not unexpectedly cut off a handle, garment sleeve or included accessory. Where art direction genuinely changes between narrow and wide layouts, review both crops as separate editorial assets. The loading decision then concerns consistent truthful images, not merely smaller bytes.

Work through a catalogue page

Imagine a catalogue with twelve visible items on desktop but only four initially visible on a phone. The shop has a full-width campaign image above the cards, yet user observation shows people arrive to compare products. The team should check whether that banner occupies the largest painted region and whether it helps the decision. It might reduce the space available for products, so changing layout could matter more than tuning its request. Once the page structure is agreed, load the image or first card row needed immediately, defer genuinely distant card rows, and ensure a customer scrolling quickly does not encounter empty boxes. This is an illustrative planning scenario, not a measured performance result for a real store.

Now test the product detail journey. A customer opens a product from a search result, sees its first image, changes colour, inspects the second angle and returns to the first. The initial image should not be lazy if it is already prominent. The alternate colour image should be ready soon enough after the selection, but preloading all variants and all angles may be excessive for a large catalogue. Decide what to fetch on selection and what to fetch only when the image gallery is opened. Verify that stale image responses do not overwrite the selected colour after rapid taps, and that the alternative text follows the shown image. Loading policy must respect the customer's current selection, not just bytes transferred.

Set up a repeatable comparison rather than relying on one developer's fast office connection. Use the same test page, device class, viewport and network conditions before and after a change. Inspect the request waterfall to see when the important image is discovered, which candidate file was selected, how much data was transferred and whether below-the-fold images started too early. Then run a real-device pass, scrolling and changing variants as a shopper would. Field measurements can add evidence if available, but an analytics outage does not prevent basic correctness tests. Do not claim a speed gain from a screenshot or a single local run; keep the test conditions and outcomes beside the change.

Do not let a performance experiment hide a merchandise mistake. If a campaign image describes a promotion, the visible offer terms must be readable as page text and verified independently of the picture. A blank placeholder for that image must not remove a material condition from the first view. Similarly, a gallery thumbnail should identify the angle or variant it opens; delaying the full image is reasonable, but withholding the option's meaning until after a click is not. Include one test with images disabled or unavailable to see whether the customer can still identify the product, choose a variant and understand the purchase conditions.

Choose a measured first change

For a first release, choose one representative page template and one image problem. If the product hero is delayed, expose it in initial markup, remove lazy loading from that image and check that the selected source is appropriately sized. If the main issue is a long catalogue, keep the first visible images eager and defer those clearly below the fold. If the problem is an oversized file, produce responsive candidates before changing priority hints. These remedies solve different causes; applying all of them at once makes it harder to know which change mattered. Keep a rollback path if any device shows broken or blurred product imagery.

The acceptance question is practical: does a customer see the right image for the current product and choice soon enough to act, without a jump or a wall of blank placeholders? Review the page at slow and fast connections, narrow and wide screens, and with images that have different shapes. Confirm that the full image and its meaningful description remain available to people who need them. Record which images are eager, which are lazy and why; future campaign changes can move a banner above the fold and invalidate an earlier decision. A short policy tied to page templates is easier to maintain than a universal rule hidden in a component library.

Before you proceed

  • Is the important first image discoverable in initial markup and free of lazy loading?
  • Does each screen receive an appropriately sized image while reserving the final image space?
  • Do rapid scrolling and variant changes still show the correct product image and description?

Sources & further reading