Lazy-load Not Implemented on Images
Lazy-loading defers off-screen images until the user scrolls near them — a huge win for LCP and bandwidth on image-heavy pages.
Why it matters
Lazy-loading defers off-screen images until the user scrolls near them — a huge win for LCP and bandwidth on image-heavy pages.
Address when convenient — notices usually mark a polish opportunity rather than a defect. Estimated SEO impact: medium — measurable effect on click-through or relevance.
How to fix
- Add
loading="lazy"to<img>tags below the fold - Keep the first hero image with
loading="eager"to improve LCP - For background images, use the Intersection Observer API
Common causes
If the rule is firing across many pages, the root cause is almost always one of these:
- CMS or page builder doesn't enforce alt text at upload time, so editors leave it blank.
- Bulk-imported product images inherit a generic placeholder (or the filename) as alt.
- Theme/template renders
<img>tags directly from the database without normalising attributes. - Lazy-loading or asset pipelines strip optimisation hints during build.
Anti-patterns to avoid
Even with the best intentions, these "fixes" make the issue worse — recognise them so you don't ship them:
- Putting the filename into
alt("IMG_1234.jpg" tells nobody anything). - Stuffing the alt with keywords that don't describe the image.
- Using the same alt across every product image on a category page.
How atlookup detects this
Our crawler renders each page with a real headless browser, then inspects every <img> and <input type="image"> for the relevant attribute and length thresholds. Pages where the rule fires for lazy-load not implemented on images are flagged on the report.
If you'd like to see this rule fire on your own site, run a free 60-second audit — every page is reported with the exact lines that triggered it.
Tools to verify the fix
Once you've applied the fix, double-check with these external validators:
- Lighthouse — Audit images for missing alt, lazy-load, and modern formats.
- axe DevTools — WCAG-aligned image accessibility check.
- WAVE — Visual overlay of every alt-related issue per page.
Frequently asked questions
Why does Lazy-load Not Implemented on Images matter for SEO?
Lazy-loading defers off-screen images until the user scrolls near them — a huge win for LCP and bandwidth on image-heavy pages.
How do I fix lazy-load not implemented on images?
Add loading="lazy" to <img> tags below the fold Keep the first hero image with loading="eager" to improve LCP For background images, use the Intersection Observer API
Is this a critical SEO issue?
Address when convenient — notices usually mark a polish opportunity rather than a defect. Estimated SEO impact: medium — measurable effect on click-through or relevance.
How does atlookup detect lazy-load not implemented on images?
Our crawler renders each page with a real headless browser, then inspects every <code><img></code> and <code><input type="image"></code> for the relevant attribute and length thresholds. Pages where the rule fires for lazy-load not implemented on images are flagged on the report.
How long does it take to fix?
5–15 minutes per page. Most teams batch similar issues across templates so the per-page time goes down at scale.
Related issues
IMG_HTTP_ON_HTTPS
HTTP Image on HTTPS Page
Loading HTTP images on an HTTPS page triggers a mixed-content warning — some browsers block the image, and search engines penalize the page for inconsistent security.
INPUT_IMAGE_ALT_MISSING
Image Button Missing Alt Text
An <input type="image"> without alt is announced as just "button" by screen readers — users cannot tell what it does.
IMG_MISSING_SRC
Image Missing src Attribute
An <img> tag without src is invisible — wasted markup and often a sign of broken JavaScript lazy-loading.
IMG_DIMENSIONS_MISSING
Image Missing Width/Height Attributes
Without explicit width and height, browsers cannot reserve space before the image loads — causing layout shift (CLS), which is a Core Web Vitals ranking factor.