Title: PixelScore – Image SEO Score, Alt Text &amp; WebP Optimizer
Author: emrahsnkli
Published: <strong>September 10, 2026</strong>
Last modified: September 10, 2026

---

Search plugins

![](https://ps.w.org/pixelscore-image-seo-score-alt-text-webp-optimizer/assets/banner-
772x250.png?rev=3690485)

![](https://ps.w.org/pixelscore-image-seo-score-alt-text-webp-optimizer/assets/icon-
256x256.png?rev=3690485)

# PixelScore – Image SEO Score, Alt Text & WebP Optimizer

 By [emrahsnkli](https://profiles.wordpress.org/emrahsnkli/)

[Download](https://downloads.wordpress.org/plugin/pixelscore-image-seo-score-alt-text-webp-optimizer.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/pixelscore-image-seo-score-alt-text-webp-optimizer/#description)
 * [Reviews](https://wordpress.org/plugins/pixelscore-image-seo-score-alt-text-webp-optimizer/#reviews)
 *  [Installation](https://wordpress.org/plugins/pixelscore-image-seo-score-alt-text-webp-optimizer/#installation)
 * [Development](https://wordpress.org/plugins/pixelscore-image-seo-score-alt-text-webp-optimizer/#developers)

 [Support](https://wordpress.org/support/plugin/pixelscore-image-seo-score-alt-text-webp-optimizer/)

## Description

Most image plugins tell you how many kilobytes they saved. That is half the job.
An image that nobody can find and no screen reader can describe is still a wasted
image.

PixelScore gives every image in your media library a score out of 100, built from
the five things that actually decide whether it turns up in Google Images and whether
it passes an accessibility audit:

 * **Alt text** (35 points) – present, descriptive, the right length, unique across
   your library.
 * **File name** (20 points) – `red-leather-handbag.jpg` beats `IMG_4827.JPG`.
 * **Format and weight** (25 points) – modern format, sensible dimensions, well 
   compressed.
 * **Title and caption** (10 points) – still filled in with the raw file name, or
   written for a human?
 * **Page context** (10 points) – an image no page uses will not rank.

Then it fixes them.

#### What it does

 * **Library dashboard** – average score, score distribution, how many images have
   no alt text at all, and a list of your weakest images ranked by what is costing
   them the most points.
 * **One image, one screen** – open any image and see the exact points breakdown
   with a one-click fix for each line.
 * **Alt text suggestions** – built from the file name, the attachment title and
   the page the image sits on. Bulk fill every empty alt text in the library.
 * **Local compression** – JPEG, PNG and WebP re-encoded through your server’s own
   image library. Nothing is uploaded anywhere.
 * **Automatic resize** – oversized originals are scaled down to a maximum you choose.
 * **WebP conversion and delivery** – a WebP copy is written next to each image 
   and served through a `<picture>` element, so browsers that support it get the
   smaller file and caching plugins keep working.
 * **Safe file renaming** – rename `IMG_4827.jpg` to something descriptive. Every
   generated size and every post that uses the image is updated, and the old URL
   sends a 301 redirect to the new one.
 * **Backups** – every original is kept so you can restore any image with one click.
 * **Media library integration** – a score column you can sort, filters for “missing
   alt text”, “poor score” and “not optimized yet”, and bulk actions for rescan,
   optimize and fill alt text.

#### Alt text written by AI, using your site’s own AI provider

Optional, and completely off until an AI provider is configured. Scoring, compression,
resizing, WebP, renaming and the offline alt text suggestions all work with no provider
and no connection at all.

On WordPress 7.0 and later PixelScore uses **the AI client built into WordPress**.
You configure your AI provider once for the site, and PixelScore asks core to describe
the image — the plugin never handles your credentials and never picks a provider
for you. On older WordPress, or if you prefer to keep this feature on a separate
account, you can instead save your own OpenAI API key under Media  PixelScore Settings.

Either way a vision model writes the sentence a person would have written — the 
thing a file name alone can never give you for `IMG_4827.jpg`. It is your own account,
so you see the usage and the bill; nothing is proxied through us, and there are 
no credits to buy. A hard per-run limit (100 images by default) keeps a mis-click
from running up a charge.

See the External services section below for exactly what is sent, and when.

#### Is there a Pro version?

Yes: **PixelScore Pro – AI Image SEO and Alt Text Generator** is a separate plugin
that adds Anthropic Claude, Google Gemini and OpenRouter as alternative providers,
plus AVIF delivery, WooCommerce product context, scheduled background runs and a
CSV audit report. It is a different plugin with its own code — nothing in this one
is disabled, limited or time-restricted.

### External services

This plugin can send data to an AI provider, and only if you choose to use the optional“
alt text written by AI” feature. Nothing else in the plugin ever contacts anything.

**What is sent, and when.** Whichever route below is in use, a request is made only
at these three moments, each of which you trigger:

 1. when you press “Describe every image with no alt text” on the PixelScore screen,
 2. when you run the “PixelScore: write alt text with AI” bulk action in the media 
    library,
 3. when you press “Test connection” on the settings screen.

Each request sends:

 * a copy of the one image being described, downscaled on your server to a maximum
   of 768 pixels on its long edge and re-encoded as JPEG,
 * a short text instruction that contains the title of the page the image is used
   on (when it is used on one), the “what the site is about” words you typed into
   the settings screen, and the target language.

Nothing else is sent. No visitor data, no site statistics, no usage tracking, no
other images and no other content.

#### The WordPress AI client (default on WordPress 7.0 and later)

**What it is and what it is used for.** WordPress 7.0 includes an AI client of its
own. Where it exists, PixelScore hands the image and the instruction to that client
and WordPress performs the request, using the AI provider **you** configured for
the site.

**Who the data goes to.** Whichever provider your site is configured to use. PixelScore
does not choose it, does not see the credentials and contacts no endpoint of its
own on this route. If your site has no AI provider configured, no request is made
and the feature reports that AI is not configured.

**Terms and privacy.** Those of the provider you configured for your site. Review
them before enabling the feature; you are responsible for that account.

#### OpenAI (optional, chosen by you)

**What it is and what it is used for.** On WordPress versions without the core AI
client, or when you deliberately pick “OpenAI” on the settings screen, PixelScore
calls OpenAI directly with an API key of your own. OpenAI provides the vision model
that writes alt text describing what is in an image.

**Nothing is sent unless you enable it.** No request of any kind is made on this
route until you save an OpenAI API key of your own under Media  PixelScore Settings.
With no key saved, no data ever leaves your server.

**What is additionally sent.** Your own OpenAI API key, as the request’s authorization
header.

**Endpoint.** `POST https://api.openai.com/v1/chat/completions` — this is the only
endpoint this plugin contacts directly.

**One link, never a request.** The settings screen shows a “get an API key” link
pointing at `https://platform.openai.com/api-keys`. It is an ordinary link for you
to click in the admin area; the plugin never sends a request to that address, and
nothing is contacted when the settings page loads.

**Terms and privacy.** This service is provided by OpenAI: [terms of use](https://openai.com/policies/terms-of-use),
[privacy policy](https://openai.com/policies/privacy-policy). You are responsible
for your own OpenAI account and for reviewing their terms before enabling the feature.

#### Everything else

Every other operation — scoring, compression, resizing, WebP conversion, offline
alt text suggestions, file renaming and redirects — runs entirely on your own server
using the GD or Imagick library your host already provides. There is no account,
no telemetry and no tracking anywhere in this plugin.

## Screenshots

[⌊The library dashboard: average score, distribution and the weakest images.⌉⌊The
library dashboard: average score, distribution and the weakest images.⌉[

The library dashboard: average score, distribution and the weakest images.

[⌊A single image with its points breakdown and one-click fixes.⌉⌊A single image 
with its points breakdown and one-click fixes.⌉[

A single image with its points breakdown and one-click fixes.

[⌊The media library with the sortable Image SEO column and the score filters.⌉⌊The
media library with the sortable Image SEO column and the score filters.⌉[

The media library with the sortable Image SEO column and the score filters.

[⌊Settings: quality, maximum dimensions and what should happen automatically.⌉⌊Settings:
quality, maximum dimensions and what should happen automatically.⌉[

Settings: quality, maximum dimensions and what should happen automatically.

## Installation

 1. Upload the plugin to `/wp-content/plugins/` or install it from the Plugins screen.
 2. Activate it.
 3. Go to **Media  PixelScore** and press **Scan the whole library**.
 4. Work down the “Weakest images” list, or use **Media  PixelScore Settings** to turn
    on optimization for new uploads.

## FAQ

### Does this send my images to a third party server?

Only if you enable the optional AI alt text feature, and then only for the individual
images you ask it to describe. It goes to the AI provider your site is configured
to use — through the WordPress AI client on WordPress 7.0 and later, or directly
to OpenAI with a key you saved yourself. With no provider configured the plugin 
makes no HTTP requests at all. Compression, resizing, WebP, scoring and renaming
never leave your server under any configuration. The full disclosure is in the External
services section above.

### What happens to my original files?

With “Keep a backup” enabled (the default) the untouched original of every file 
is copied into `wp-content/uploads/pixelscore-backup/` before anything is changed.
The **Restore original** button puts it back and re-scores the image.

### Is renaming a file safe?

It is the riskiest thing the plugin does, so it is never automatic. When you rename
an image, PixelScore renames every generated size, updates the attachment record,
rewrites the URL in every post that uses it, and stores a 301 redirect from the 
old path. The rewrite happens through the normal post update API, so a revision 
is created and you can roll a post back.

### My server cannot write WebP files

The dashboard tells you when that is the case. Scoring, compression, resizing, alt
text and renaming all still work; only the WebP conversion is skipped. Ask your 
host to enable WebP support in GD or Imagick.

### What does the AI cost?

Whatever your own AI account charges for one small vision request per image. The
image is downscaled to 768 pixels before sending, which is the cheapest input size
that still describes reliably, and the default model is one of the smaller ones.
A 3,000 image library is 3,000 requests, so set the per-run limit to something you
are comfortable with before you start.

### Will the score reach 100 for every image?

Only if the image deserves it. Decorative images that are not used on any page will
legitimately lose the context points. The score is a diagnostic, not a target to
game.

### Does it work with page builders?

Scoring, compression, WebP and alt text work everywhere, because they operate on
the media library. The URL rewrite after a rename only covers `post_content`, so
if a builder stores image URLs in its own tables or post meta, check those pages
after renaming.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“PixelScore – Image SEO Score, Alt Text & WebP Optimizer” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ emrahsnkli ](https://profiles.wordpress.org/emrahsnkli/)

[Translate “PixelScore – Image SEO Score, Alt Text & WebP Optimizer” into your language.](https://translate.wordpress.org/projects/wp-plugins/pixelscore-image-seo-score-alt-text-webp-optimizer)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/pixelscore-image-seo-score-alt-text-webp-optimizer/),
check out the [SVN repository](https://plugins.svn.wordpress.org/pixelscore-image-seo-score-alt-text-webp-optimizer/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/pixelscore-image-seo-score-alt-text-webp-optimizer/)
by [RSS](https://plugins.trac.wordpress.org/log/pixelscore-image-seo-score-alt-text-webp-optimizer/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.1

 * Fix: on a WordPress 7.x site with no AI provider connected, the plugin treated
   the WordPress AI route as ready and only failed when you pressed the button. 
   It now checks whether a provider is actually configured, so the AI alt text screen
   tells you the truth up front and OpenAI stays the default until core AI is genuinely
   available.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.1**
 *  Last updated **2 months ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [accessibility](https://wordpress.org/plugins/tags/accessibility/)[Alt Text](https://wordpress.org/plugins/tags/alt-text/)
   [image optimizer](https://wordpress.org/plugins/tags/image-optimizer/)[image seo](https://wordpress.org/plugins/tags/image-seo/)
   [webp](https://wordpress.org/plugins/tags/webp/)
 *  [Advanced View](https://wordpress.org/plugins/pixelscore-image-seo-score-alt-text-webp-optimizer/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/pixelscore-image-seo-score-alt-text-webp-optimizer/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/pixelscore-image-seo-score-alt-text-webp-optimizer/reviews/)

## Contributors

 *   [ emrahsnkli ](https://profiles.wordpress.org/emrahsnkli/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/pixelscore-image-seo-score-alt-text-webp-optimizer/)