Optimize images and alt text with ChatGPT
Optimizing Shopify images with ChatGPT means using a developer mode app connected to StoreSEO so the assistant can list your heaviest or unlabelled images, then compress them and write alt text and file names one image per call, with a restore if you dislike a result.
Last updated: October 2026
Set up ChatGPT for StoreSEO
Skip this if ChatGPT is already connected. The full guide, with the alternatives, is on the ChatGPT page.
- 1
Turn on developer mode
In ChatGPT on the web, open Settings, then Security and login, and turn on Developer mode. If your menu shows Apps and Connectors with Advanced settings instead, the same switch lives there. OpenAI lists developer mode for Pro, Plus, Business, Enterprise and Education accounts on the web.
URLhttps://chatgpt.com/plugins
- 2
Create the app with the StoreSEO MCP URL
Open Plugins and select the plus button to create a developer-mode app. Name it StoreSEO, paste this as the MCP server URL and choose OAuth. Sign in when the browser asks: pick your Shopify store and approve access.
URLhttps://mcp.storeseo.com/mcp
- 3
Use it in a chat
The app appears in the composer's Developer mode tool during conversations. Select StoreSEO there, then ask this to confirm the connection works.
PromptUsing the StoreSEO app, show me my store's SEO score breakdown.
How does this work in ChatGPT?
You work in a ChatGPT conversation with the StoreSEO app selected in the composer, and you ask for something like show me product images that have no alt text. ChatGPT calls storeseo_start and then storeseo_list_images. Both are read-only, and ChatGPT uses the read-only annotation to tell them apart from writes. What comes back is a listing of each image with its compression, alt text and file name status, which ChatGPT summarizes in the chat as a table grouped by product, with the largest unoptimized files first unless you ask for another order.
The fixing step is where ChatGPT differs from a terminal. When it reaches storeseo_optimize_image or storeseo_restore_image, OpenAI's developer mode treats them as write actions and shows a confirmation with the payload, so you can read which image and which axes it is about to run. That is on top of the yes StoreSEO tells the agent to wait for, and the confirmation is the hard stop. You can choose to remember the approval for the rest of the conversation, which saves clicks over a run of many images but also removes the pause on each one, so use it only for a batch whose scope you already agreed.
Each call handles one image with the axes you chose, and the response reports compression, file name and alt text separately. ChatGPT can then tell you that an image was compressed but its rename was refused, or that alt text was regenerated, without hiding it behind a single success message. Ask for the work in small batches, such as one product at a time, so the summaries stay readable and each payload you approve is short.
-
You: Which images on my Linen Shirt product have no alt text?
- storeseo_start read-only
- storeseo_list_images read-only
-
ChatGPT: Four of the six Linen Shirt images have no alt text. Alt text spends AI credit, and each call writes one image. Should I generate alt text for those four, one at a time?
-
You: Yes, alt text only.
- storeseo_optimize_image needs approval
-
ChatGPT: The first image now has alt text and ChatGPT is asking you to confirm the next call. Three images remain.
What to ask ChatGPT
Using the StoreSEO app, list my product images with no alt text, grouped by product, and do not change anything yet.
Compress the three heaviest product images and tell me the Image Optimizer quota before you start.
Write alt text only, not file names, for every image on the product Linen Shirt, one image at a time.
- Find my ten heaviest unoptimized product images and compress them. Tell me the quota it will use first.
- Which product images have no alt text at all? Write alt text for the ones on my best seller.
- Optimize every image on the product Canvas Tote: compression, alt text and file name.
- Restore the original alt text on the last image you changed.
- Give my collection images descriptive file names, and warn me which URLs will change.
What StoreSEO does: image seo and alt text
StoreSEO tracks three things per image: file-size compression, alt text and file name. The agent finds the heaviest or unlabelled images, optimizes them one call per image, and can restore any of the three if you do not like the result.
Requires: Compression needs the Image Optimizer add-on and counts against its monthly quota; alt text and file names spend AI Content Optimizer credit.
- 1
Find the images
The agent lists product, collection or article images, heaviest unoptimized first by default. It can filter to images with no alt text, or scope the list to one product by title.
- 2
Check what it found
A title search can also match image file names from other resources, so the agent checks each row belongs to the product you meant.
- 3
Agree the scope and cost
Compression uses image quota and alt text and file names use AI credit, so the agent confirms before working through many images.
- 4
Optimize one image per call
Each call takes the axes you want: compression, alt text, file name or all three. The axes always run compression, then file name, then alt text, and the response reports each one separately.
- 5
Report or restore
The agent reports what applied, what was already done and what was refused. If a result is wrong, the restore tool brings back the original file, alt text or name.
Image SEO and alt text reference
| Axes per image | Compression, alt text, file name |
|---|---|
| Image sources | Products, collections and articles (pages have no images) |
| Batching | One image per call; never two calls on the same image at once |
| Compression | Image Optimizer add-on and its monthly quota; an already compressed image is reported as already applied |
| Alt text and file name | AI Content Optimizer credit; both together are billed as one generation |
| File name change | Renames the file on Shopify and changes the image's storefront URL |
| Collection and article renames | Re-upload the image, so the call can take a couple of minutes |
| Restore | Reverts compression, alt text or file name per axis |
| Score impact | Alt text and file names count on products, collections and articles; compression counts on products |
Rules ChatGPT follows
- The agent confirms the number of images and the kind of spend before a bulk run.
- One image per call, all wanted axes together; never parallel calls on the same image.
- A renamed image has a new URL, so the agent tells you, because anything that hard-coded the old URL keeps serving the old file.
- If a response is lost, the agent re-lists the image instead of retrying, because a retry regenerates and spends again.
- A refused axis, for example compression without the add-on, is reported as such while the other axes still apply.
In ChatGPT
Write actions in ChatGPT depend on your plan. OpenAI's developer guide lists developer mode for Pro, Plus, Business, Enterprise and Education on the web, but as we read OpenAI's help center, full write support is in beta on Business, Enterprise and Edu workspaces and Pro accounts get read access only. On a plan without write actions ChatGPT can still list images and tell you what is wrong, but storeseo_optimize_image and storeseo_restore_image will not run, so apply the fixes from the StoreSEO app or another agent.
What runs without asking. Reads such as SEO scores, store listings, settings and Google reports run straight away. Generating a preview spends AI credit but writes nothing, and StoreSEO tells the agent to say what a generation will cost before it runs one. Applying content, optimizing images, changing settings, publishing llms.txt or agents.md, writing a product description and deleting anything wait for your yes in the conversation. That yes is an instruction the agent follows, not a lock on the server, so your client's own tool-approval setting is the hard stop.
Questions
Will ChatGPT ask me before it compresses or renames an image?
StoreSEO tells the agent to say what a run will cost and wait for your yes, and ChatGPT's developer mode shows a confirmation for write actions such as storeseo_optimize_image. The remember option stops that pause for the rest of the conversation, so keep it off unless the batch is agreed.
Why does ChatGPT list my images but not change them?
Listing is a read, so it runs on any plan that can connect. Optimizing and restoring are writes, and ChatGPT only runs them where your plan or workspace allows write actions in developer mode, so check that setting or apply fixes in the StoreSEO app.
Can the agent compress images without the Image Optimizer add-on?
No. Compression needs the Image Optimizer add-on and counts against its monthly quota. Alt text and file names work without it and spend AI Content Optimizer credit instead.
Can I undo an image optimization?
Yes. The restore tool reverts compression, alt text or file name for one image, per axis. Restoring compression brings back the original file.
Why did my image URL change?
Giving an image a new file name renames the file on Shopify and re-points its storefront URL. Pages that use the image through Shopify keep working, but anything that hard-coded the old URL keeps the old file.
Can I write my own file name or alt text through the agent?
No. StoreSEO writes the alt text and file name from the resource's own context. You can steer the language, and you can always edit alt text yourself in Shopify admin.
Keep going
Image SEO and alt text with other agents
More ChatGPT guides