{"id":2111,"date":"2025-08-18T10:28:12","date_gmt":"2025-08-18T10:28:12","guid":{"rendered":"https:\/\/kb.shortpixel.com\/?post_type=docs&#038;p=2111"},"modified":"2026-10-09T11:38:17","modified_gmt":"2026-10-09T11:38:17","password":"","slug":"ai-image-seo-settings-explained","status":"publish","type":"docs","link":"https:\/\/kb.shortpixel.com\/knowledge-base\/article\/ai-image-seo-settings-explained\/","title":{"rendered":"AI Image SEO Settings &amp; FAQ"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">AI Image SEO writes the ALT text, caption, description, title and, optionally, the filename of your images with AI, so that search engines and screen readers understand them. The feature is available in two ShortPixel plugins that share the same settings:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ShortPixel Image Optimizer (SPIO)<\/strong>: go to <em>Settings \u2192 ShortPixel \u2192 AI Image SEO<\/em>. The features must be switched on first (section 1 below).<\/li>\n\n\n\n<li><strong>ShortPixel AI Alt Text Generator (SPAATG)<\/strong>: a standalone plugin for sites that only want the AI features. The automation switches are on the <em>Account<\/em> tab and the generation options on the <em>AI Image SEO<\/em> tab. There is no on\/off switch: the plugin is active as soon as you add your API key. SPAATG cannot be activated while SPIO is active, and it is deactivated automatically if you activate SPIO later; a notice explains why. SPIO already includes everything SPAATG does.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The settings below are described once for both plugins. Where a setting exists in only one of them, this is noted.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Enable AI Image SEO<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><em>SPIO only.<\/em> Turns the AI features on. When it is on, the other options on this tab appear, and the Media Library shows the <strong>AI Image SEO by ShortPixel<\/strong> panel on every image, with the <em>Generate image SEO data with ShortPixel AI<\/em> button, the current AI data, and the <em>Undo<\/em> and <em>Redo<\/em> buttons. Switching it off hides all of this, but it does not remove any data that was already generated: ALT texts, captions, descriptions, titles and filenames stay as they are.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In SPAATG this switch does not exist. The features are available as soon as the plugin has a valid API key.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Generate image SEO data on upload<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When it is on, every image you upload to the Media Library is sent to the AI right after the upload, and the fields you selected in <em>Choose what to generate<\/em> (section 5) are filled in automatically. In SPIO the AI step runs after the image has been optimized. If your plan has no AI credits left, the upload itself still works and, in SPIO, the image is still optimized; only the AI data is skipped.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Turn this off if you prefer to generate the data yourself, image by image or in bulk. A manual run is always possible from the Media Library panel, whatever this switch is set to.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In SPAATG this switch is on the <em>Account<\/em> tab.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Generate image SEO data during Bulk Processing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><em>SPIO only.<\/em> When it is on, the Bulk Processing page also generates AI Image SEO data for every image it optimizes, following the same options as on upload. You can also change this on the Bulk Processing page itself before you start a run. The bulk summary shows how many AI credits the run needs, or a note that your plan includes unlimited AI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two other ways to process existing images in bulk work independently of this switch:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In SPIO, the Media Library list view has a <strong>Generate Image SEO<\/strong> bulk action for the images you tick, including images that are not optimized yet.<\/li>\n\n\n\n<li>In SPAATG, the <em>Bulk AI SEO<\/em> page processes the whole library, with a preview mode to check the results on a sample of images first.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Keep existing image SEO data<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This setting decides what the AI does with text that is already there.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>On<\/strong> (recommended): the AI fills only the empty fields. An ALT text, caption or description you wrote yourself is never replaced.<\/li>\n\n\n\n<li><strong>Off<\/strong>: the AI replaces the existing text in every field you selected in <em>Choose what to generate<\/em>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Image titles.<\/strong> WordPress always stores a title for an image, usually taken from the filename at upload. Because the field is never empty, the AI may still update the title even with this switch on when <em>Update image title with an SEO-friendly one<\/em> is enabled. Turn that option off if you want to keep your titles untouched.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Filenames<\/strong> are not covered by this switch. Whether a file is renamed depends only on the <em>Generate SEO-friendly filename<\/em> option (section 6) and its own safety rules.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alt text in existing posts and pages.<\/strong> When you place an image in a post, WordPress copies the ALT text into the post content. Changing the ALT text in the Media Library does not change that copy. The dropdown under this switch decides whether the AI run also updates the posts and pages that use the image:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Option<\/th><th>What happens in your posts and pages<\/th><\/tr><tr><td>Don&#8217;t change posts and pages<\/td><td>Only the Media Library field is updated. Existing content is not touched.<\/td><\/tr><tr><td>Add alt text only where it&#8217;s missing (recommended)<\/td><td>Images placed without an ALT text get the new one. Images that already have one keep it.<\/td><\/tr><tr><td>Replace existing alt text<\/td><td>Every placement of the image gets the new ALT text, replacing whatever was there.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The dropdown only applies to the ALT text; captions, descriptions and titles live in the Media Library and are not copied into posts. Classic editor content, Gutenberg image blocks and the data of well-known page builders are updated.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In SPAATG this card is on the <em>Account<\/em> tab.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Choose what to generate: ALT tag, description, caption, title<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Each field has its own switch. Turn on the ones you want the AI to write:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Switch<\/th><th>Where WordPress stores it<\/th><th>Maximum length you can set<\/th><\/tr><tr><td>Generate image ALT tag<\/td><td>Alternative Text field<\/td><td>200 characters<\/td><\/tr><tr><td>Generate image description<\/td><td>Description field<\/td><td>500 characters<\/td><\/tr><tr><td>Generate image caption<\/td><td>Caption field<\/td><td>250 characters<\/td><\/tr><tr><td>Update image title with an SEO-friendly one<\/td><td>Title field<\/td><td>100 characters<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When a switch is on, three extra options appear for that field:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Limit to N characters<\/strong>: the AI keeps the text within this length. Keep ALT texts short (around 125 characters is a common recommendation) so screen readers do not read out a paragraph.<\/li>\n\n\n\n<li><strong>Additional context<\/strong>: extra instructions for this field only, up to 500 characters. For example <em>&#8220;Always mention the product name and the material&#8221;<\/em> for captions on a shop. This is added to the general site context (section 8).<\/li>\n\n\n\n<li><strong>Always add before \/ Always add after<\/strong>: fixed text placed in front of or behind every generated value for this field, up to 50 characters each in SPIO and 100 in SPAATG. Example: with the prefix <em>&#8220;Wow:&#8221;<\/em> and the suffix <em>&#8220;- 2026&#8221;<\/em>, the generated text <em>&#8220;Amazing flower blooming in the spring&#8221;<\/em> is saved as <em>&#8220;Wow: Amazing flower blooming in the spring &#8211; 2026&#8221;<\/em>. Note that a prefix or suffix on the ALT tag is read out by screen readers on every image, so use it sparingly there.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The filename has the same options and is described in the next section.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Generate SEO-friendly filename<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When it is on, the AI also proposes a descriptive filename for the image, for example <code>red-ceramic-bowl-on-oak-table.jpg<\/code> instead of <code>IMG_4821.jpg<\/code>, and the plugin renames the file. The extension is kept. Every thumbnail size, the WebP and AVIF versions and the ShortPixel backup are renamed with the main file, and the links inside your posts, pages and page-builder content are updated to the new name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When a file is renamed, and when it is not.<\/strong> A rename changes the image URL, and nothing outside your site knows about it. To keep existing links safe, the plugin renames a file only in these cases:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The image was just uploaded (the <em>on upload<\/em> setting), so it is not yet used anywhere.<\/li>\n\n\n\n<li>The image is not used in any published post or page. Before renaming, the plugin searches the content and the metadata of published posts, including the data of well-known page builders. If it finds the image, the file keeps its name and only the text fields are generated.<\/li>\n\n\n\n<li>You rename it yourself with the <strong>Rename file<\/strong> field in the Media Library panel. This skips the usage check because you asked for it explicitly, and a warning is shown first.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">An image that is linked from somewhere the plugin cannot see, for example a hard-coded URL in a theme file, a newsletter, or another website, will stop loading there after a rename. No redirect from the old filename is created. The same applies to Google Images results that still show the old URL; they are refreshed when Google re-crawls the page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Options under the switch:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Limit filename to N characters<\/strong> (up to 200). Search engines read only the first few words, so 50 to 80 characters is plenty.<\/li>\n\n\n\n<li><strong>Additional context for filename generation<\/strong> (up to 500 characters), for example <em>&#8220;Start with the product category&#8221;<\/em>.<\/li>\n\n\n\n<li><strong>Always add before \/ after filename<\/strong>: a fixed part added to every generated name, for example your brand. Use letters, numbers and hyphens only; spaces and special characters are converted.<\/li>\n\n\n\n<li><strong>Keep the current filename if it already describes the image<\/strong>: when it is on, the AI judges the existing name first and keeps it if it already says what the image shows. This avoids renaming <code>lisbon-tram-28.jpg<\/code> to <code>yellow-tram-lisbon.jpg<\/code> for no gain. It is off by default.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Undoing a rename.<\/strong> The two plugins differ here. In SPAATG, <em>Revert AI SEO<\/em> restores the previous text fields and, if the file was renamed, the previous filename and the links inside your site. In SPIO, <em>Undo<\/em> restores the text fields only; a renamed file keeps its new name. To get the old name back in SPIO, use the <em>Rename file<\/em> field in the Media Library panel and type the previous name. In both cases no redirect is created, so links outside your site that already point at the new name will break in turn.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Multilingual and offloaded sites.<\/strong> With WPML (including Media Translation) and Polylang, a file shared by several language versions is renamed once and every version is updated. With WP Offload Media the rename is applied in the cloud too, including images that only exist in the cloud, and the files keep their access permissions. Images served by other offloading plugins (S3 Uploads, Infinite Uploads, Bitpoke Stack) are not renamed, and the <em>Rename file<\/em> field is hidden for them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Credits.<\/strong> A filename counts as one more field generated for the image; it does not cost an extra AI credit when generated together with the other fields of the same image.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Use the post\/page title for image SEO<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When it is on, the title of the post or page the image belongs to is sent to the AI together with the image, so the generated text matches the topic of the page. For a photo uploaded while writing an article about Lisbon, the ALT text is more likely to say <em>&#8220;Tram 28 climbing a street in Lisbon&#8221;<\/em> than <em>&#8220;Yellow tram on a hill&#8221;<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The parent is the post or page the image was uploaded to. Images uploaded straight to the Media Library have no parent, so this option adds nothing for them; use the context fields instead. Leave the option off if your post titles are not descriptive (for example numbered galleries or internal codes).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Language and general site context<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Language.<\/strong> The AI writes all fields in the language you pick here. The list contains all languages WordPress supports; the default is your site language. With WPML or Polylang, every language version of an image gets its own data in its own language, and a shared file is renamed only once.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>General site context.<\/strong> A short description of your site that is sent with every request, up to 500 characters: what the site is about, who the audience is, the tone you want. Example: <em>&#8220;Online shop for handmade ceramic tableware; describe products by shape, glaze colour and use; keep a warm, simple tone.&#8221;<\/em> The per-field <em>Additional context<\/em> boxes (section 5) are added on top of this.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Test before you commit.<\/strong> In SPIO, the <em>AI Image SEO Preview<\/em> at the bottom of the tab lets you pick a test image and generate the data with the current settings, without saving anything to the image. In SPAATG, the <em>Bulk AI SEO<\/em> page has a preview mode that does the same for a sample of images. Save the settings first; the preview uses the saved values.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Is the data generated automatically, or do I have to do it image by image?<\/strong> Both. With <em>Generate image SEO data on upload<\/em> on, every new image is handled automatically. Existing images can be processed in bulk (Bulk Processing in SPIO, the Bulk AI SEO page in SPAATG, or the Media Library bulk action) or one at a time from the AI Image SEO panel on the image.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Can I check what the AI will write before it changes my images?<\/strong> Yes. SPIO has the <em>AI Image SEO Preview<\/em> at the bottom of the settings tab; SPAATG has a preview mode on the Bulk AI SEO page. Neither saves anything to the image.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Does the AI see my whole page, or only the image?<\/strong> It sees the image, the general site context, the field-specific context and, if enabled, the title of the parent post or page. It does not read the surrounding text of the page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Will my own ALT texts be overwritten?<\/strong> Not if <em>Keep existing image SEO data<\/em> is on, which is the default. Only empty fields are filled. See that section for how ALT texts already copied into posts are handled.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Can I undo what the AI generated?<\/strong> Yes, per image with <em>Undo<\/em> (SPIO) or <em>Revert AI SEO<\/em> (SPAATG), or for the whole library with the bulk revert option. The previous ALT text, caption, description and title are restored. SPAATG also restores the previous filename when the file was renamed; SPIO does not, see the filename section.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Does renaming a file break my links?<\/strong> Not inside your site: thumbnails and the links in posts, pages and page builders are updated. Files that are already used in published content are not renamed automatically. Links from other websites, newsletters or Google Images to the old URL do break, because no redirect is created. See the filename section for details.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Does AI Image SEO support languages other than English?<\/strong> Yes. Pick the output language in the settings. With WPML or Polylang, every language version of an image gets its own data in its own language.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Can I use the AI Alt Text Generator together with the Image Optimizer?<\/strong> No, and you do not need to. SPIO includes all AI Image SEO features. If both are installed, SPAATG is deactivated while SPIO is active. Use SPAATG alone on sites that do not optimize images with ShortPixel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What happens to the generated data if I cancel my plan or remove the plugin?<\/strong> Nothing. ALT texts, captions, descriptions, titles and filenames are stored in WordPress like any other image data and stay there.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How many credits does it cost?<\/strong> One AI credit per image, whatever the number of fields generated. Plans with unlimited AI are not charged per image. See the <a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/shortpixel.com\/pricing\">pricing page<\/a> for the current plans. When the AI credits are used up, image optimization in SPIO continues as long as optimization credits are available.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>AI Image SEO writes the ALT text, caption, description, title and, optionally, the filename of your images with AI, so that search engines and screen readers understand them. The feature is available in two ShortPixel plugins that share the same settings: The settings below are described once for both plugins. Where a setting exists in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"doc_category":[37,59],"glossaries":[],"doc_tag":[],"class_list":["post-2111","docs","type-docs","status-publish","hentry","doc_category-shortpixel-image-optimizer","doc_category-wordpress-plugins"],"blocksy_meta":[],"year_month":"2026-10","word_count":2440,"total_views":"258","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"admin","author_nicename":"admin_mdli53m5","author_url":"https:\/\/kb.shortpixel.com\/author\/admin_mdli53m5\/"},"doc_category_info":[{"term_name":"ShortPixel Image Optimizer","term_url":"https:\/\/kb.shortpixel.com\/knowledge-base\/category\/shortpixel-image-optimizer\/"},{"term_name":"WordPress Plugins","term_url":"https:\/\/kb.shortpixel.com\/knowledge-base\/category\/wordpress-plugins\/"}],"doc_tag_info":[],"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/docs\/2111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/comments?post=2111"}],"version-history":[{"count":12,"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/docs\/2111\/revisions"}],"predecessor-version":[{"id":2994,"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/docs\/2111\/revisions\/2994"}],"wp:attachment":[{"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/media?parent=2111"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/doc_category?post=2111"},{"taxonomy":"glossaries","embeddable":true,"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/glossaries?post=2111"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/kb.shortpixel.com\/wp-json\/wp\/v2\/doc_tag?post=2111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}