Title: Filikod – ALT Text Audit &amp; Bulk Management
Author: Filikod
Published: <strong>06.12.2025</strong>
Last modified: 20.09.2026

---

Търсене на разширения

![](https://ps.w.org/filikod/assets/banner-772x250.jpg?rev=3468108)

![](https://ps.w.org/filikod/assets/icon-256x256.png?rev=3413288)

# Filikod – ALT Text Audit & Bulk Management

 От [Filikod](https://profiles.wordpress.org/lyode/)

[Изтегляне](https://downloads.wordpress.org/plugin/filikod.1.2.0.zip)

 * [Детайли](https://bg.wordpress.org/plugins/filikod/#description)
 * [Оценки](https://bg.wordpress.org/plugins/filikod/#reviews)
 *  [Инсталиране](https://bg.wordpress.org/plugins/filikod/#installation)
 * [Разработка](https://bg.wordpress.org/plugins/filikod/#developers)

 [Поддръжка](https://wordpress.org/support/plugin/filikod/)

## Описание

Most WordPress sites have broken ALT text, and most site owners have no way to measure
it.

Missing, generic, duplicated or too-short ALT text quietly hurts your accessibility
score and your image SEO. The problem stays invisible until it is too late.

**Filikod scans your entire media library, gives you an ALT Quality Score from 0
to 100%, and gives you the tools to fix everything in bulk, directly inside WordPress.**

No external API. No credits to buy. No complex setup.
 You write the ALT text. You
stay in control.

[Full documentation and guides on filikod.com](https://filikod.com/)

#### Who is Filikod for?

Filikod is built for:

 * **SEO professionals** who want ALT text treated as a measurable ranking signal,
   not an afterthought
 * **Accessibility-focused teams** who need a structured audit to meet WCAG guidelines
 * **Content managers** with large media libraries who need to fix issues fast, 
   in bulk
 * **Agencies** managing multiple WordPress sites who need a repeatable quality 
   process
 * **Anyone who wants full control** over their ALT text quality at scale, without
   external services or paid credits

#### ALT Text Audit and Quality Score

Filikod scans your entire media library and instantly flags:

 * **Missing ALT**: images with no ALT attribute at all
 * **Generic ALT**: meaningless values like „image“, „photo“, „logo“, „thumbnail“,„
   untitled“
 * **Too Short ALT**: descriptions too brief to be useful for accessibility or SEO
 * **Duplicated ALT**: the same ALT text reused across multiple images

You get a clear **ALT Quality Score from 0 to 100%** plus a breakdown by issue type,
so you always know exactly what to fix first.

This turns ALT text from a vague, invisible problem into a measurable system you
can actually improve, like a health score for your media library.

#### Bulk ALT Management

Editing ALT text one image at a time is the reason most people never finish.

Filikod lets you:

 * Filter images by issue type (missing, generic, short, duplicated)
 * Edit ALT text inline, directly from the audit view
 * Save instantly without leaving the page
 * Fix dozens or hundreds of images in minutes

Built for real media libraries with thousands of images, not tidy demos with five.

#### Context-Based Editing

Good ALT text requires context. What is this image actually about on this page?

Filikod shows you **where each image is used** (which post or page) so you can jump
directly to the content and write accurate, relevant ALT text. No guesswork.

#### Duplicate Image Detection

The same logo uploaded three times, the same photo dropped into two pages by two
editors: exact copies pile up in every real media library, waste disk space and 
split your ALT work across files.

Filikod fingerprints the original file of every image (md5, computed on upload and
back-filled for your existing library by a batched scan) and lists every group of
identical copies in **Filikod > Duplicates**:

 * One row per copy with thumbnail, file name, ID, dimensions, size, upload date,**
   Context** (where it is used) and ALT text
 * The oldest copy is flagged so you know which one to keep
 * Redundant files and wasted space are summed up on the Dashboard

Detection only: Filikod never deletes or merges anything. You decide from the Media
Library once you have checked where each copy is used.

Multilingual sites are handled. Media linked as translations of each other by **
Polylang**, **WPML** (Media Translation) or **Bogo**, one attachment per language
for the same file, are intentional and never reported as duplicates; unlinked copies
are listed with their language so you can link them or keep one. **Weglot**, **GTranslate**
and **TranslatePress** translate on the fly and never duplicate media, **WPGlobus**
keeps every language in the same post, and **MultilingualPress** uses one media 
library per site, each scanned on its own: nothing to configure with them.

Once the library is scanned, every copy carries a red **Duplicate file** badge in
the Media Library grid and a **Duplicate** warning in the attachment details listing
every copy of the group, with a link to the Duplicates page. The **Duplicate Upload
Alert** (on by default, switch in Settings > Optimizations) adds a notice in the
uploader the moment you upload a copy of an existing image. Nothing is blocked.

Bonus for the ALT Audit: identical files sharing the same ALT text are no longer
reported as **Duplicated ALT**, and neither are the language versions of one media
created by WPML, Polylang or Bogo. That was never an ALT problem, it was a duplicate
file or a translation.

#### Native Media Library (Media > Library)

See ALT health **where you already work**: Filikod adds **ALT Status** badges directly
in **Media > Library**, in both list and grid views.

 * **List view**: a dedicated **ALT Status** column with one badge per issue, or
   a green **Alt: OK** when everything is fine
 * **Grid view**: badges as an overlay on each thumbnail so you can scan your entire
   library at a glance
 * **Attachment details**: an **ALT Status** field that updates live as you type,
   so you see the result before saving

Multiple badges can appear on the same image when several issues apply. The cache
refreshes automatically whenever ALT text is changed anywhere in WordPress.

#### Optional Automation

For teams who need to process large volumes, Filikod includes optional automation
tools, all disabled by default:

 * Generate ALT from filename (only for images that have no ALT yet)
 * Remove special characters from ALT text (slashes, dashes, underscores)
 * Remove title attribute from images (reduces redundancy, improves accessibility)
 * Bulk process your entire existing media library in one click

Execution order is always enforced: generate ALT from filename, clean special characters,
then remove title. Predictable. Consistent. Always yours to control.

#### How Filikod Compares

Most ALT text plugins do one thing: auto-generate ALT on upload, often using a paid
credit system.

Filikod is an ALT audit and bulk management system. It works on your existing library,
gives you a measurable quality score, and lets you fix issues at scale with full
editorial control.

What only Filikod does:

 * ALT Quality Score (0 to 100%) across your entire library
 * **ALT Status badges in the native Media Library** (list column, grid overlay,
   attachment details) with live updates after save
 * Detects generic ALT values like „photo“, „image“, „logo“
 * Detects duplicated ALT text reused across multiple images
 * Detects ALT text that is too short to be useful
 * Bulk filtering by issue type (missing, generic, short, duplicated)
 * **Detects duplicate images** (exact copies uploaded more than once) with their
   usage context, without deleting anything
 * Works on images already in your media library
 * No external API, no credits, no subscription required
 * Full editorial control: you write and validate every ALT text

If you want full visibility and control over your ALT text quality at scale, Filikod
is exactly that.

#### Compatibility

 * Works with any theme
 * Compatible with Elementor, Divi, Gutenberg, WPBakery and most major page builders
 * Single site and multisite supported
 * Multilingual: Polylang, WPML, Bogo (translation links respected by the duplicate
   detection), Weglot, GTranslate, TranslatePress, WPGlobus, MultilingualPress
 * No external services required, runs entirely inside WordPress

[Learn more at filikod.com](https://filikod.com/)

## Снимки на разширението

[⌊Dashboard: ALT Quality Score (0–100%) with donut gauge and legend, issue counts(
missing, generic, too short, too long, duplicated, decorative), optional Media Size
Savings impact, and Library Overview (total images, total size, average size). Optional
automation toggles summarized on the side.⌉⌊Dashboard: ALT Quality Score (0–100%)
with donut gauge and legend, issue counts (missing, generic, too short, too long,
duplicated, decorative), optional Media Size Savings impact, and Library Overview(
total images, total size, average size). Optional automation toggles summarized 
on the side.⌉[

**Dashboard**: ALT Quality Score (0–100%) with donut gauge and legend, issue counts(
missing, generic, too short, **too long**, duplicated, **decorative**), optional**
Media Size Savings** impact, and **Library Overview** (total images, total size,
average size). Optional automation toggles summarized on the side.

[⌊ALT Audit: Filter tabs for Missing, Generic, Too short, Too long, Duplicated, 
and Decorative; table with thumbnail, filename, Context (where the image is used),
editable ALT field, issue label, a dedicated Decorative column with a toggle switch(
auto-saved), and a per-row Save action. Duplicated ALT grouped for fast fixes.⌉⌊
ALT Audit: Filter tabs for Missing, Generic, Too short, Too long, Duplicated, and
Decorative; table with thumbnail, filename, Context (where the image is used), editable
ALT field, issue label, a dedicated Decorative column with a toggle switch (auto-
saved), and a per-row Save action. Duplicated ALT grouped for fast fixes.⌉[

**ALT Audit**: Filter tabs for Missing, Generic, Too short, **Too long**, Duplicated,
and **Decorative**; table with thumbnail, filename, **Context** (where the image
is used), editable **ALT** field, issue label, a dedicated **Decorative** column
with a toggle switch (auto-saved), and a per-row **Save** action. Duplicated ALT
grouped for fast fixes.

[⌊Settings: Accessibility / SEO: Toggles for automatic ALT from filename, optional
title-attribute removal, and special-character cleanup; Process Existing Images 
for bulk apply; Save Changes.⌉⌊Settings: Accessibility / SEO: Toggles for automatic
ALT from filename, optional title-attribute removal, and special-character cleanup;
Process Existing Images for bulk apply; Save Changes.⌉[

**Settings: Accessibility / SEO**: Toggles for automatic ALT from filename, optional
title-attribute removal, and special-character cleanup; **Process Existing Images**
for bulk apply; **Save Changes**.

[⌊Attachment details: Native media modal/sidebar with Alternative Text and Filikod
ALT Status (e.g. green Alt: OK when rules pass), so you see health next to the field
while you edit.⌉⌊Attachment details: Native media modal/sidebar with Alternative
Text and Filikod ALT Status (e.g. green Alt: OK when rules pass), so you see health
next to the field while you edit.⌉[

**Attachment details**: Native media modal/sidebar with **Alternative Text** and
Filikod **ALT Status** (e.g. green **Alt: OK** when rules pass), so you see health
next to the field while you edit.

[⌊Media Library (grid): Thumbnails with ALT Status badges (e.g. Alt: OK on qualifying
images) for a quick scan of library-wide ALT health.⌉⌊Media Library (grid): Thumbnails
with ALT Status badges (e.g. Alt: OK on qualifying images) for a quick scan of library-
wide ALT health.⌉[

**Media Library (grid)**: Thumbnails with **ALT Status** badges (e.g. **Alt: OK**
on qualifying images) for a quick scan of library-wide ALT health.

## Инсталиране

 1. Install from **Plugins > Add New** (search „Filikod“) or upload the plugin zip 
    manually
 2. Activate Filikod
 3. Go to **Filikod > Dashboard** to see your ALT Quality Score
 4. Go to **Filikod > ALT Audit** to find and fix issues by type
 5. Open **Media > Library** to see **ALT Status** in list or grid view, and in each
    image’s attachment details
 6. Configure optional automation in **Filikod > Settings**

## ЧЗВ

### Does Filikod generate ALT text automatically?

Yes, but it is optional and filename-based. Filikod generates ALT from the image
filename only for images that have no ALT text yet. Its core strength is structured
ALT audit and bulk management, so you always stay in control of your content.

### Does Filikod use AI to write ALT text?

Not currently. ALT generation is based on the image filename. The core philosophy
of Filikod is editorial control: you decide what each image means in context. Filikod
gives you the visibility and tools to write accurate ALT yourself, or to review 
and validate what automation produces.

### How is Filikod different from Image Attributes Pro or BIALTY?

Image Attributes Pro and similar filename-based plugins set ALT text automatically
from the filename. They do not audit your existing library, detect generic or duplicated
ALT, or give you a quality score. Filikod gives you a structured audit across your
entire media library and the tools to fix issues in bulk, including images uploaded
before you installed the plugin.

### Does it work on images already in my media library?

Yes. Filikod scans and processes your entire existing media library, including images
uploaded before installation. You can run a bulk process from the Settings page 
at any time.

### Does Filikod modify my image files?

**Not by default.** All ALT features (audit, score, bulk editing, badges) only change
the `_wp_attachment_image_alt` meta in WordPress and never touch your binary image
files.

The only exception is the optional **Automatic Image Resizing** feature (Settings
> Optimizations, disabled by default). When you enable it, images wider than your
maximum width are resized and **the original file is replaced by the resized version**.
This is not reversible, so make sure you have a backup before running it on your
existing library.

### What is the ALT Quality Score?

It is a score from 0 to 100% that reflects the overall ALT text health of your media
library. It takes into account the proportion of images with missing, generic, too-
short, and duplicated ALT attributes. It gives you a single measurable number you
can track and improve over time, like an SEO or accessibility health metric.

### Can I bulk edit ALT text?

Yes. The ALT Audit page lets you filter images by issue type (missing, generic, 
short, duplicated) and edit ALT text inline. Changes save instantly without reloading
the page.

### Is it compatible with Elementor, Divi, WPBakery, and Gutenberg?

Yes. Filikod manages ALT attributes directly in the WordPress media library, independently
from your theme or page builder. Compatibility is universal.

### Does Filikod detect duplicate images?

Yes. Filikod > Duplicates lists every group of identical files (same md5 fingerprint)
with thumbnail, size, upload date, usage context and ALT text, and flags the oldest
copy. Run „Scan library“ once to fingerprint your existing images; new uploads are
fingerprinted automatically. Filikod only detects: it never deletes or merges files,
you clean up from the Media Library when you are sure. Resized or re-encoded variants
of a picture are different files and are not reported as duplicates. An optional
Duplicate Upload Alert (Settings > Optimizations) warns you right after uploading
a copy of an existing image.

### Does it work on multisite installations?

Yes. Filikod supports WordPress multisite.

### Is Filikod an image optimizer like Smush or Imagify?

No. Filikod does not compress images, convert to WebP, or serve images via CDN. 
It focuses entirely on ALT text quality: the audit, the score, and the tools to 
fix issues at scale. You can use a dedicated image optimizer alongside Filikod without
any conflict.

### Where can I find documentation?

Full documentation is available at [filikod.com](https://filikod.com/).

## Отзиви

![](https://secure.gravatar.com/avatar/9861c1229deb1fe4e251bceb006f24f3bd9573fcc7d5d4164e7dabb89ec0a8b7?
s=60&d=retro&r=g)

### 󠀁[Super extension](https://wordpress.org/support/topic/super-extension-52/)󠁿

 [French Horizon](https://profiles.wordpress.org/frenchhorizon/) 01.04.2026 1 reply

Super pratique ! L'extension ajuste automatiquement vos ALT, ça vous rajoute du 
bonus SEO rapidement.

![](https://secure.gravatar.com/avatar/4dc82994c68fc1ac3a5f7114281dba486216f6b4168f4fdb0ec9b808eed040dc?
s=60&d=retro&r=g)

### 󠀁[Plugin très utile](https://wordpress.org/support/topic/plugin-tres-utile-10/)󠁿

 [mickaeldoucet](https://profiles.wordpress.org/mickaeldoucet/) 09.03.2026

Plugin indispensable, fonctionne parfaitement, je ne peux plus m'en passer ! Merci

![](https://secure.gravatar.com/avatar/3c7793023310ea0f35325e6f72c2bfc8c129d57c039837ce4b623369b8d73eed?
s=60&d=retro&r=g)

### 󠀁[Super !](https://wordpress.org/support/topic/simple-et-efficace-230/)󠁿

 [kavacode](https://profiles.wordpress.org/kavacode/) 11.12.2025

Plugin indispensable, merci !Il m'a sauvé sur des sites remplis d'images sans ALT

![](https://secure.gravatar.com/avatar/d435806d25f80e21b6eff039ca73eb279a38c1bf4e6fdc2bfeefcd2d6addfe6d?
s=60&d=retro&r=g)

### 󠀁[Easy to use](https://wordpress.org/support/topic/easy-to-use-5309/)󠁿

 [agathemrd](https://profiles.wordpress.org/agathemrd/) 11.12.2025

Very usefull

![](https://secure.gravatar.com/avatar/f6b4c73b550628c1ae2ad986d232eebeb7e02460c8fbb6af5af966c1e1a1b0cb?
s=60&d=retro&r=g)

### 󠀁[Easy and quick](https://wordpress.org/support/topic/easy-and-quick-54/)󠁿

 [LucasFree](https://profiles.wordpress.org/cclyon/) 09.12.2025 1 reply

Great plugin, easy to setup. It automatically generated ALT for all existing images
already uploaded on the site.

 [ Прочетете всички 7 отзива ](https://wordpress.org/support/plugin/filikod/reviews/)

## Сътрудници и разработчици

“Filikod – ALT Text Audit & Bulk Management” е софтуер с отворен код. Към разширението
са допринесли следните хора:

Сътрудници

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

[Превеждане на “Filikod – ALT Text Audit & Bulk Management” на вашия език.](https://translate.wordpress.org/projects/wp-plugins/filikod)

### Имате интерес към разработване?

[Преглеждане на кода](https://plugins.trac.wordpress.org/browser/filikod/), разглеждане
на [SVN хранилище](https://plugins.svn.wordpress.org/filikod/), или абонамент към
[програмната история (log)](https://plugins.trac.wordpress.org/log/filikod/) чрез
[RSS](https://plugins.trac.wordpress.org/log/filikod/?limit=100&mode=stop_on_copy&format=rss).

## Списък с промени

#### 1.2.0

 * **New – Duplicate image detection (Filikod > Duplicates)**: Filikod now fingerprints
   the original file of every image (md5, stored in the `_filikod_file_hash` post
   meta) and lists every group of exact copies uploaded more than once. Same layout
   as the ALT Audit: each copy shows its thumbnail, file name (with ID, dimensions,
   size and upload date), **Context** (where it is used), its ALT text, a **Reference**/**
   Duplicate** status (the reference being the oldest copy) and **Edit** / **Library**
   links. Groups are separated by a header line with the space that keeping a single
   copy would free. The scan controls sit at the top of the page. Fingerprints are
   computed automatically on upload and whenever the attachment metadata is regenerated(
   WordPress big-image scaling, Filikod resizer, image editor, Enable Media Replace,
   thumbnail regeneration), always from the original file when WordPress kept one,
   and back-filled for the existing library by a batched **Scan library** job (25
   images per request, same engine as the other bulk jobs). **Full rescan** recomputes
   everything, for files replaced outside WordPress. Detection only: nothing is 
   deleted or merged. Groups are cached for 15 minutes (`filikod_duplicate_groups_v1`)
   and invalidated on upload, deletion and fingerprint change. Perceptual near-duplicates(
   resized or re-encoded variants) are out of scope for this version.
 * **New – Duplicate markers in the Media Library**: once the library is scanned,
   every member of a duplicate group gets a red **Duplicate file** badge in the 
   grid (under the ALT badges) and a **Duplicate** warning box in the attachment
   details, after the ALT Status field, listing every copy of the group (file name,
   ID, upload date, „oldest“ and „this file“ markers) with a single link to Filikod
   > Duplicates, so you never bounce from one image to another. Data travels through`
   wp_prepare_attachment_for_js` (`filikod_duplicate_of`), resolved from the cached
   groups (no extra query per thumbnail).
 * **New – Duplicate Upload Alert (on by default, switch in Settings > Optimizations)**:
   a dismissible notice in the uploader the moment an uploaded image carries the
   same fingerprint as an existing file, naming the older copy with a link. Hooks
   the `wp.Uploader` queue, so it works in the Media Library and in every editor
   media frame. Uploads are never blocked. New option `filikod_duplicate_upload_alert`(
   default `yes`), removed on uninstall.
 * **Multilingual – translations are not duplicates**: attachments linked as translations
   of each other count as one file in the duplicate groups, so a media translated
   in three languages is not a group of three. Supported: Polylang / Polylang Pro(`
   post_translations`), WPML with Media Translation (`post_attachment` element type),
   Bogo (`_original_post` meta). Groups are recomputed when translation links change.
   Unlinked copies are listed with their language (FR, EN…) on the Duplicates page
   and in the attachment details. Weglot, GTranslate, TranslatePress, WPGlobus and
   MultilingualPress need nothing: they never create a second attachment for the
   same file on the same site.
 * **Fix – ALT Audit covers every language on WPML and Polylang sites**: the attachment
   query behind the audit went through the admin language filter of WPML and Polylang,
   so on a site whose admin language switcher was set to one language, images of
   the other languages were missing from the audit and the score. The query now 
   bypasses those filters (`suppress_filters`), matching the SQL counters used everywhere
   else in the plugin.
 * **Fix – Duplicated ALT and media translations**: the FR, EN and ES versions of
   one media (WPML Media Translation, Polylang media translation, Bogo) carrying
   the same ALT were reported as three duplicated ALTs. A translation set now counts
   as a single image for the duplicated-ALT rule, with or without a fingerprint 
   scan. The translation map is loaded with one query per request (`icl_translations`,`
   post_translations`, `_original_post`), so large libraries are not slowed down.
   Duplicate index bumped to `filikod_alt_norm_counts_v3`.
 * **Duplicates – SVG and ICO are fingerprinted too, broken attachments are reported**:
   the scan covers every `image/*` attachment by MIME type, so SVG logos (the most
   duplicated files on many sites) are detected. Attachments whose file is missing
   on disk are marked (`x:missing`) instead of being counted as „still waiting“ 
   forever; the scan block reports them and a **Missing files** tab lists them (
   expected path, context, ALT, links) so you can restore the file or delete the
   attachment; „Scan library“ skips them and „Full rescan“ retries them.
 * **Dashboard – Duplicate images**: new **Library Overview** counter with the number
   of redundant files, duplicate groups and wasted disk space, linking to the Duplicates
   page (or inviting you to run the first scan).
 * **ALT Audit – identical files no longer count as Duplicated ALT**: the same ALT
   text on two copies of the same file was reported as duplicated ALT and lowered
   the score, although it was a duplicate file, not an ALT mistake. Duplicate detection
   now counts distinct files (by fingerprint) per ALT text, so exact copies sharing
   one ALT are excluded, everywhere: ALT Audit tabs, Dashboard counters, Media Library
   badges and the live preview in the attachment modal. Images that have not been
   fingerprinted keep the previous behaviour. Audit cache bumped to `filikod_alt_audit_v6`,
   duplicate index to `filikod_alt_norm_counts_v2`.
 * **Settings – title counter**: the **Remove Title Attribute** card now shows how
   many images in the library still carry a title, so you see what the option will
   clear before enabling it. The counter refreshes after **Process Existing Images**.
 * **Compatibility – WordPress 7.1.1**: code audit against the 7.1.1 security and
   maintenance release (17 Core fixes, 11 security fixes, revised files in `wp-admin/
   includes/media.php`, `ajax-actions.php`, `plugin.php`, `post.php`, `formatting.
   php`, HTML API, REST comments, XML-RPC). The attachment finalize fix (#66056)
   and the media/AJAX changes do not alter the hooks Filikod relies on (`attachment_fields_to_edit`,`
   attachment_fields_to_save`, `wp_prepare_attachment_for_js`, `add_attachment`,`
   wp_update_attachment_metadata`, `wp_check_filetype_and_ext`). No incompatibility
   found.
 * **Uninstall**: the `_filikod_file_hash` fingerprints (plugin cache, no editorial
   value) are removed on uninstall, on every site of a multisite network.
 * **Public API**: new class `Filikod_Duplicates` (`compute_hash()`, `hash_attachment()`,`
   get_hash()`, `identity_for_attachment()`, `get_groups_data()`, `get_summary()`),
   new helper `Filikod_Alt_Audit::counts_from_identity_map()`, new helper `Filikod_Media_Utils::
   count_images_with_title()`. `build_duplicate_map()` and `build_duplicate_map_with_alt_override()`
   keep their signature and return type.

#### 1.1.5

 * **Compatibility – WordPress 7.1**: full code audit against WordPress 7.1 (hooks,
   AJAX endpoints, Settings API, Media Library integration, PHP 8 patterns), already
   running on several 7.1 sites without issues. No incompatibility found; „Tested
   up to“ bumped to 7.1 in the readme and the plugin header.
 * **Code quality – Plugin Check compliance**: resolved every warning reported by
   the official Plugin Check tool. Placeholder index.php files carried mixed line
   endings (multiple carriage returns per line, inherited from repeated CRLF conversions)
   and are now normalized to LF. Three phpcs annotations were separated from their
   target line by a blank line, which made them inoperative; they now sit next to
   the code they document (the two WP_DEBUG-gated error_log() calls in the SVG upload
   path and the direct database query used for batch image processing — all intentional
   and unchanged). No functional change.
 * **Documentation**: the 1.1.3 and 1.1.1 upgrade notices were shortened to fit 
   the 300-character limit.

#### 1.1.4

 * **Fix – deleted media no longer linger in the ALT Audit table**: the audit results
   are cached for 15 minutes, and the cache was only invalidated when an ALT text
   changed — not when a media file was added to or deleted from the library. Images
   deleted from the Media Library could therefore keep showing up in the ALT Audit
   tabs (typically under **Missing**) until the cache expired, and on hosts with
   a persistent object cache they could linger even longer. The audit cache is now
   invalidated on `add_attachment` and `delete_attachment`, and as a safety net 
   the audit table also skips any attachment that no longer exists when rendering
   the current page. Thanks to Patrick for the report.

#### 1.1.3

 * **Generic ALT detection – filename-like single words**: an ALT made of a single
   word containing digits (e.g. _„Rggx5025“_, _„P1040233“_, _„A7R04512“_) is now
   flagged as **Generic**. These values are camera or export filenames inherited
   as ALT text and carry no descriptive value, but random character strings could
   not be caught by the existing known-prefix patterns (`IMG_`, `DSC_`, …) and slipped
   through as **Alt: OK**. Detection applies everywhere: ALT Audit tabs, Dashboard
   counters, and Media Library badges (list, grid, attachment details). The audit
   cache is bumped to `filikod_alt_audit_v5` so the new rule applies on first load
   after update.
 * **Fix – ICO uploads no longer blocked**: enabling the ICO file type in Settings
   > File types now actually allows `.ico` uploads. WordPress performs a second 
   MIME check against the real file content, and PHP detects `.ico` files as `image/
   vnd.microsoft.icon` (not the declared `image/x-icon`), so uploads were rejected„
   for security reasons“ even with the option enabled. A dedicated `wp_check_filetype_and_ext`
   handler now accepts the real-world ICO MIME variants, including PNG-based favicons
   renamed to `.ico`.
 * **Fix – SVG sanitizer no longer strips `viewBox`, gradients and clip paths**:
   element and attribute names were lowercased before being compared to a case-sensitive
   whitelist containing camelCase entries. As a result, `viewBox`, `preserveAspectRatio`,`
   <linearGradient>`, `<radialGradient>` and `<clipPath>` were removed from every
   sanitized SVG, breaking responsive scaling and visual rendering. Both sides of
   the comparison are now normalized, and gradient presentation attributes (`offset`,`
   stop-color`, `stop-opacity`, `gradientUnits`, `gradientTransform`, `spreadMethod`)
   are now whitelisted so preserved gradients actually render. The security posture(
   script/event-handler/external-reference removal) is unchanged.
 * **Security – sideloaded SVG files are now sanitized**: the SVG sanitization chain
   only covered regular uploads (`wp_handle_upload`). Files brought in through sideloading(`
   media_sideload_image()`, the WordPress importer, third-party plugins) bypassed
   sanitization entirely. The `wp_handle_sideload_prefilter` and `wp_handle_sideload`
   hooks now run the exact same validation and sanitization chain.
 * **Fix – the `filikod-resized` image size is now registered**: it was hooked on`
   after_setup_theme`, which fires before the plugin’s classes are instantiated 
   on `init`, so the registration never ran. The size announced for page builders(
   Elementor, Gutenberg) now actually exists.
 * **Code quality – shared media utilities**: the image-count query (previously 
   duplicated in three classes) and the file-size formatter (duplicated in two) 
   are now centralized in a single `Filikod_Media_Utils` class. No behavior change.

#### 1.1.2

• **Security – SVGZ removed from optional file types**: compressed SVG files (`.
svgz`) could bypass the SVG sanitization chain, which only processes uncompressed`.
svg` uploads. The SVGZ option has been removed from Settings > File types; sites
that had it enabled will no longer accept `.svgz` uploads. Regular `.svg` uploads
are unaffected and remain fully sanitized. If you previously uploaded `.svgz` files,
we recommend reviewing them and re-uploading as standard `.svg`.
 • **Documentation–
image files FAQ**: the „Does Filikod modify my image files?“ answer now explicitly
states that the optional Automatic Image Resizing feature (disabled by default) 
replaces the original file with the resized version and is not reversible. All ALT
features remain meta-only and never touch image files.

#### 1.1.1

• **AI-generated image detection (Generic ALT)**: ALT text inherited from default
AI export filenames is now flagged as **Generic** in the audit. Two new universal
patterns cover the most common cases:
 – `Gemini_Generated_Image_*`  e.g. _„Gemini
Generated Image i90nz7i90nz7“_ – `ChatGPT Image *`  e.g. _„ChatGPT Image Jul 7, 
2024 at 02\_30\_00 PM“_ These ALT values look meaningful but carry zero accessibility
or SEO value, so Filikod now surfaces them in the **Generic** tab of the ALT Audit
and in the **Alt: Generic** badge across the Media Library (list, grid, attachment
details). Detection is applied to the normalized ALT, so casing, underscores, dashes
and dates do not bypass the rule. • **Audit cache**: transient bumped to `filikod_alt_audit_v4`
so the new detection rule applies immediately on first load after update; previous`
v3` (and earlier) transients are explicitly cleared by `invalidate_cache()`. • **
Performance – Dashboard media stats**: the Dashboard counters (total images, total
size, optimized count, original/optimized size) are now computed in a single batched
loop and cached for 15 minutes (`filikod_media_size_stats_v1`). The cache is auto-
invalidated on attachment add/delete and after each automatic resize, removing repeated
heavy queries on every Dashboard page load. • **Security – ALT save endpoint**: 
the AJAX endpoint `filikod_save_alt` now checks `current_user_can( 'edit_post', 
$attachment_id )` per attachment, verifies that the target is an actual image (`
wp_attachment_is_image()`), and truncates ALT text longer than 1000 characters before
saving. • **Accessibility – SVG sanitizer**: the strict SVG whitelist now allows`
<title>`, `<desc>` and accessibility attributes (`role`, `aria-label`, `aria-labelledby`,`
aria-describedby`, `aria-hidden`, `tabindex`, `preserveAspectRatio`). These elements
are non-executable and required for WCAG-compliant inline SVG; the security posture
against scripts, event handlers and external references is unchanged. • **Settings
UX**: the _Maximum image width_ setting now displays an explicit admin error notice
when a value outside the supported range (100–10000 px) is submitted, instead of
silently rejecting the input. • **Multisite hygiene**: the uninstall routine now
also deletes per-site Filikod transients (`_transient_filikod_*` and their timeouts)
on every sub-site of a multisite network, preventing orphaned cache entries after
plugin removal. • **Production log hygiene**: non-critical `error_log()` calls in
the SVG sanitization and image resizer paths are now gated behind `WP_DEBUG`, avoiding
noise in production `debug.log` files. • **Code cleanup**: removed two dead-code
paths (no-op rewrite-rule flush on `init`; SVG security headers hook that never 
fired because static SVG files bypass `template_redirect`). No user-visible behavior
change.

#### 1.1.0

• **Detailed badge tooltips**: every ALT badge (list view, grid overlay, modal, 
ALT Audit Issue column) now exposes a contextual `title` tooltip explaining the 
status and the recommended action (e.g. _“ALT text exceeds 125 characters. Long 
ALTs are poorly read by screen readers and dilute SEO signals…”_). Tooltips are 
translatable and parameterized with the actual character thresholds. A dotted underline(`
cursor: help`) signals the tooltip on the Issue label
 • **New issue: Too long ALT**:
detection of ALT text exceeding **125 characters** (after normalization). Dedicated
tab on the ALT Audit page, dedicated count on the Dashboard, dedicated **Alt: Too
long** badge in the Media Library (list, grid, modal). Score impact: **70/100** (
reported but less critical than duplicate, generic, too short, or missing) • **Decorative
action**: mark an image as **decorative** (intentional `alt=""` per WCAG). Decorative
images are **fully excluded from the ALT score** (neither numerator nor denominator)
so logos, dividers and purely visual icons stop dragging your score down. Dedicated**
Decorative** column on the ALT Audit page with a **toggle switch** that auto-saves
on change; dedicated **Decorative** tab to review and revert; dedicated **Alt: Decorative**
badge in the Media Library • **ALT Audit UI**: decorative action moved out of the
Action column into its own column with a toggle switch (auto-save on change, keyboard-
accessible). The Action column now only holds the **Save** button for a cleaner 
row layout • **Badge colors refresh**: new palette for the Media Library ALT Status
badges. **Alt: Generic** in amber (`#FFC736`) and **Alt: Too short** in teal (`#
0DBB9C`) for clearer visual differentiation • **Dashboard**: two new counters, **
Too long** and **Decorative**, both linking to the matching ALT Audit tab • **Audit
cache**: transient bumped to `filikod_alt_audit_v3` (auto-rebuilt on first load);
invalidation hooks now also listen to the new `_filikod_decorative` post meta • **
i18n**: new translatable strings (`Too long`, `Decorative`, `Marked as decorative.`,`
Image restored as a regular image, please add an ALT text.`, „too long“ description
with parameterized character threshold) • **Public API**: new helpers `Filikod_Alt_Audit::
is_decorative()`, `Filikod_Alt_Audit::set_decorative()`, new constants `TOO_LONG_MIN_LEN`,`
META_DECORATIVE`, `AUDIT_TRANSIENT` • **Backwards compatibility**: existing audit
results still load; `collect_alt_issue_codes()` gains an optional fourth parameter`
$is_decorative` defaulting to false

#### 1.0.9

• **ALT Status labels**: badges in the native Media Library (list, grid, attachment
details) now use an **Alt:** prefix on every status (e.g. **Alt: OK**, **Alt: Duplicated**,**
Alt: Missing**) via a translatable `Alt: %s` string
 • **OK badge**: removed the
checkmark character; the passing state reads **Alt: OK** • **Attachment details 
modal**: new stylesheet `media-modal-alt-status.css` enqueued **after** `media-views`(`
wp_enqueue_media`) so the **ALT Status** label stays aligned with other field labels
and with the badges, including under the **900px** responsive rules • **Readme**:
description, screenshots captions, and changelog aligned with the above

#### 1.0.8

• **Native Media Library**: **ALT Status** column in list view; badge overlay on
grid thumbnails (top-left); **ALT Status** field in attachment details modal/sidebar
•**
Modal UX**: ALT Status label aligned with badges; multiple issue badges on **one
horizontal row** in attachment details (list column still stacks badges for readability)•**
Live updates**: status refreshes after saving ALT text (AJAX save handlers) and 
while typing (server-side preview); dashboard and audit cache stay in sync when `
_wp_attachment_image_alt` changes • **Multi-issue badges**: an image can show several
tags at once (e.g. Generic + Too short + Duplicated) when multiple rules apply; 
single green **Alt: OK** when there are no issues • **Reliability**: audit transient
cache key bumped (`filikod_alt_audit_v2`); normalized cache keys for object caches;`
attachment_fields_to_save` ensures `image_alt` is persisted on `save-attachment-
compat` like the classic uploader; invalidation hooks on post meta, attachment save,
and related paths • **Performance**: cached global map of normalized ALT  occurrence
count (`filikod_alt_norm_counts_v1`); duplicate preview in the media modal avoids
scanning every attachment per request; full audit rebuild reuses that index • **
Admin JS**: shared batch runner for accessibility and bulk jobs (`runFilikodBatchedJob`)•**
Documentation**: FAQ and feature list updated; default behavior is ALT meta only,
no image file changes

#### 1.0.7

• Accessibility: „Remove Title Attribute“ now works for new uploads (clears post_title
after use); execution order enforced: generate ALT (from title then filename)  clean
special chars  remove title (same order in bulk process)
 • ALT Audit page: Duplicated
tab lists media sorted alphabetically by ALT so duplicates are grouped; saving an
ALT in Duplicated tab reloads the list so media that are no longer duplicated disappear•
Security & coding standards: escaped outputs (menu icon via wp_localize_script; 
pagination printf), all variables in ALT audit view prefixed with filikod_ (PrefixAllGlobals)

#### 1.0.6

• Readme and positioning update: ALT audit & bulk management first
 • Clarified 
automation messaging (optional, controlled) • Improved „Generic ALT“ detection with
additional real-world patterns (e.g. device/app filenames, placeholders, thumbnails)•
Reduced false positives in generic ALT classification (better normalization and 
matching)

#### 1.0.5

• Added content context column in ALT audit (see where each image is used)
 • Improved
bulk ALT editing workflow • Enhanced admin interface clarity

#### 1.0.4

• Fix audit score calculation
 • Adjusted description text

#### 1.0.3

• Dashboard redesign with ALT Quality Score (0–100%)
 • Multi-language generic ALT
detection • Donut gauge visualization for ALT Score • Media Size Savings module 
and progress bars • New audit utilities and filters

#### 1.0.2

• Improved dashboard readability
 • Added ALT coverage percentage • Clarified resize
behavior messaging

#### 1.0.0

• Initial public release
 • ALT automation (filename-based) • Title removal & character
cleanup • Bulk processing for existing images • Secure SVG sanitization • Optional
extended file types • Modern tab-based dashboard

## Мета

 *  Version **1.2.0**
 *  Last updated **Преди 5 дни **
 *  Active installations **100+**
 *  WordPress version ** 5.8 или по-висока **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 или по-висока **
 *  Language
 * [English (US)](https://wordpress.org/plugins/filikod/)
 * Tags
 * [accessibility](https://bg.wordpress.org/plugins/tags/accessibility/)[Alt Text](https://bg.wordpress.org/plugins/tags/alt-text/)
   [media library](https://bg.wordpress.org/plugins/tags/media-library/)[seo](https://bg.wordpress.org/plugins/tags/seo/)
 *  [Разширен изглед](https://bg.wordpress.org/plugins/filikod/advanced/)

## Оценки

 5 out of 5 stars.

 *  [  5 5-star reviews     ](https://wordpress.org/support/plugin/filikod/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/filikod/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/filikod/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/filikod/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/filikod/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/filikod/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/filikod/reviews/)

## Сътрудници

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

## Поддръжка

Имате да кажете нещо? Имете нужда от помощ?

 [Разглеждане на форумите за поддръжка](https://wordpress.org/support/plugin/filikod/)