`/sitemap` URL
clean custom-router URL, no /seo/ or /htmlsitemap/ prefix visible to customers.
A complete, theme-agnostic HTML sitemap page for Magento 2 at /sitemap — categories as a nested tree, products in a paginated grid that handles 100k+ catalogs, CMS pages, store switcher and custom links.
Key Features:
Additional Services
Built-in from day one. No add-ons, no upsell, no licence keys to renew.
clean custom-router URL, no /seo/ or /htmlsitemap/ prefix visible to customers.
respects store root, max-depth limit, is_active, and a per-category exclude_from_html_sitemap flag.
?p=N pagination for large catalogs, admin-configurable page size (50–2000, default 500), absolute hard cap of 2,000 pages, efficient COUN…
name A→Z, name Z→A, newest, oldest, price ascending, position.
choose whether product links are /product.html or /category/product.html.
excludes homepage + no-route automatically; admin-configurable extra exclusions (e.g. privacy-policy,cookie-policy).
HTML Sitemap — Customer-facing /sitemap page for Magento 2 (Hyva + Luma). Theme-agnostic HTML sitemap page for Magento 2. Renders categories (nested tree), products (grid with pagination for 100k+ catalogs), CMS pages, store switcher and custom links at /sitemap. Works identically on Hyva and Luma. Extracted from Panth_AdvancedSEO for independent installation.
Engineered for magento 2 html sitemap, magento sitemap.html, magento seo sitemap — ships with sensible defaults, full admin controls, and zero JavaScript bloat. Works identically on Hyva and Luma; passes Adobe MEQP with zero severity-10 violations.
A complete, theme-agnostic HTML sitemap page for Magento 2 at
/sitemap— categories as a nested tree, products in a paginated grid that handles 100k+ catalogs, CMS pages, store switcher and custom links. Works identically on Hyva and Luma. Plain PHP + vanilla JS + scoped CSS — no Alpine / RequireJS / mage-init glue.
Magento's built-in XML sitemap is for Google. This module is for humans — a readable page your customers land on when they're lost, and an internal-linking surface that spreads PageRank across every category and product on your store.
Kishan SavaliyaTop Rated Plus on Upwork |
Panth Infotech Agency |
/sitemap URL — clean custom-router URL, no /seo/ or /htmlsitemap/ prefix visible to customers.is_active, and a per-category exclude_from_html_sitemap flag.?p=N pagination for large catalogs, admin-configurable page size (50–2000, default 500), absolute hard cap of 2,000 pages, efficient COUNT(DISTINCT) + LIMIT/OFFSET on indexed EAV joins./product.html or /category/product.html.no-route automatically; admin-configurable extra exclusions (e.g. privacy-policy,cookie-policy).URL | Label).The product section is designed for real catalogs:
?p=N. Admin-configurable 50–2000.COUNT(DISTINCT e.entity_id) for total count (memoised per request), then LIMIT/OFFSET on the paged SELECT. No array_slice on giant arrays, no full catalog load into memory.catalog_product_entity × catalog_product_website × catalog_product_entity_int (visibility + status) — every filter column is indexed in stock Magento.Benchmarked render time per page is roughly constant regardless of total catalog size: the sitemap page for product #50,000 renders as fast as the one for product #1.
| Requirement | Supported |
|---|---|
| Magento Open Source | 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8 |
| Adobe Commerce | 2.4.4 — 2.4.8 |
| PHP | 8.1, 8.2, 8.3, 8.4 |
| Hyva Theme | 1.0+ (theme-agnostic template) |
| Luma Theme | Native support |
| Panth Core | ^1.0 (installed automatically) |
composer require mage2kishan/module-html-sitemap
bin/magento module:enable Panth_Core Panth_HtmlSitemap
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
bin/magento module:status Panth_HtmlSitemap
# Module is enabled
Then visit https://your-store.example/sitemap.
Navigate to Stores → Configuration → Panth Infotech → HTML Sitemap. A direct link also appears under the Panth Infotech admin sidebar.
| Setting | Default | Purpose |
|---|---|---|
| Enable HTML Sitemap | Yes | Master switch. No = /sitemap returns 404. |
| Show Categories | Yes | Render the nested category tree. |
| Max Category Depth | 0 | Limit tree depth. 0 = unlimited. |
| Show Products | Yes | Render the paginated product grid. |
| Product Sort Order | Name (A-Z) | Name/newest/oldest/price/position. |
| Product URL Structure | Short | /product.html vs /category/product.html. |
| Products Per Page | 500 | Pagination size. Range 50–2000. |
| Show CMS Pages | Yes | Include active CMS pages. |
| Show Store Switcher | No | List all active stores. |
| Show Custom Links | No | Render admin-editable link list. |
| Custom Links | (empty) | URL | Label one per line. |
| Meta Title | Site Map | <title> on the sitemap page. |
| Meta Description | (empty) | <meta name="description">. |
| Exclude CMS Pages | (empty) | Comma-separated identifiers to hide. |
| Show Search Field | No | Client-side filter across visible sections. |
Every category now has an "Exclude from HTML Sitemap" field in Catalog → Categories → {category} → Search Engine Optimization. Flip it to Yes to hide that category (and its link-children reset to the catalog root, not the hidden category) from the rendered tree. Flush the sitemap's layout cache after changes.
/sitemap returns 404Check the master toggle: Stores → Configuration → Panth Infotech → HTML Sitemap → Enable HTML Sitemap must be Yes. If the module is installed but the config was never saved, the config.xml default (enabled=1) still applies — flush config cache.
Two causes: (a) ?p=N is beyond the last page — clamp client-side to getTotalProductPages(); (b) the visible-product join returns nothing because the store has no products with visibility IN (2,4) and status = 1. Run SELECT COUNT(*) FROM catalog_product_entity to sanity-check the catalog.
composer requireEnsure Panth_Core, Magento_Store, Magento_Catalog, Magento_Cms and Magento_Eav are all enabled — they are hard dependencies.
| Module Category | SEO & Indexing |
|---|---|
| Best For | All Sizes |
Talk to Kishan directly — written quote, scope and timeline within 24 hours. No sales call.
HTML Sitemap for Magento 2