No image sitemap found
What is this issue?
This issue checks whether a website has a dedicated image sitemap that helps search engines discover and index images that may not be found through normal crawling.
A passing implementation means:
- An image sitemap exists at a standard location (e.g.,
/image-sitemap.xmlor/sitemap-images.xml) - The sitemap is properly formatted with
<image:image>entries - Images are listed with required metadata (URL, optionally title, caption, license)
- The image sitemap is referenced in the main sitemap or robots.txt
Example:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://example.com/page1</loc>
<image:image>
<image:loc>https://example.com/images/photo.jpg</image:loc>
<image:title>Product Photo</image:title>
<image:caption>Front view of product</image:caption>
</image:image>
</url>
</urlset>Why it matters
Image Discovery: Search engines may not discover images that are loaded via JavaScript, CSS backgrounds, or lazy loading. An image sitemap ensures all images are found.
Image SEO: Images can drive significant traffic through Google Images search. A sitemap increases the chances of images being indexed and ranked.
Crawl Budget Optimization: Images embedded deep in the site structure or behind interactions may not be crawled. A sitemap provides a direct path for discovery.
Rich Results Eligibility: Properly indexed images can appear in Google Images and may enhance regular search results with thumbnail previews.
SEO Health Score: Having an image sitemap improves the technical SEO score by demonstrating comprehensive content discovery optimization.
How to fix it
Create an image sitemap - Generate an XML sitemap specifically for images following the image sitemap schema.
Include all important images - Add images that are valuable for SEO (product photos, infographics, illustrations) but may not be easily discoverable.
Add optional metadata - Include
<image:title>,<image:caption>, and<image:license>where relevant to provide context.Submit the sitemap - Add the image sitemap URL to:
- Google Search Console
- Your main sitemap index file (if using one)
- The
Sitemap:directive in robots.txt
Keep it updated - Ensure the sitemap is regenerated when new images are added or old ones removed.
Validate the format - Use Google Search Console's sitemap testing tool to verify the sitemap is properly formatted.
Examples
Example 1: Basic Image Sitemap
Problematic State (Fails): No image sitemap exists. Images are only discoverable through crawling HTML pages.
Corrected State (Passes):
Create an image sitemap at /image-sitemap.xml:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://example.com/products</loc>
<image:image>
<image:loc>https://example.com/images/product1.jpg</image:loc>
<image:title>Product 1</image:title>
</image:image>
</url>
</urlset>Example 2: Missing Sitemap Declaration
Problematic State (Fails):
An image sitemap exists at /image-sitemap.xml but is not declared in robots.txt.
Corrected State (Passes): Add the sitemap to robots.txt:
User-agent: *
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/image-sitemap.xmlExample 3: Images Not Discoverable via HTML
Problematic State (Fails): Images are loaded via JavaScript and not present in the initial HTML:
<div id="product-images"></div>
<script>
// Images loaded dynamically via JavaScript
</script>Corrected State (Passes): Create an image sitemap to ensure these images are discovered:
<url>
<loc>https://example.com/products</loc>
<image:image>
<image:loc>https://example.com/images/product1.jpg</image:loc>
</image:image>
</url>How PixyScan detects this
This is a suggestion, and it only applies to a site that actually has an image library worth declaring.
Count the images the crawl found. Every page fetched contributes its
<img>elements and its<picture>srcsetcandidates. Where the Image Analysis toggle is on, the richer count that pass produces is used instead — it has already resolvedsrcsetand<picture>properly. Where that toggle is off, the count comes straight from the page. (It used to come only from the Image Analysis payload, so a project with that toggle off counted zero images on every page and this check could never fire, however many images the site had.)Find and walk the XML sitemap. The sitemap is located from the
Sitemap:directives inrobots.txtand from the conventional paths, then walked in full — including nested sitemap-index files.Look for
<image:image>entries inside each<url>element, reading both the namespaced form and the bare element name.Report when all of these hold:
- an XML sitemap exists (if there is none, that is issue #4's finding, not this one)
- the sitemap contains no
<image:image>entries at all - the crawl found at least 10 images
The ten-image floor is what keeps this off a text-only blog or B2B site whose only images are a logo and two icons. An enhancement that does not apply is not a deficiency.
The finding records the image count it was based on, so the suggestion can say "the
crawl found 42 images but the XML sitemap has no <image:image> entries" rather than
asserting a bare absence.
What we store
Storage Level
Site Level — This issue is evaluated at the site/domain level.
Database Table / Prisma Model
SiteCrawlBehaviourData and PageImageAnalysis
Stored Fields
SiteCrawlBehaviourData
| Field | Type | Description |
|---|---|---|
| imageSitemapEntries | Json? | Array of image sitemap entries found during crawl |
PageImageAnalysis
| Field | Type | Description |
|---|---|---|
| isInImageSitemap | Boolean? | Whether the image is found in an image sitemap |
Detection Dependencies
- The following data sources are required to evaluate this issue:
- XML Sitemap — The crawler looks for image sitemaps (sitemap with image extensions)
- Image Sitemap — Entries containing
<image:image>tags are parsed - PageImageAnalysis — Individual images are checked against image sitemap entries
- HTTP Response — The crawler fetches and parses image sitemap files