Descriptive, hyphenated filenames on content images
Use human-readable image filenames so URL paths add semantic context for AI crawlers.
What this signal tests
We inspect the URLs of in-content images and check whether their basenames are descriptive words separated by hyphens (such as red-leather-armchair.jpg) rather than opaque hashes (a8f9c2.webp), camera defaults (IMG_1234.jpg, DSC00345.jpg), or pure numerics (00045.png). At least 60 percent of content images must use descriptive names.
Why it matters for your visibility in AI
When alt text is missing or thin, AI systems look at the URL path as a secondary signal. A filename like red-leather-armchair-side-view.jpg tells a multimodal model something useful before it even processes the pixels. A filename like IMG_4523.jpg tells it nothing. Across a catalog of thousands of images, this difference compounds: descriptive filenames noticeably improve how well your images surface in AI visual search and product discovery. E-commerce is the most acute case. AI shopping agents merge identical products across retailers, and one of the signals they use is filename similarity. A retailer who renames every product photo to descriptive slugs makes their catalog easier to match against competitors and easier to retrieve when a user describes a product in natural language.
Pass criteria at a glance
| Criterion | Passes when |
|---|---|
| >=60% of in-content image filenames descriptive. |
How we test it
Our scanner extracts the basename (the part after the last slash, minus the extension) from each in-content image URL. It checks each basename against patterns that signal opaque naming: camera prefixes like img, dsc, photo, screenshot, untitled, unnamed; hex strings of 6 or more characters; base64-like strings of 20 or more characters; pure numeric strings of 6 or more digits. We report the percentage of basenames that pass.
Show technical detection method
Flag basenames matching ^(img|dsc|dscn|p|photo|image|untitled|screenshot|unnamed)[_\-\s]?\d*$, hex/base64 hashes, or pure numerics.
If your site fails: how to fix it
- Rename camera and CMS auto-named files to hyphenated descriptive slugs at upload time. Most modern CMSes (WordPress, Sanity, Contentful) have plugins or hooks for this.
- For CDN-hashed URLs, restructure the path so the descriptive name comes before the hash: /products/red-leather-armchair/a8f9c2.jpg rather than /cdn/a8f9c2.jpg.
- When migrating, do not break existing URLs. Set up 301 redirects from old hashed paths to the new descriptive paths to preserve link equity and crawler trust.
- Use lowercase with hyphens (red-leather-armchair) rather than camelCase or underscores. Hyphens are the universally accepted word separator in URLs.
- Train your content team to never accept the default filename. The five seconds it takes to rename at upload pays back across the lifetime of the image.
Quick facts
| Maturity | ESTABLISHED |
|---|---|
| Weight | low |
| Category | Multimodal |
Primary sources
Related signals
Frequently asked questions
Does my filename matter if I already have great alt text?
Less so, but it still helps. AI systems use multiple overlapping signals: alt text, surrounding caption, filename, and image content. Filenames are a free signal you give up nothing to add. When alt is missing (which still happens often), the filename becomes the primary fallback.
Will renaming images now break my site?
It can, if other pages link to the old filenames. Migrate methodically: rename, set up 301 redirects from old to new, then update internal references. For very large catalogs, do this in batches and verify with a crawl after each batch.
What about platform-managed URLs like Shopify or Cloudinary that I cannot rename?
Many such platforms expose a separate descriptive slug or alt-name field that gets used in URLs. Check your CMS settings. Where the underlying filename truly cannot be changed, focus extra energy on alt text and surrounding caption, which become the primary signals.
Run your own scan
Run a free scan and see how your site grades across all 155 AI-readiness signals.