Auto Alt Text
This plugin implements the automatic creation of alt text for images uploaded to the media library. The alt text is generated at the time of uploading the image and it is also possible to generate the alt text for images already present in the media library. To generate the alt text, you can choose to use the artificial intelligence of OpenAI, Anthropic Claude, Google Gemini or Azure, or decide if you simply want to copy the title of the article where the image is uploaded or the name of the image. Clearly, using artificial intelligence will allow for a more accurate and useful alt texts. Features This plugin allows you to generate alt texts in the following ways: – using Openai APIs (the most recently released models and any other compatible model available on your account) – using Anthropic Claude API – using Google Gemini API – using Azure APIs for computational vision; – recovering the title of the image – recovering the title of the article in which the image is uploaded It can also fill in, on the fly, the missing alt texts of the images already published in your content, using the alt text stored in the media library. Getting Started After installing the plugin, click on the ‘Auto Alt Text’ menu item. Choice of Generation Method Select the Generation Method you prefer OpenAI’s APIs In your OpenAI account, retrieve the following data to enter on the options page: – API Key Once the API Key is saved, the list of the models available on your account is retrieved directly from OpenAI, so you can always choose among the up-to-date models. If the model you selected is retired by OpenAI, a notice is displayed in the administration area and the least expensive available model is used as a fallback until you choose a new one. Choose the model you want to use for generating the alt text. Enter a prompt for generating the alt text according to your needs. Claude Anthropic’s APIs In your Anthropic account, retrieve the following data to enter on the options page: – API Key Choose the model you want to use for generating the alt text. Enter a prompt for generating the alt text according to your needs. Google Gemini’s APIs In your Google AI Studio account, retrieve the following data to enter on the options page: – API Key Once the API Key is saved, the list of the models available on your account is retrieved directly from Google, so you can always choose among the up-to-date models. If the model you selected is retired by Google, a notice is displayed in the administration area and the least expensive available model is used as a fallback until you choose a new one. Choose the model you want to use for generating the alt text. Enter a prompt for generating the alt text according to your needs. Azure’s APIs On your Azure account, create a Computer Vision instance and retrieve the following data to enter on the options page: – Computer Vision API Key – Computer Vision Endpoint If you want to generate an alt text in English, save the options without filling in any other fields. If you want to generate an alt text in a different language, on your Azure account, create a Translator instance and retrieve the following data to enter on the options page: – Translator Instance API Key – Translator Instance Endpoint – Translator Instance Region After entering this data, save the options. Select the desired language and save the options again. Title of the article For this generation method, there are no options to set as the alt text will be generated by copying the title of the article in which the image is uploaded. In case the article is not uploaded as an attachment of an article, the “Title of the attachment” method will be used as a fallback. Title of the attachment For this generation method, there are no options to set as the alt text will be generated by copying the title of the image. Functioning Once the plugin is configured, each time an image is uploaded to the media library, an alt text will be automatically set based on the selected generation method. For images already in the media library, you can create bulk alt texts. Open the Media Library in the “list” view, select the images for which to generate the alt text, and choose the “Generate alt text” bulk action. (Depending on the number of images chosen and their weight, this may take some time.) You can also generate the alt text of a single image directly from the media library. Open the Media Library in “grid” mode, choose the image for which to generate the alt text, and click the “Generate alt text” button. In no time the alt text field will be overwritten by the generated description. Automatic alt text rendering in content Images that were inserted in your posts and pages before the alt text was generated keep the empty alt attribute saved in the content, even after the media library has been filled. By enabling the “Automatically render alt text in content” option, when a page is displayed the plugin looks at every image of the content and, for those without an alt text, it writes the alt text stored in the media library (when available). Images that already have an alt text are never touched, and your saved content is not modified in any way: the alt text is only added to the rendered HTML. The option is disabled by default and it is independent of the chosen generation method. Developers can also control this behaviour with two filters: aatxt_content_alt_text_enabled to skip the processing for a specific request, and aatxt_content_image_alt_text to filter the alt text before it is written into the image tag. WP-CLI If you prefer generating alt text in batch (e.g., to avoid processing in the Media Library UI), you can use WP-CLI. This is the recommended way to work on a large media library: the bulk action of the Media Library runs inside a single web request, so depending on your server settings (PHP max_execution_time, PHP-FPM request_terminate_timeout, web server or proxy timeouts) it can be interrupted before all the selected images have been processed. WP-CLI is not affected by those limits, shows a progress bar and can be resumed with --offset. Generate alt text for a list of attachment IDs: wp auto-alt-text generate --ids=123,456,789 Process all image attachments in batches: wp auto-alt-text generate --all --limit=200 --offset=0 wp auto-alt-text generate --all --limit=200 --offset=200 Dry run (no metadata updates): wp auto-alt-text generate --ids=123,456 --dry-run Force overwrite of existing alt text (even if “Keep existing alt text” is enabled): wp auto-alt-text generate --all --limit=200 --offset=0 --force Notice: If you choose one of the methods that involves the use of external APIs, the upload times for images in the media library might increase because it requires sending a request to the APIs, waiting for the external server to process, and waiting for a response. Logging If the generation of the alt text via AI is set, in case of errors, to avoid blocking the editorial work, the image is loaded anyway but without the alt text being compiled. When a call to the OpenAI, Anthropic, Gemini or Azure API fails, a record containing the error message is saved in a custom database table. In this case, the cause of the error can be seen on the Auto Alt Text -> Error log page. External Services This plugin uses the following external services alternatively: OpenAI Selecting the generation method “OpenAI’s APIs” will use the API services of OpenAI. This plugin does not collect any information from your OpenAI account. The data transmitted to OpenAI mainly consists of the image files uploaded to your website and the specified prompt. For accurate information on privacy and conditions of use, please consult the privacy policy and terms and conditions directly on the official website. It is also advisable to check the costs and usage statistics of the API service on the OpenAI website. Anthropic Claude Selecting the generation method “Anthropic’s APIs” will use the API services of Anthropic. This plugin does not collect any information from your Anthropic Claude account. The data transmitted to Anthropic Claude mainly consists of the image files uploaded to your website and the specified prompt. For accurate information on privacy and conditions of use, please consult the privacy policy, terms and conditions for consumers and terms and conditions for commercial directly on the official website. It is also advisable to check the costs and usage statistics of the API service on the Anthropic website. Google Gemini Selecting the generation method “Google Gemini’s APIs” will use the API services of Google Gemini. This plugin does not collect any information from your Google account. The data transmitted to Google mainly consists of the image files uploaded to your website and the specified prompt. For accurate information on privacy and conditions of use, please consult the privacy policy and terms of service directly on the official website. It is also advisable to check the costs and usage statistics of the API service on the Google AI website. Azure Selecting the “Azure’s APIs” generation method will use the API services of Microsoft Azure. This plugin does not collect any information from your Azure account. The data transmitted to Azure consists mainly of image files uploaded to your website. For accurate information on privacy and conditions of use, please directly consult the privacy policy and terms and conditions on the official website. It is also advisable to check the costs and usage statistics of the API service on the Microsoft Azure’s website. Encryption Constants We strongly recommend defining the new plugin-specific constants in your wp-config.php: define( 'AATXT_ENCRYPTION_KEY', 'a_random_string_of_at_least_64_characters' ); define( 'AATXT_ENCRYPTION_SALT', 'another_random_string_of_at_least_64_characters' ); You will find these two define(…) lines already generated for you on the Auto Alt Text » Options page – simply copy & paste them before the /* That's all, stop editing! Happy publishing. */ line in your wp-config.php. If you choose not to add them, the plugin will continue to work normally, but it will fall back to using your WordPress LOGGED_IN_KEY / LOGGED_IN_SALT, which may break if those salts are ever changed. Disclaimer Auto Alt Text is a plugin that helps users automatically generate Alt Texts of their images using AI services such as OpenAI’s ChatGPT or Microsoft Azure. Users need their own API key and must follow the rules set by the AI service they choose. By using Auto Alt Text, users agree to watch and manage AI-made content and address any issues or misuse. AI Engine developer and related parties are not responsible for any problems or losses caused by the use of the plugin or AI-generated content. Credits A big thank you to everyone who has improved this plugin with a pull request: joshuafredrickson – native WP-CLI support for batch alt text generation, and the Media Library bulk action redirect fix that preserves pagination and filters The full list is available on the contributors page. Contributions are welcome: feel free to open an issue or a pull request on GitHub.
Top keywords
- alt50×2.63%
- alt text44×2.31%
- text44×2.31%
- api19×1.00%
- image19×1.00%
- generate17×0.89%
- library15×0.79%
- media15×0.79%
- media library15×0.79%
- openai14×0.74%
- azure13×0.68%
- choose13×0.68%
VidSEO – Video transcript embedding for WordPress & LLM
VidSEO is a WordPress plugin designed to solve a common and often overlooked problem: valuable information explained in videos is largely invisible to machines. Videos are excellent for human visitors, but search engines, screen readers, and modern answer engines still rely primarily on text to understand what a page contains. When important explanations live only in audio or video form, machines are forced to approximate or ignore that content. VidSEO addresses this limitation by exposing video transcripts as native HTML text directly embedded in the page, alongside the video itself. This allows machines to read what is said in the video without guessing. VidSEO does not generate content. VidSEO does not summarize or rewrite transcripts. VidSEO does not infer missing information. Its role is exposure, not interpretation. A precise, machine-first definition of VidSEO and its scope is available here: https://vidseo.dev Why transcripts still matter Despite major advances in search and AI systems, video content remains fundamentally opaque without an explicit text surface. Search engines may detect that a video exists, but they rely on surrounding text to understand its meaning. Language models face the same constraint: without readable text, they must infer what a video contains. By rendering transcripts as clean HTML, VidSEO ensures that: – the meaning expressed in the video is explicitly available, – long explanations delivered in video form are preserved as text, – machines do not need to extrapolate or hallucinate. Industry context This limitation is now widely acknowledged across the industry. In its January 2026 guide on AEO and GEO, Microsoft highlights the importance of exposing readable text surfaces alongside video content so answer engines and AI systems can reliably extract meaning. From Discovery to Influence: A Guide to AEO and GEO VidSEO provides a concrete WordPress implementation aligned with this principle. What VidSEO allows you to do With VidSEO, you can: Embed YouTube or Vimeo videos using a simple shortcode Retrieve existing YouTube subtitles automatically (when available) Associate each video with a full text transcript Display the transcript as clean HTML inside the page Structure transcripts with headings, paragraphs and links (PRO) Hide the transcript visually while keeping it readable in the source code Keep full editorial control over the transcript content Common situations where VidSEO is useful VidSEO is often used when: Important information is explained mainly in video form Videos contain long explanations, tutorials, interviews or talks You want search engines to understand what is said in your videos Accessibility requires a text alternative to audiovisual content You want to reuse existing video subtitles as readable page content Example A tutorial video explains a complex process in several minutes. With VidSEO, the full explanation becomes readable text on the same page. Search engines and answer engines can now understand what is explained, even if the visitor never plays the video. How it works VidSEO adds a dedicated content type to WordPress. For each video, you: – choose the video platform (YouTube or Vimeo), – paste the video URL, – retrieve existing YouTube subtitles automatically (when available) or add a transcript manually, – optionally format the transcript using standard HTML, – insert the generated shortcode anywhere on your site. The transcript is rendered as standard HTML directly in the page, without external files, iframes, or API dependencies. About the publisher VidSEO is developed by Pagup, a digital readability firm based in Quebec, Canada. Video content is increasingly consumed and summarized by AI systems. Without structured video metadata (VideoObject schema, proper titles, descriptions, and thumbnail references), your videos are invisible to the machine reading layer. VidSEO ensures that your video content is described in a structured format that search engines and AI systems can parse, index, and cite. Part of the Pagup ecosystem pagup.com — Digital readability firm. Diagnostic, semantic architecture, AI governance. gautierdorval.com — Doctrine, canonical definitions, interpretive governance research. interpretive-governance.org — Formal versioned standard for interpretive governance. vidseo.dev — Documentation and resources for VidSEO. Technical references VidSEO outputs transcripts as native HTML within the page DOM. No external files. No API dependencies. No inference layer. Canonical definition and scope: https://vidseo.dev Interpretability reference: https://github.com/GautierDorval/vidseo-video-llm-interpretability Who develops VidSEO? VidSEO is developed by Pagup, a digital readability firm based in Quebec, Canada. Pagup specializes in semantic architecture, interpretive SEO, and AI governance. Why does video structured data matter for AI systems? AI systems rely on structured data to understand what a video contains, who produced it, and how it relates to the page it appears on. Without VideoObject schema markup, your video is just an embedded iframe — the system cannot extract its title, description, duration, or thumbnail. This means your video content does not contribute to your site’s overall digital readability and cannot be cited in AI-generated answers. What is digital readability? Digital readability is the capacity of a website to be correctly understood by all four reading layers: humans, search engines, generative AI systems, and autonomous agents. Learn more at pagup.com.