ShipworkSite inspection
Image audit

Crawlability

PaginationAre paginated pages set up right?Internal searchIs site search eating crawl budget?URL parametersAre parameters creating duplicates?Log analyserWhat does Googlebot actually crawl?Robots builderNeed a robots.txt file?Soft 404sAre pages “not found” but returning 200?JavaScriptCan crawlers see it without running JS?FreshnessIs my site quietly going stale?Robots.txtDoes robots.txt say what I think?

Indexing

Sitemap lastmodAre my sitemap dates valid?SitemapIs my sitemap actually fetchable?IndexingIs Google allowed to index my pages?CanonicalsIs Google indexing the wrong URL?Index signalsDo sitemap and index signals agree?Sitemap generatorNeed a sitemap.xml for my site?Bulk URL statusWhere does each of these URLs really land?Redirect builderNeed the redirect rules?RedirectsAre my URLs answering directly, over HTTPS?

On-page

Keyword ideasWhat are people searching for?SERP previewHow does my page look in Google?Content qualityAre your pages too thin or too alike?Image weightAre images slowing the page?CannibalizationAre pages competing with each other?On-page checkDoes the page use its target phrase?ImagesAre my images accessible and loading?Meta tag builderWhat should my title and share tags say?DuplicatesDo my pages compete for one query?

Links

Orphan pagesWhich pages can no link reach?Link graphHow deep do your pages sit?Anchor textDo links say what they point at?Outbound linksAre external links still alive?Broken linksAre internal links sending visitors nowhere?

Structured data

Rich resultsIs my markup eligible for a rich result?Structured dataIs my product schema valid?Schema coverageDo my key pages carry structured data?Social previewHow does my page look when shared?Schema vs pageDoes markup match the page price?Schema builderNeed valid JSON-LD?

International

Hreflang sitemapDo page and sitemap hreflang agree?HreflangDo my language versions link back?Hreflang builderNeed the hreflang tags?Page DoctorWhy is this page not doing well?Redirect planMy site has dead links — what redirects do I write?Sitemap diffIs anything missing from my sitemap?Robots simulatorWhat does my robots.txt actually block?Can Googlebot?Can Googlebot fetch this URL?
Every error, explainedGuides
Pricing Learn Error guides Run free audit

+1 free check

Welcome to Shipwork

Sign in free and your next check this month is on us.

Continue with GoogleContinue with email

We email you a 6-digit code. No password.

No card needed. Reports and watches follow you to any device.

Are your images costing you load time?

Every product page carries dozens of images, and each one can slow the page or shift the layout as it loads. This reads all of them and reports the ones missing alt text, a declared width and height, or lazy loading.

Fetches the page and reads every image tag on it. Costs 5 credits per run; nothing is stored.

How this check works

Shipwork fetches the page, parses every image tag, and reports what each one is missing: an alt attribute, a declared width and height, and lazy loading below the fold. It names the images behind each count, so the fix is a specific file rather than a number.

What the image SEO audit reads

The audit fetches one page and parses every image tag on it. For each image it records the source, whether an alt attribute is present, the alt value, the loading attribute and whether both width and height are declared. It then groups them: images with no alt attribute, images with an empty alt, images missing a dimension and images that are not lazy loaded.

An image already using alt="" is counted separately from one with a missing attribute, because empty alt is the correct markup for a decorative image. The per-image report lists up to 100 images so you can name the files behind each count; beyond that the result is marked as truncated. It reads raw HTML, not a rendered screenshot.

How to read the image audit result

A clean result means every image on that page has an alt attribute, both dimensions and lazy loading where it applies. That is a strong on-page result for that URL. It does not judge whether the alt text is accurate, whether an image is relevant, or how heavy the files are.

A missing-alt finding is an accessibility error and a lost text signal. An empty-alt finding is only a note: check whether those images really are decorative. A missing-dimensions finding means the browser cannot reserve space, a common cause of layout shift. The lazy-loading note appears once more than three images are not lazy loaded, so a few above-the-fold images are not flagged. The audit reports a count for each group, so you can see whether a problem is isolated to one template or repeated across the page.

Common causes and why they matter for search

Bulk imports often leave alt text empty or derived from the filename, and themes may render images without width and height. Assistive-technology users lose the visual information, and image search has less context. Missing dimensions let the page jump as images arrive, which affects people first and page stability second.

Lazy loading delays off-screen images, which helps the initial load, but marking a hero image lazy can make it arrive late. The audit reports what the markup says; it cannot tell which image is above the fold. It also does not read CSS backgrounds or inline graphics, so those are outside its counts.

How to fix the images it flags

For each informative image, write a short description of what it shows, for example alt="Blue wool jacket shown from the front". Use an empty alt for genuinely decorative images. Add the source image's intrinsic width and height to the rendered tag, and keep responsive CSS and srcset in place.

On Shopify, edit the product media alt text in the admin and check the theme's image output; on WooCommerce, set the alt text in the media library and review the template. Fix the shared template or the source catalogue data so the problem does not return on the next sync, then rerun the audit on a sample of pages.

When to use related image checks

Use the free image check for a lighter, site-level count, and image weight when the concern is bytes, formats and responsive delivery. Neither is replaced by this audit.

For accessibility beyond images, run the accessibility check. For how image handling affects loading, see Core Web Vitals on Shopify.

Questions

What does the image audit check?
Every image tag on the page: whether it has alt text, whether it declares width and height, and whether it is lazy loaded. Missing dimensions are the usual cause of the layout shifting as a page loads.
Why does it cost 5 credits?
It fetches the page and reads every image on it, then names the ones behind each problem. It draws 5 credits per run.
Does it change my site?
No. It only reads the page and reports on it; nothing is changed and nothing is stored.
How do I audit all images on my page?
The audit fetches one page, finds every image tag and counts how many lack an alt attribute, a width or height, or lazy loading. It names up to 100 images with the file each problem sits on, so you can fix specific files rather than a number.
Is empty alt text bad for SEO?
No. An empty alt value is the correct markup for a decorative image, and the audit reports it as a note rather than an error. Only a genuinely absent alt attribute is counted as missing. Check that the images marked this way really are decorative.
Why do width and height attributes matter?
They give the browser an intrinsic aspect ratio so it can reserve space before the image loads. Without them the layout can shift as each image arrives. The values do not force the displayed size; CSS can still size the image responsively.
Does the image audit measure file size or formats?
No. It reads the image tags on one page and reports alt text, declared dimensions and lazy loading. It does not weigh the files, check their format or test responsive variants. Use the image weight tool for questions about bytes and formats.
Why are only some images listed in the report?
The per-image list is capped at 100 entries so the response stays manageable on image-heavy pages. The counts still cover every image found; when the page has more than 100, the result is marked as truncated and names only the first set.

Keep reading

What this reads

  • Reads every image tag on the page, not a sample.
  • Reports missing alt text, missing width and height, and images that are not lazy-loaded.
  • Reads the raw HTML, so it sees what a crawler sees before any script runs.
83checks
0signups needed
0stored on free checks
Cool, just ran an audit and got some insights! Let’s see if I can fix them :)
Tenta Dev, @DevTenta
Whoah! this site is crazy, nothing to roast at all
Ainreek, @AinreekAI
cool as heck, tried it on my blog and the insights it gave are helpful and not bluff.
Refaat 🍉 (Mouse), @1Mouse__