Product images in the shop are called whatever the Wawi delivers: 12345_1.jpg, IMG_0042.jpg, 4006381333931~2.jpg. For image search that is wasted ground, because the file name is one of the few signals a search engine can read from an image at all. In the Wawi, however, you can only store one image name per article – for every further image there is no field.
Product Image Names closes that gap: every single image gets its own file name, freely chosen. The original files stay untouched.
What the plugin does
- Every product image gets its own SEO file name, not just the first one.
- The names are used everywhere the shop outputs an image: product page, listings, gallery,
og:image and the image sitemap.
- Assign them one by one in the backend, in bulk via a pattern, or automatically from the Wawi functional attributes.
- The names survive every Wawi sync and are cleaned up automatically when an article is deleted.
How it works
The plugin registers a route of its own, /product-image/{article ID}/{size}/{name}.{extension}, and serves the image data itself. That removes the 301 redirect with which the shop core otherwise sends a diverging image name to the canonical one – the SEO URL is the delivery URL, with no detour.
The chosen names live in a plugin table of their own, not in the image files. Nothing is renamed, nothing is copied and nothing in the Wawi data is changed. If no name is set for an image, it keeps the name the shop gives it.
Maintaining names in the Wawi
If you would rather keep the image names in the Wawi than in the shop backend, store them as functional attributes on the article. The plugin reads them during the sync and takes them over automatically.
The count starts at _2. The reason: JTL-Shop already knows the attribute bildname without a number, and it covers the first image. So the plugin only steps in from the second image on. With the alt texts (img_alt_1, img_alt_2 …) the first image already carries a number – the two counts are therefore offset by one.
| Image |
File name |
Alt text |
| 1st image |
bildname (shop default)
|
img_alt_1 |
| 2nd image |
bildname_2 |
img_alt_2 |
| 3rd image |
bildname_3 |
img_alt_3 |
| nth image |
bildname_n |
img_alt_n |
Without the plugin the shop uses the value from bildname as the base for all images and appends ~2, ~3 to the rest – red-shirt becomes red-shirt~2.jpg. With bildname_2 you give it a genuine name of its own instead, say red-shirt-back-view.
The takeover follows a single rule: the Wawi only fills gaps. A Wawi value is only applied to images that have no stored name yet. What you entered in the backend is never overwritten automatically – so maintaining names in the Wawi can neither destroy your manual work nor silently change an image URL that is already indexed. If you do want to take over a changed Wawi value, reset the name: per image or globally for the whole shop.
The alt texts from img_alt_n are shown alongside in the backend, so you can see what each image is about while naming it. They stay under the Wawi's control and are not changed by the plugin.
Bulk renaming by pattern
For larger ranges, names can be generated from a pattern, either for one category including its subcategories or for the entire article stock. There is a preview before it is applied.
Available placeholders:
-
{Name} – article name
-
{SEO} – SEO name of the article
-
{ArtNr} – article number
-
{Barcode} – barcode / EAN
-
{n} – image number
-
{Kategorie} – category name
Duplicate names are made unique automatically with -2, -3 … Umlauts, spaces and special characters are converted into a clean, URL-safe spelling.
In the backend
-
Image management – article list with free-text search and category picker. Per image you see the file name the shop currently delivers, the alt text from the Wawi and the input field for the name you want. A warning sign points out when your entry overrides a Wawi functional attribute.
-
Bulk – pattern editor with preview.
-
Sync status – shows images that were swapped in the Wawi, so you can check whether the assigned name still fits the new photo.
-
Settings – clear the cache, read in the Wawi names manually, reset all names, cron status.
-
Licence – activation and status display.
What the plugin leaves alone
- No change to the physical image files – nothing is renamed or moved.
- No write access to article or attribute data in the Wawi.
- Images without an assigned name keep the shop's default behaviour entirely.
- After uninstalling with „delete data“ nothing is left behind.
Licence
The licence covers one domain and one installation. It can be deactivated and activated again at any time, for instance when moving to another domain or another server. Activation happens right in the backend with the licence key and the customer email address.
Every function of the plugin requires a licence. Image names that have already been assigned keep being delivered regardless of the licence status – so an expiring licence never changes the URLs of your indexed images by itself. New and existing products can no longer be edited, though.
System requirements
- JTL-Shop 5.5.x to 5.7.x (separate build per shop version)
- PHP 8.1 or newer, PHP 8.3 for the shop 5.7 build
- For the automatic takeover from the Wawi: a running Wawi sync (the import can also be triggered manually in the backend at any time)
Additional information
- 12 months licence term.
- 3 months of technical support included.
- 12 months of free updates included.
- Valid for one domain and one installation.
- Deactivation and re-activation possible at any time, for instance when moving to another domain or another server.