📷

Renaming website photos with AI, and fixing every link that points at them

Private deliverable. Enter the hub password to continue.

That's not right. Try again.

← Back to the hub

Renaming website photos with AI, and fixing every link that points at them

Deep research across Google, Reddit, YouTube and X. The short version: WordPress has this solved, static sites have nothing, and you mostly do not have the problem.

Prepared 2026-08-04

You asked what AI tools or skills can rename photo files on a website to something descriptive and then fix the links that point to them. I ran four parallel research sweeps (Google plus GitHub, Reddit, YouTube, and X plus Hacker News), and I scanned your own machine to see how much of this you actually need.

The four sweeps agreed with each other, which does not happen often. Here is what they found.

The short answer

  1. On WordPress, this is a solved problem. Four maintained plugins do the whole job for free or about $39.
  2. On your actual stack (Astro on Cloudflare Pages), nothing exists. Not one tool, plugin, skill, MCP server, npm package or PyPI package does rename plus relink plus AI naming for a static site. That is a real finding, not a search that came up short.
  3. Your live sites do not have this problem. I scanned every image in every published web folder across your projects: 11,608 images, and only 74 have a non-descriptive filename. Most of those 74 are hero.jpg inside site templates, which is deliberate.
  4. Retrofitting a live site is riskier than it sounds. Google's John Mueller has said on the record that renaming an image that is already indexed may leave it uncrawled and unindexed for months, and that the gain is minimal if your alt text and surrounding copy are already good.

So the honest recommendation is: do not buy anything, do not retrofit your live sites, and spend the effort at the one moment where it is free and safe, which is before an image is ever published.

What your own sites actually look like

I walked every project folder and classified image filenames.

Scope Images Non-descriptive Share
Everything on disk 42,617 3,020 7%
Published web folders only 11,608 74 0.6%

The gap between those two rows is the whole story. The messy filenames are real, but they live in working folders that never reach a browser:

Folder Bad filenames What they are
RecipeMemoir/import/_photos/ 1,740 1.jpg, 2.jpg, 100.jpg
BoneVoyageRevival/migration-plan/ 437 Recovered WordPress originals
MedSpasBoulder/data/gbp/img_raw/ 365 Scraped listing photos
MenopausePracticeGrowth/research/screenshots/ 278 s001.png, s002.png
SEOBeliever/CompetitorBestPractices/ 50 Screenshot (366).png

Renaming those is tidiness, not SEO. Nobody links to them.

The one that genuinely matters is RecipeMemoir's 1,740 import photos, because if those are headed for publication, the naming gets baked into live URLs at that moment. Naming them before they ship costs nothing and carries zero risk. Naming them after they ship is a URL migration.

Does this even matter for SEO?

This is the part the tool vendors are quietest about.

Google's own image documentation says filenames give "very light clues." On the Search Off the Record podcast, John Mueller was blunter. Paraphrasing his position from the Search Engine Journal writeup: descriptive filenames are good, but you would not see a significant change if you are already doing alt text and surrounding copy, because those are the really strong signals. And changing the filename of an already-indexed image has minimal upside while risking that the renamed image goes uncrawled for months.

Reddit's most credible voices land in the same place. The best comment I found is recent, from r/squarespace in July 2026: they rename before upload because it is cleaner, but if they inherited a site with hundreds of generic filenames they would not spend days renaming unless the URLs were changing anyway, because the opportunity cost is better spent on content and internal linking.

The sharpest one-liner in the whole corpus, from r/SEO: it is not important, but it is easy to fix, so there is no reason not to. That is almost exactly the right calibration.

Worth knowing who is arguing the other side. Every voice claiming filenames are a strong ranking factor turned out to be selling a plugin. The pro-renaming Reddit posts cluster into vendor announcements, content-marketing listicles, and confident assertions with no mechanism behind them. One of them also claimed you get penalized above a 12% keyword proportion, which is not a thing.

The tool landscape

WordPress: genuinely solved, four ways

You have WordPress sites, so this is directly useful.

Tool Renames Fixes references 301 redirects AI vision naming Price Maintained
Phoenix Media Rename Yes Yes Optional, needs Redirection Via AltText.ai integration Free v3.13.3, July 2026, 50,000 installs, 4.7 stars
Media File Renamer Yes Yes, incl. page builders Pro only Yes (Pro) Free tier, Pro about $39 v6.2.9, July 2026, 40,000 installs, 4.6 stars
File Media Renamer for SEO Yes Yes, incl. serialized data Yes, native Yes, your own OpenAI key Free v1.1, Feb 2026, only 200 installs
ImageSEO Yes Yes Yes Yes 4.99 to 59.99 euro/month v3.2.11, July 2026, 1,000 installs, 3.4 stars

My pick for your WordPress sites: Phoenix Media Rename plus Redirection. Free, 50,000 installs, actively maintained, best rating in the group. Media File Renamer Pro is the alternative if you want AI vision naming bundled rather than bolted on.

Two things to discount. ImageSEO markets itself hardest and has the weakest actual numbers of the four (1,000 installs, 3.4 stars), and its comparison page scoring every competitor below itself is a sales asset, not a review. File Media Renamer for SEO has the best feature list on paper and only 200 installs, which is too new to point at a live site without a full backup first.

One real gotcha from the field: on custom NGINX setups that serve static files directly, WordPress hooks never fire, so plugin-generated 301 redirects silently do not apply. A plugin promising redirects can quietly fail to deliver them.

Static sites: the shelf is empty

For Astro on Cloudflare Pages, there is nothing to buy. The search covered GitHub's repo API across twelve query shapes, npm, PyPI, the Claude Code plugin marketplaces, Product Hunt directories, and general web. The GitHub topic image-renaming has nine public repos in total, which is a rounding error.

Every standalone tool in the category renames files and stops:

Tool Price Fixes references?
Renameit.io Free tier, $6/month Pro No. Exports an old-to-new CSV and tells you to hand it to your developer
namethispic $9 to $79/month No
Renamer.ai Free 25/month, then $9.95+ No
SammaPix Free No
Pincel Credits No
RenameClick Paid No
ozgrozer/ai-renamer Free, 2.1k stars No

Renameit is the most interesting of these, because it gets closest and then stops exactly at the line. It can read a live page's images, audit them, and export the old-to-new mapping as a CSV. Then it tells you to hand that CSV to your developer. That handoff is the gap, stated out loud by the category leader.

YouTube tells the same story from a different angle. The number one ranked video for "rename images SEO filenames AI" has 187 views. Ranks five, eight, nine and thirteen have 13, 6, 48 and 29 views. Generic "batch rename files in Windows" videos in the same searches pull 50,000 to 590,000. The demand is for tidying your downloads folder, not for website image SEO.

Two YouTube videos are actually worth your time if you go down this road:

  • Rename Your Photos Automatically with AI by Matt Williams, formerly of the Ollama founding team. The most technically honest thing in the set: Ollama, a local vision model, prompt shown verbatim, JSON schema, code on GitHub. From 2024, so the model choice is stale (swap LLaVA for Qwen3-VL), but the architecture is right and it costs nothing to run.
  • How to BATCH Rename Any Files Using Claude Cowork. Closest thing to your stack. Good practical detail, including that Claude defaults to underscores in filenames and you have to explicitly ask for hyphens.

Neither touches references. Nobody on YouTube demonstrates the reference rewrite on a static site. That is not a gap a search missed.

The pieces to close the gap, if you want it closed

Everything needed already exists separately and is already on your machine or your budget. Four steps:

  1. Naming. An OpenRouter vision call per image, on your existing key. Roughly $0.001 to $0.005 per image, against 0.02 to 0.05 euro per image at ImageSEO's rate. For RecipeMemoir's 1,740 photos that is a couple of dollars.
  2. Relinking. repren by jlevy does multi-pattern search-replace across file contents and file renames in one atomic pass, with dry-run, backups and undo. It is pure Python 3.10 to 3.14 with zero dependencies, so it runs on your 3.13 without a venv fight, and it already installs as a Claude Code skill. This is the single most useful existing piece for your sites.
  3. Redirects. Emit _redirects lines from the mapping. Cloudflare Pages caps at 2,000 static rules, which a large rename could genuinely bump, so the generator needs to warn on that.
  4. Verification. Your existing validate_site.py already catches broken internal links.

One thing that makes Astro safer than most stacks here: images imported in src/ are resolved at compile time, so a missed reference is a build failure, which is loud. Images in public/ are plain string paths, so a missed reference is a silent 404. That asymmetry tells you where to concentrate the checking.

What I would actually do

Do not retrofit the live sites. 74 files out of 11,608, most of them intentional. The upside is a light comprehension signal you already get from alt text, and the downside is a URL migration with real risk. That trade is not worth taking.

Do name RecipeMemoir's import photos before they ship. 1,740 files, a couple of dollars of vision calls, zero risk because nothing links to them yet. This is the whole opportunity, and it only stays free until those images go live.

Install Phoenix Media Rename on the WordPress sites if you want the same hygiene there. Free, proven, and it handles the database rewriting that would be a genuine mistake to hand-roll.

Build the skill only if you want it as a reusable asset, not because the sites need it. It would be the only thing of its kind anywhere, which is worth something on its own. But be clear-eyed about it as a product: the closest adjacent product I could find, an alt-text plugin, launched and got zero conversions, and the founder said so publicly on Hacker News. The price anchor in this category is 4.99 euro, the buyers are technical enough to build it themselves, and Google has publicly downgraded the benefit. As a free skill it is a credibility asset. As a micro-SaaS it looks like a trap.

The safe procedure, if you ever do rename published images

Assembled from what practitioners actually reported, not from a vendor checklist:

  1. Full backup before touching anything.
  2. Dry-run on a copied subset, never on originals.
  3. Check what your platform actually serves. Some CMSs rewrite filenames for responsive variants, which defeats the whole exercise before it starts.
  4. Pull traffic data on the image URLs first, and only rename the ones earning nothing. If an image already ranks, renaming it restarts it from zero.
  5. 301 every old image URL, and verify the redirect fires at the web server layer, not just in config.
  6. Rewrite every in-page reference too. Do not leave internal links riding the redirect. This is the step people skip, and it is the one that caused the worst documented outcome I found: a site that did a URL restructure with correct 301s in place and still took a severe traffic hit because the internal links were never updated.
  7. Include og:image tags and the image sitemap in that sweep.
  8. Purge the CDN cache, resubmit sitemaps, and expect a re-crawl lag.
  9. Keep a reversible name history.

Sources

The full source list runs to about sixty links. The load-bearing ones:

One honest limitation: X blocks anonymous search, so that sweep fell back to Hacker News, dev.to and Indie Hackers. Nothing in this report is sourced to a tweet, because I could not retrieve any.

Published to Annette's hub. Rebuilt from the source markdown, so edit the source and rerun rather than editing this page.