PHPackages                             mage2kishan/module-image-seo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. mage2kishan/module-image-seo

ActiveMagento2-module[Image &amp; Media](/categories/media)

mage2kishan/module-image-seo
============================

Panth Image SEO — template-based alt/title generation for Magento 2 product images, with token substitution and gallery support.

1.0.5(1mo ago)014↓50%1proprietaryPHPPHP ~8.1.0||~8.2.0||~8.3.0||~8.4.0

Since Apr 22Pushed 1mo agoCompare

[ Source](https://github.com/mage2sk/module-image-seo)[ Packagist](https://packagist.org/packages/mage2kishan/module-image-seo)[ Docs](https://kishansavaliya.com)[ RSS](/packages/mage2kishan-module-image-seo/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (5)Versions (7)Used By (0)

Panth Image SEO — Template-Based Alt/Title for Magento 2 Product Images | Panth Infotech
========================================================================================

[](#panth-image-seo--template-based-alttitle-for-magento-2-product-images--panth-infotech)

 [![Panth Image SEO for Magento 2 — Fix Your Magento 2 Image SEO in 2 Minutes. Auto-generate SEO alt & title text for every product image. Tokens, filters, multi-store, Hyvä + Luma. Built by Kishan Savaliya, Panth Infotech — Upwork Top Rated Plus.](docs/screenshots/hero-linkedin.png)](docs/screenshots/hero-linkedin.png)

[![Magento 2.4.4 - 2.4.8](https://camo.githubusercontent.com/079c832211eed4f9451ebe264e3865f825b0f9f31b041cbf03676c6e254535d4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d6167656e746f2d322e342e342532302d2d253230322e342e382d6f72616e67653f6c6f676f3d6d6167656e746f266c6f676f436f6c6f723d7768697465)](https://magento.com)[![PHP 8.1 - 8.4](https://camo.githubusercontent.com/56b3cce18841623e2cbed2ebf09b06be1be8807e99e6e054a89d304ab4790b8e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e312532302d2d253230382e342d626c75653f6c6f676f3d706870266c6f676f436f6c6f723d7768697465)](https://php.net)[![Hyva Compatible](https://camo.githubusercontent.com/7414aeca90f39bc425062b9e70a302e67b18a960620e7c0651f204e7ed65ca2e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f487976612d436f6d70617469626c652d304439343838)](https://www.hyva.io)[![Packagist](https://camo.githubusercontent.com/0988aa6fa00ab0431c7d81f5f566c8e171392b45124a72a4225a97ba1a7613db/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5061636b61676973742d6d616765326b697368616e2532466d6f64756c652d2d696d6167652d2d73656f2d6f72616e67653f6c6f676f3d7061636b6167697374266c6f676f436f6c6f723d7768697465)](https://packagist.org/packages/mage2kishan/module-image-seo)[![GitHub](https://camo.githubusercontent.com/414ec7a37d665112960dc2fdcf8f93969962ce2fdb1d70f3e1a121b98ba2c518/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d6d61676532736b2532466d6f64756c652d2d696d6167652d2d73656f2d3138313731373f6c6f676f3d676974687562266c6f676f436f6c6f723d7768697465)](https://github.com/mage2sk/module-image-seo)[![Upwork Top Rated Plus](https://camo.githubusercontent.com/6f72584179420c41ed90432fd2579a4ed36199d4229e8181d20f353c1c4ee4eb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5570776f726b2d546f702532305261746564253230506c75732d3134613830303f6c6f676f3d7570776f726b266c6f676f436f6c6f723d7768697465)](https://www.upwork.com/freelancers/~016dd1767321100e21)[![Panth Infotech Agency](https://camo.githubusercontent.com/401a792e990131002e91054d1b04494af5a2152fcc891ca000eb683786770abf/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4167656e63792d50616e7468253230496e666f746563682d3134613830303f6c6f676f3d7570776f726b266c6f676f436f6c6f723d7768697465)](https://www.upwork.com/agencies/1881421506131960778/)[![Website](https://camo.githubusercontent.com/f1ae86d28e2b505aee60f240d3e5508e390b0a8dc7a9b7ecf1b450fad862053f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f576562736974652d6b697368616e736176616c6979612e636f6d2d304439343838)](https://kishansavaliya.com)

> **Auto-generate SEO-optimized alt and title attributes for every product image on your storefront** — from configurable templates with tokens (`{{name}}`, `{{sku}}`, `{{store}}`, `{{category}}`) and filters (truncate, title-case, strip, default, upper, lower). One setting, every image on every theme, every store view.

**Panth Image SEO** replaces Magento 2's empty or generic image alt/title attributes with fully rendered, merchant-controlled templates. The module runs everywhere images show up — **category grids, product galleries, related products, upsells, cross-sells, widgets, search results** — so the HTML your shoppers (and search engines) see always includes meaningful, keyword-rich alt text. Compatible with both **Hyva** and **Luma** themes, scope-aware (store-view granularity), and tested with Magento sample data.

---

🚀 Need Custom Magento 2 Development?
------------------------------------

[](#-need-custom-magento-2-development)

> **Get a free quote for your project in 24 hours** — custom modules, Hyva themes, performance optimization, M1→M2 migrations, and Adobe Commerce Cloud.

 [ ![Get a Free Quote](https://camo.githubusercontent.com/eac8c45d21cff8b139ddc392325f3bd6c8266a6f3d7b23f15131c958f3d3c8d0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f476574253230612532304672656525323051756f74652532302545322538362539322d5265706c7925323077697468696e2532303234253230686f7572732d4443323632363f7374796c653d666f722d7468652d6261646765) ](https://kishansavaliya.com/get-quote)

### 🏆 Kishan Savaliya

[](#-kishan-savaliya)

**Top Rated Plus on Upwork**

[![Hire on Upwork](https://camo.githubusercontent.com/b69353d3c6e192f4d03cc36bb8883612004e32f54dd2dbcc1e700dd791acd875/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f486972652532306f6e2532305570776f726b2d546f702532305261746564253230506c75732d3134613830303f7374796c653d666f722d7468652d6261646765266c6f676f3d7570776f726b266c6f676f436f6c6f723d7768697465)](https://www.upwork.com/freelancers/~016dd1767321100e21)

100% Job Success • 10+ Years Magento Experience Adobe Certified • Hyva Specialist

### 🏢 Panth Infotech Agency

[](#-panth-infotech-agency)

**Magento Development Team**

[![Visit Agency](https://camo.githubusercontent.com/bbf04bdd2aff502082508568ec42ace3a7475c98756f596e2013056c89726ed6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f56697369742532304167656e63792d50616e7468253230496e666f746563682d3134613830303f7374796c653d666f722d7468652d6261646765266c6f676f3d7570776f726b266c6f676f436f6c6f723d7768697465)](https://www.upwork.com/agencies/1881421506131960778/)

Custom Modules • Theme Design • Migrations Performance • SEO • Adobe Commerce Cloud

**Visit our website:** [kishansavaliya.com](https://kishansavaliya.com) | **Get a quote:** [kishansavaliya.com/get-quote](https://kishansavaliya.com/get-quote)

---

Table of Contents
-----------------

[](#table-of-contents)

- [Key Features](#key-features)
- [Why Image SEO Matters](#why-image-seo-matters)
- [Screenshot](#screenshot)
- [Compatibility](#compatibility)
- [Installation](#installation)
- [Configuration](#configuration)
- [Token Reference](#token-reference)
- [Filter Reference](#filter-reference)
- [Template Examples](#template-examples)
- [Coverage — Where Alt/Title Gets Injected](#coverage--where-alttitle-gets-injected)
- [Troubleshooting](#troubleshooting)
- [FAQ](#faq)
- [Support](#support)
- [About Panth Infotech](#about-panth-infotech)
- [Quick Links](#quick-links)

---

Key Features
------------

[](#key-features)

### Template-Based Alt &amp; Title Generation

[](#template-based-alt--title-generation)

- **Tokens** — `{{name}}`, `{{sku}}`, `{{store}}`, `{{category}}` rendered per image in real time
- **Filters** — chain `|truncate:N`, `|title`, `|lower`, `|upper`, `|strip`, `|default:'value'` inside any token
- **Separate templates** — configure alt text and title text independently
- **Graceful fallbacks** — empty templates fall back to product name so no image ever renders with a blank alt attribute

### Store View Aware

[](#store-view-aware)

- **Scope-respecting** — every setting is configurable at default / website / store view level
- **Multi-language stores** — different alt text per store view for localized storefronts
- **Multi-brand stores** — different brand name in the alt text per website

### Complete Surface Coverage

[](#complete-surface-coverage)

- **Product detail page** — main gallery image alt + caption + title
- **Product gallery** — fotorama / Hyva gallery captions with multi-image position suffix (`— Image 2 of 5`)
- **Category grid tiles** — alt text on every product card in category listings
- **Related / upsell / cross-sell widgets** — template applied to every widget image
- **Search results** — alt text on search result product thumbnails
- **CMS product widgets** — alt text on featured-product and new-arrival widgets

### Safe Merchant Overrides

[](#safe-merchant-overrides)

- **Preserves merchant-authored labels** — if a product has a custom image label set in admin, that takes precedence
- **Replaces Magento defaults** — the generic `Image` / `main product photo` / filename placeholders get upgraded automatically
- **One config toggle** — disable the gallery injection separately if you only want alt text on tiles, not captions

### Performance Conscious

[](#performance-conscious)

- **Runs inline** — no external API calls, no DB writes, pure template rendering
- **Scope-cached config reads** — uses Magento's cached scope config, zero DB overhead after warm-up
- **Template caching** — rendered alt text is cached alongside the native image block cache
- **Zero JavaScript** — fully server-side, no client-side rendering overhead

### Clean &amp; Extensible

[](#clean--extensible)

- **MEQP compliant** — follows Adobe's Magento Extension Quality Program standards
- **Pluggable vision adapter** — `VisionAdapterInterface` lets you swap in OpenAI Vision / Claude Vision for AI-generated fallback alt text
- **Optional Panth\_ProductGallery wire** — integrates automatically when the gallery module is installed
- **Well-scoped plugins** — four targeted plugins (ImageFactory, Helper\\Image, Gallery, Uploader) rather than sweeping preferences

---

Why Image SEO Matters
---------------------

[](#why-image-seo-matters)

Image alt text is one of the most under-optimized and highest-leverage SEO signals for eCommerce:

1. **Image Search Traffic** — Google Images is the second-largest search engine. Product images with descriptive alt text rank; images with `alt=""` or `alt="Image"` are invisible.
2. **On-Page SEO** — search engines use alt text to understand page context. A category listing page with 48 products but 48 blank alt attributes ranks worse than one with 48 descriptive alts.
3. **Accessibility Compliance** — WCAG 2.1 AA and the European Accessibility Act (EAA) both require meaningful alt text on product imagery. Blank alt attributes on eCommerce sites are a legal-risk category.
4. **Click-Through Rate** — when a product appears in Google Images, the alt text is what gets picked up in the result snippet. Better alt = more qualified clicks.

Manually writing alt text for every product (or every image within every product) doesn't scale past a small catalog. Panth Image SEO lets one merchant-controlled template render correct, scope-aware alt text across the entire catalog in one pass — and refresh instantly when you change the template.

---

Screenshots
-----------

[](#screenshots)

### Admin Configuration — Stores → Configuration → Panth Extensions → Image SEO

[](#admin-configuration--stores--configuration--panth-extensions--image-seo)

[![Panth Image SEO admin configuration screen — Enable Template-Based Image Alt/Title, Alt Text Template, Title Text Template, Apply to Gallery Images JSON](docs/screenshots/admin-config.png)](docs/screenshots/admin-config.png)

*The admin UI exposes every setting at store-view scope: master toggle, alt template, title template, and gallery-injection toggle. Token and filter reference is inlined under each field so the merchant never has to leave the page to find the syntax.*

### Before / After — What Changes on Your Storefront

[](#before--after--what-changes-on-your-storefront)

 [![Panth Image SEO before/after comparison — blank alt attributes become descriptive SEO-optimized alt text](docs/screenshots/hero-linkedin.png)](docs/screenshots/hero-linkedin.png)

*Before: `` or `` — invisible to image search, fails accessibility audits. After: `` — indexed, accessible, on-brand across every store view.*

---

Compatibility
-------------

[](#compatibility)

RequirementVersions SupportedMagento Open Source2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8Adobe Commerce2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8Adobe Commerce Cloud2.4.4 — 2.4.8PHP8.1.x, 8.2.x, 8.3.x, 8.4.xMySQL8.0+MariaDB10.4+Hyva Theme1.0+ (native support)Luma ThemeNative supportRequired Dependency`mage2kishan/module-core` ^1.0Suggested Integration`mage2kishan/module-productgallery` (auto-wires into the custom gallery)---

Installation
------------

[](#installation)

### Composer Installation (Recommended)

[](#composer-installation-recommended)

```
composer require mage2kishan/module-image-seo
bin/magento module:enable Panth_Core Panth_ImageSeo
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:flush
```

### Manual Installation via ZIP

[](#manual-installation-via-zip)

1. Download the latest release ZIP from [Packagist](https://packagist.org/packages/mage2kishan/module-image-seo) or the [Adobe Commerce Marketplace](https://commercemarketplace.adobe.com)
2. Extract the contents to `app/code/Panth/ImageSeo/` in your Magento installation
3. Ensure `Panth_Core` is installed (required dependency)
4. Run the same commands as above starting from `bin/magento module:enable`

### Verify Installation

[](#verify-installation)

```
bin/magento module:status Panth_ImageSeo
# Expected output: Module is enabled
```

---

Configuration
-------------

[](#configuration)

Navigate to **Admin → Stores → Configuration → Panth Extensions → Image SEO** to configure the module.

SettingDefaultScopeDescriptionEnable Template-Based Image Alt/TitleYesStore ViewMaster toggle. When **No**, Magento's native alt/title behavior is used and all plugins are no-ops.Alt Text Template`{{name}} - {{store}}`Store ViewTemplate rendered into every `` attribute. Supports tokens and filters.Title Text Template`{{name}}`Store ViewTemplate rendered into every `` attribute. Same token syntax; falls back to alt text when empty.Apply to Gallery Images JSONYesStore ViewAlso injects alt/title into the product gallery images JSON (used by fotorama and Hyva gallery widgets).All four settings are scope-aware. Configure a shorter alt template on a mobile-focused store view, a different brand suffix on a wholesale store, or different language alt text per localized store — Magento's scope hierarchy handles the rest.

---

Token Reference
---------------

[](#token-reference)

Every token is written as `{{tokenName}}` and can be combined with filters using `|filterName:arg`.

TokenValueExample Output`{{name}}`Product name`Push It Messenger Bag``{{sku}}`Product SKU`24-WB04``{{store}}`Current store view name`Luma Store View`, `Default Store View`, `English`, `Wholesale``{{category}}`Current category name (when resolvable)`Bags`, `Women's Tops`Unknown tokens render as empty strings, so a template like `Brand: {{brand}} / {{name}}` safely falls back to `Brand: / Push It Messenger Bag` if the brand token isn't wired up yet. Trailing separators are auto-cleaned.

---

Filter Reference
----------------

[](#filter-reference)

Filters are chained with `|` and run left-to-right.

FilterSyntaxEffectExample`truncate``|truncate:N`Clip to N characters, append `…``{{name|truncate:20}}` → `Push It Messenger B…``title``|title`Title-case (first letter of each word uppercase)`{{name|lower|title}}` → `Push It Messenger Bag``upper``|upper`UPPERCASE the value`{{sku|upper}}` → `24-WB04``lower``|lower`lowercase the value`{{name|lower}}` → `push it messenger bag``strip``|strip`Remove HTML tags and collapse whitespace`{{name|strip}}``default``|default:'Fallback'`Use the argument when the value is empty`{{category|default:'Catalog'}}` → `Catalog`Filters can be chained: `{{name|lower|title|truncate:40}}` is valid.

---

Template Examples
-----------------

[](#template-examples)

### Basic name + store view

[](#basic-name--store-view)

```
Alt:   {{name}} - {{store}}
Title: {{name}}

```

Renders as:

> `Push It Messenger Bag - Luma Store View`

### Brand-suffixed with truncation (safe for long names)

[](#brand-suffixed-with-truncation-safe-for-long-names)

```
Alt:   {{name|truncate:80}} | Buy Online at {{store}}
Title: {{name}} — {{store}}

```

### Category-scoped alt (when category context is available)

[](#category-scoped-alt-when-category-context-is-available)

```
Alt:   {{name}} in {{category|default:'our catalog'}}
Title: {{name}}

```

### SKU-prefixed alt (useful for B2B catalogs)

[](#sku-prefixed-alt-useful-for-b2b-catalogs)

```
Alt:   [{{sku|upper}}] {{name}} | {{store}}
Title: {{name|truncate:60}}

```

### Minimal SEO-only (category pages)

[](#minimal-seo-only-category-pages)

```
Alt:   {{name}}
Title: {{name}}

```

### Multi-store with localized brand in each alt

[](#multi-store-with-localized-brand-in-each-alt)

Configure `Alt Text Template` at the store-view scope:

- **English store view**: `{{name}} | Premium Quality from {{store}}`
- **French store view**: `{{name}} | Qualité Premium - {{store}}`
- **Wholesale store view**: `[WHOLESALE] {{name}} - {{store}}`

---

Coverage — Where Alt/Title Gets Injected
----------------------------------------

[](#coverage--where-alttitle-gets-injected)

The module hooks every surface where Magento renders an `` tag for a product:

SurfacePluginWhat gets injected**Category page tiles**`ImageFactoryPlugin``` on every product card**Related / Upsell / Cross-sell**`ImageFactoryPlugin`Widget product image alt**Search results grid**`ImageFactoryPlugin`Thumbnail alt on every result**Product gallery (main image)**`GalleryImageSeoPlugin``caption` field in gallery JSON**Product gallery (thumbnails)**`GalleryImageSeoPlugin``caption` + position suffix (`— Image 2 of 5`)**Product page label**`ImageAttributesPlugin` + `ProductImagePlugin`Helper-level `getLabel()` return value**Admin image uploader**`UploaderPlugin`Default label on newly uploaded images**CMS widgets (New, Featured, …)**`ImageFactoryPlugin`Widget image alt**Panth\_ProductGallery**Soft DI wireWhen installed, injects `ImageTemplateResolver` into the custom galleryThis breadth matters because Magento 2 has **four different code paths** that eventually render a product ``:

1. `Magento\Catalog\Block\Product\ImageFactory::create` — used by category grids, widgets, related/upsell/cross-sell
2. `Magento\Catalog\Helper\Image::getLabel` — used by some themes directly
3. `Magento\Catalog\Block\Product\View\Gallery::getGalleryImagesJson` — the product gallery JSON
4. Custom gallery blocks (Panth\_ProductGallery, some premium themes)

Missing any one of these leaves a gap where alt text stays blank or reverts to the Magento default. Panth Image SEO plugs all four, so the rendered HTML across your entire storefront is uniformly template-driven.

---

Troubleshooting
---------------

[](#troubleshooting)

IssueCauseResolutionAlt text not changing on the storefrontFPC holding pre-install HTMLRun `bin/magento cache:flush` once after installCategory tile alt shows only product name, no store suffixOld version (&lt;1.0.1) without `ImageFactoryPlugin`Upgrade to v1.0.1+ via `composer update mage2kishan/module-image-seo`Gallery main image caption shows "Image"Old version (&lt;1.0.1) with restricted placeholder detectionUpgrade to v1.0.1+Token renders as empty stringUnknown token name, or context variable not availableCheck token spelling; see [Token Reference](#token-reference)Different alt text across store views not respectedSetting edited at default scopeSwitch scope dropdown to the specific store view before editingAdmin config page shows but options don't saveAdmin user lacks permission on `Panth_ImageSeo::config`Grant the ACL resource under System → Permissions → User RolesGallery caption shows name only, no position suffixSingle-image productPosition suffix is only added for galleries with 2+ images (intentional)Site slow after installMissing `bin/magento setup:di:compile` in production modeRun DI compile + static content deploy in production mode---

FAQ
---

[](#faq)

### Will this overwrite my custom image labels?

[](#will-this-overwrite-my-custom-image-labels)

No. Merchant-authored labels (anything other than empty, the product name, `Image`, `main product photo`, or the raw filename) are preserved. Only Magento's default placeholders get upgraded to template output.

### Does it work with Hyva?

[](#does-it-work-with-hyva)

Yes. The module injects into `getGalleryImagesJson`, which Hyva reads for its Alpine.js gallery. Category tile alt attributes go through `ImageFactory`, which Hyva's `product/list.phtml` also uses.

### Does it work with Luma?

[](#does-it-work-with-luma)

Yes. Luma's fotorama gallery reads from the same `caption` field, and Luma's category grid uses the same `ImageFactory` path.

### Is Panth\_Core required?

[](#is-panth_core-required)

Yes. `mage2kishan/module-core` is a required dependency and is pulled in automatically by Composer. Core provides the admin tab layout and common utilities.

### Can I use AI-generated alt text?

[](#can-i-use-ai-generated-alt-text)

Yes. The module ships with a `VisionAdapterInterface` and a `NullVisionAdapter` default. You can swap the preference in your `di.xml` to a custom adapter that calls OpenAI Vision, Claude Vision, or Google Cloud Vision for a vision-generated alt as the fallback when templates render empty. The vision adapter only fires when no template output was produced.

### Does it support multi-store / multi-language?

[](#does-it-support-multi-store--multi-language)

Yes. Every configuration setting respects Magento's standard scope hierarchy (default → website → store view). Configure a different alt template per store view and the plugins automatically honor it.

### What about the `title` attribute on `` tags?

[](#what-about-the-title-attribute-on-img-tags)

The module renders a separate `title` template so you can produce short, branded titles (`{{name}}`) while the alt attribute carries the SEO keyword copy (`{{name}} | {{store}} | {{category}}`).

### Can I disable it temporarily?

[](#can-i-disable-it-temporarily)

Yes. Flip the master toggle to **No** in admin config and all plugins become no-ops instantly. The module's index data is not deleted, so re-enabling is instant.

### Does it touch the database?

[](#does-it-touch-the-database)

No. The module is pure template rendering — no DB tables created, no writes. All state lives in Magento's cached scope config.

### What if I want to disable only the gallery injection but keep tile alt working?

[](#what-if-i-want-to-disable-only-the-gallery-injection-but-keep-tile-alt-working)

Set **Apply to Gallery Images JSON** to No. The master toggle stays on, so category tiles and widgets still get template alt; only the gallery JSON is left untouched.

### Is it compatible with Varnish / Redis FPC?

[](#is-it-compatible-with-varnish--redis-fpc)

Yes. The module doesn't cache anything itself — it relies on Magento's native block cache and FPC. Template rendering is idempotent, so cache hit rate is unaffected.

---

Support
-------

[](#support)

ChannelContactEmailWebsite[kishansavaliya.com](https://kishansavaliya.com)WhatsApp+91 84012 70422GitHub Issues[github.com/mage2sk/module-image-seo/issues](https://github.com/mage2sk/module-image-seo/issues)Upwork (Top Rated Plus)[Hire Kishan Savaliya](https://www.upwork.com/freelancers/~016dd1767321100e21)Upwork Agency[Panth Infotech](https://www.upwork.com/agencies/1881421506131960778/)Response time: 1-2 business days.

### 💼 Need Custom Magento Development?

[](#-need-custom-magento-development)

Looking for **custom Magento module development**, **Hyva theme customization**, **store migrations**, or **performance optimization**? Get a free quote in 24 hours:

 [ ![Get a Free Quote](https://camo.githubusercontent.com/0d9512dc4f89ef40179e9f650fd0786b6bc846d289ab2cb04a223a43f2833eeb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f254630253946253932254143253230476574253230612532304672656525323051756f74652d6b697368616e736176616c6979612e636f6d2532466765742d2d71756f74652d4443323632363f7374796c653d666f722d7468652d6261646765) ](https://kishansavaliya.com/get-quote)

 [ ![Hire on Upwork](https://camo.githubusercontent.com/fad56e8be7896e39593f090cd2ed32e6bf86b4b6e75974cf292aee99d45f5077/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f486972652532304b697368616e2d546f702532305261746564253230506c75732d3134613830303f7374796c653d666f722d7468652d6261646765266c6f676f3d7570776f726b266c6f676f436f6c6f723d7768697465) ](https://www.upwork.com/freelancers/~016dd1767321100e21) [ ![Visit Agency](https://camo.githubusercontent.com/fdf45a9d937d72b896f5e2557337d47efebc0e06b7ad4d4c162c0a64375a62fa/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f56697369742d50616e7468253230496e666f746563682532304167656e63792d3134613830303f7374796c653d666f722d7468652d6261646765266c6f676f3d7570776f726b266c6f676f436f6c6f723d7768697465) ](https://www.upwork.com/agencies/1881421506131960778/) [ ![Visit Website](https://camo.githubusercontent.com/7455559317a374eb3eb536c5ea201ca2c2a29bc13d82cc127278975a680d552c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5669736974253230576562736974652d6b697368616e736176616c6979612e636f6d2d3044393438383f7374796c653d666f722d7468652d6261646765) ](https://kishansavaliya.com)

**Specializations:**

- 🛒 **Magento 2 Module Development** — custom extensions following MEQP standards
- 🎨 **Hyva Theme Development** — Alpine.js + Tailwind CSS, lightning-fast storefronts
- 🖌️ **Luma Theme Customization** — pixel-perfect designs, responsive layouts
- ⚡ **Performance Optimization** — Core Web Vitals, page speed, caching strategies
- 🔍 **Magento SEO** — structured data, hreflang, sitemaps, AI-generated meta
- 🛍️ **Checkout Optimization** — one-page checkout, conversion rate optimization
- 🚀 **M1 to M2 Migrations** — data migration, custom feature porting
- ☁️ **Adobe Commerce Cloud** — deployment, CI/CD, performance tuning
- 🔌 **Third-party Integrations** — payment gateways, ERP, CRM, marketing tools

---

License
-------

[](#license)

Panth Image SEO is licensed under a proprietary license — see `LICENSE.txt`. One license per Magento installation.

---

About Panth Infotech
--------------------

[](#about-panth-infotech)

Built and maintained by **Kishan Savaliya** — [kishansavaliya.com](https://kishansavaliya.com) — a **Top Rated Plus** Magento developer on Upwork with 10+ years of eCommerce experience.

**Panth Infotech** is a Magento 2 development agency specializing in high-quality, security-focused extensions and themes for both Hyva and Luma storefronts. Our extension suite covers SEO, performance, checkout, product presentation, customer engagement, and store management — over 34 modules built to MEQP standards and tested across Magento 2.4.4 to 2.4.8.

Browse the full extension catalog on the [Adobe Commerce Marketplace](https://commercemarketplace.adobe.com) or [Packagist](https://packagist.org/packages/mage2kishan/).

### Quick Links

[](#quick-links)

- 🌐 **Website:** [kishansavaliya.com](https://kishansavaliya.com)
- 💬 **Get a Quote:** [kishansavaliya.com/get-quote](https://kishansavaliya.com/get-quote)
- 👨‍💻 **Upwork Profile (Top Rated Plus):** [upwork.com/freelancers/~016dd1767321100e21](https://www.upwork.com/freelancers/~016dd1767321100e21)
- 🏢 **Upwork Agency:** [upwork.com/agencies/1881421506131960778](https://www.upwork.com/agencies/1881421506131960778/)
- 📦 **Packagist:** [packagist.org/packages/mage2kishan/module-image-seo](https://packagist.org/packages/mage2kishan/module-image-seo)
- 🐙 **GitHub:** [github.com/mage2sk/module-image-seo](https://github.com/mage2sk/module-image-seo)
- 🛒 **Adobe Marketplace:** [commercemarketplace.adobe.com](https://commercemarketplace.adobe.com)
- 📧 **Email:**
- 📱 **WhatsApp:** +91 84012 70422

---

 **Ready to fix your image SEO across the entire catalog?**
 [ ![Get Started](https://camo.githubusercontent.com/66dee04430af977df988ac18454416f2f08a5169868a0d0689061b7e8db6f8ca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f254630253946253941253830253230476574253230537461727465642532302545322538362539322d4672656525323051756f7465253230696e2532303234682d4443323632363f7374796c653d666f722d7468652d6261646765) ](https://kishansavaliya.com/get-quote)

---

**SEO Keywords:** magento 2 image seo, magento 2 image alt text, magento 2 alt attribute, magento 2 image title, magento 2 product image seo, magento 2 seo extension, magento 2 image optimization, magento 2 auto alt text, magento 2 bulk alt text, magento 2 image alt generator, magento 2 seo alt tags, magento 2 category image seo, magento 2 gallery alt text, magento 2 widget image alt, magento 2 wcag compliance, magento 2 accessibility alt, hyva image seo, hyva alt text, hyva image optimization, luma image seo, luma alt text, magento 2 image search seo, magento 2 google images, magento 2 multi-store alt text, magento 2 localized alt text, magento 2 alt template, magento 2 alt tokens, magento 2 image label extension, magento 2 AI alt text, magento 2 vision alt text, mage2kishan image seo, panth infotech image seo, kishan savaliya magento, magento 2.4.8 image seo, magento 2 PHP 8.4 image seo, hire magento developer upwork, top rated plus magento freelancer, custom magento development, adobe commerce image seo, magento 2 alt automation, magento 2 bulk image optimization

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance94

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

6

Last Release

32d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/343e344aa298f189db888b32d62f9202d31ced1a5ea23411850a63dc4a30299c?d=identicon)[kishansavaliya](/maintainers/kishansavaliya)

---

Top Contributors

[![KishanSavaliya](https://avatars.githubusercontent.com/u/16853223?v=4)](https://github.com/KishanSavaliya "KishanSavaliya (7 commits)")

---

Tags

seomagento2magento2 modulealt textimage-seopanth

### Embed Badge

![Health badge](/badges/mage2kishan-module-image-seo/health.svg)

```
[![Health](https://phpackages.com/badges/mage2kishan-module-image-seo/health.svg)](https://phpackages.com/packages/mage2kishan-module-image-seo)
```

###  Alternatives

[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

68353.9k](/packages/run-as-root-magento2-prometheus-exporter)[mollie/magento2

Mollie Payment Module for Magento 2

1131.8M12](/packages/mollie-magento2)[mage-os/module-inventory-reservations-grid

Add a grid with the list of inventory reservations.

1512.6k](/packages/mage-os-module-inventory-reservations-grid)[loki/magento2-components

Core module for defining Alpine.js components with advanced AJAX features

1010.0k22](/packages/loki-magento2-components)[opengento/module-category-import-export

This module add the capability to import and export the categories from the back-office.

1310.2k1](/packages/opengento-module-category-import-export)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
