Feed error
Item disapprovedImage link cannot be crawled
An image crawl failure means the channel could not retrieve the file at image_link, or retrieved it and judged it unusable. On Shopify the URL itself is rarely wrong, so the cause is usually a rate limit hit during a first full crawl, a temporary CDN response, or an image whose content breaks policy rather than one that is genuinely missing.
How this appears in your account
The exact wording the channel shows, so you can match what you are looking at.
- Invalid value: image link [image_link]
- Image not found or cannot be crawled [image_link]
- Generic image
- Promotional overlay on image [image_link]
What it affects
- Channels
- Google Shopping Meta Pinterest
- Attributes
- image_link
- Scope
- A subset of items
Why it happens on Shopify
The crawler was rate limited
The first crawl of a large new feed requests every image in a short window. Where the CDN or a security layer throttles that burst, images fail to fetch even though each URL works perfectly when opened by hand.
The image carries a promotional overlay or watermark
Badges such as "Sale" or "50% off" burned into the image, watermarks, borders and added text all breach image policy. The file is fetched successfully and then rejected on its content.
The URL changed after the feed was generated
Replacing a product image in Shopify produces a new CDN URL. A feed still carrying the old URL points at a file that no longer resolves.
The image is a placeholder
Themes and import tools substitute a "no image available" graphic when a product has none. It fetches correctly and is rejected as a generic image.
The image is below the minimum resolution
Channels enforce minimum pixel dimensions, and the threshold is higher for shopping surfaces than for ads. Thumbnails and legacy images from an old catalogue frequently fall below it.
How to fix it
-
Open the failing URL in a private window
If it loads normally, the file is fine and the problem is either transient or about the image's content. If it does not, the URL is stale and the feed needs regenerating against current image data.
-
Wait out a first-crawl failure before changing anything
Large new feeds routinely report image errors on the initial crawl that clear on the next attempt. Re-uploading or re-mapping in response adds churn without fixing anything.
-
Remove overlays, badges and watermarks
The main image must show the product alone against a clean background. Promotional messaging belongs in the channel's own fields, which is also where it can be changed without re-editing artwork.
-
Regenerate the feed so image URLs stay current
Because replacing an image changes its URL, a feed that regenerates on a schedule from current catalogue data keeps pace automatically, where a static exported file does not.
-
Map variant images with a product-level fallback
Prefer the variant's own image, falling back to the product's featured image when a variant has none. This avoids empty image_link values and stops every colour showing the same photograph.
How feedlab handles this
feedlab resolves image_link through a conditional chain, using the variant image where one exists and falling back to the product's featured image, and regenerates from webhook-updated catalogue data so replaced images do not leave stale URLs behind.
Frequently asked questions
The image URL works when I open it. Why does the crawler fail?
Most often rate limiting during a first full crawl, when every image is requested at once and the CDN throttles the burst. It can also mean the file fetched fine and was rejected on its content, for a watermark, overlay or low resolution.
Can I use images with a sale badge on them?
No. Promotional overlays, badges, watermarks, borders and added text all breach image policy. The main image has to show the product on its own, and promotions belong in the channel's dedicated fields.
Why did my image URLs stop working after I updated a product?
Replacing an image in Shopify generates a new CDN URL rather than overwriting the old one. Any feed still carrying the previous URL points at a file that no longer exists, which a scheduled regeneration resolves.
Primary sources
Channel specifications change. These are the official documents this page is based on.