Chat on WhatsApp

Custom 404 Not Found Page for Magento 2

Turn your Magento 2 "Whoops, our bad..." page into a modern, conversion-friendly 404 experience — dynamic category links pulled live from the catalog, an integrated search bar, fully configurable heading and subheading, popular links tog…

Magento 2.4.6–2.4.8 PHP 8.1–8.4 Hyva + Luma Ready Free

Key Features:

  • Dynamic Category Links
  • Integrated Search Bar
  • Configurable Heading and Subheading
  • Popular Links Toggle

Additional Services

$0.00
In stock
SKU
panth-not-found-page
Links
Pay with Wise
Lifetime Updates Every Magento release
1-Year Free Support Email + WhatsApp
Adobe-Certified Magento 2 Developer
Free Forever No subscription, no upsell
What you get

Everything in the box

Built-in from day one. No add-ons, no upsell, no licence keys to renew.

Dynamic Category Links

Pulls top-level categories live from your catalog — no manual link maintenance

Integrated Search Bar

Prominent search form rendered inline on the 404 page

Configurable Heading and Subheading

Set your own H1 heading and subheading per store view

Popular Links Toggle

Optional "Popular Links" block shoppers can jump to (About, Contact, Shipping, etc.)

Contact Info Block

Show email and phone directly on the 404 page so lost shoppers can reach you

Store-View Scoped

Every setting scopes at store view — different heading, different contact email, different popular links per locale or brand

Overview

Panth Not Found Page is a custom 404 page extension for Magento 2 that replaces the stock no-route screen with a branded, conversion-friendly error experience.

The Panth Not Found Page extension hooks into Magento's standard cms/noroute/index route and renders a polished 404 layout with a prominent search bar, dynamic top-level category links pulled live from the catalog, a configurable heading and subheading, an optional popular links list, and a contact info block with email and phone.

It is built for Magento 2 and Adobe Commerce merchants who lose shoppers on broken URLs and want to recover them with on-brand navigation instead of the default "Whoops, our bad..." dead end. Every text string, toggle, and link set is scoped at store-view level, so multi-language and multi-brand storefronts render the right 404 for each locale.

The module ships native templates for both Hyvä (Alpine.js + Tailwind CSS) and Luma (Knockout + LESS), so whichever theme the store runs, the 404 page matches it from day one. There are no core overrides, no layout hacks, and no third-party theme dependencies to maintain.

Best for:

  • Magento 2 stores recovering traffic from broken inbound links, retired SKUs, and shopper typos.
  • Multi-store and multi-language brands needing store-view-scoped 404 copy and translations.
  • Hyvä and Luma merchants wanting an on-brand 404 page without custom theming work.

Why Replace the Default 404?

Magento 2's stock 404 page is functional but bland — a generic "Whoops, our bad..." headline, a tiny search box, and no path back into the store. That is a bad experience for shoppers who landed on a dead link, and it is a missed conversion opportunity for your store.

Panth Not Found Page fixes this with a layout built around three questions a lost visitor actually has:

  1. "Where am I?" — a big, branded heading and subheading you control per store view
  2. "How do I find what I wanted?" — a prominent search bar and dynamic category shortcuts
  3. "How do I reach a human?" — contact info (email, phone) rendered inline on the page

The result is a 404 that looks intentional, keeps bounce rate down, and gives shoppers a clear next step.


What you get

Panth Not Found Page replaces the default Magento 2 404 with a configurable, theme-native error page.

  • Drop-in replacement for the cms/noroute/index route with no core overrides.
  • Integrated search bar and dynamic top-level category links pulled from the catalog.
  • Configurable heading, subheading, popular links list, and contact info block.
  • Store-view scoping for multi-language and multi-brand catalogs.
  • Native Hyvä and Luma templates with matching styling per theme.
  • Compatible with Magento 2.4.4–2.4.9, Adobe Commerce, and PHP 8.1–8.4.

Need a Custom Magento 2 404 Page or Module?

Get a free quote within 24 hours — custom 404 designs, custom modules, Hyva theme work, performance optimization, migrations, and more.

Kishan Savaliya

Top Rated Plus on Upwork

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

Panth Infotech Agency

Magento Development Team

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

Visit our website: kishansavaliya.com  |  Get a quote: kishansavaliya.com/get-quote


Key Features

Dynamic Category Links

  • Pulls top-level categories live from your catalog — no manual link maintenance
  • Respects the active store view's root category and category visibility rules
  • Displays category names in the shopper's language automatically
  • Graceful fallback if no categories are active

Integrated Search Bar

  • Prominent search form rendered inline on the 404 page
  • Posts to Magento's standard catalogsearch/result/index endpoint
  • Plays nicely with Elasticsearch, OpenSearch, and third-party search providers

Configurable Heading and Subheading

  • Set your own H1 heading and subheading per store view
  • Supports HTML for bold/italic emphasis
  • Translatable via Magento's standard translation CSV files

Popular Links Toggle

  • Optional "Popular Links" block shoppers can jump to (About, Contact, Shipping, etc.)
  • Enable/disable per store view — hide it entirely if you don't need it
  • Link list fully editable from admin

Contact Info Block

  • Show email and phone directly on the 404 page so lost shoppers can reach you
  • Email uses mailto:, phone uses tel: — one-tap on mobile
  • Each field independently toggleable

Store-View Scoped

  • Every setting scopes at store view — different heading, different contact email, different popular links per locale or brand
  • Clean multi-store and multi-language behavior out of the box

Hyva + Luma Native

  • Separate templates for Hyva (Alpine.js + Tailwind) and Luma (Knockout + LESS)
  • Theme detected automatically via Panth_Core helper
  • No JS library conflicts, no forced theme dependencies

Zero Core Overrides

  • Uses Magento's standard cms/noroute/index routing
  • No layout XML hacks on core pages, no controller rewrites, no plugins on FrontController
  • Compatible with custom routers, maintenance mode, and security modules

How It Works

Panth Not Found Page does not override Magento's routing. Instead, it attaches to the built-in cms/noroute/index handler that Magento already invokes for any unresolved URL, and replaces the block rendered under the content container with the module's own block:

  1. Magento's front controller fails to match a route → dispatches cms/noroute/index
  2. The module's layout update replaces the stock no-route block with Panth\NotFoundPage\Block\NotFound
  3. The block reads all settings via Panth\NotFoundPage\Helper\Config (scoped per store view)
  4. The correct template is selected based on Panth\Core\Helper\Theme::isHyva() — Hyva template for Hyva stores, Luma template for everything else
  5. Top-level categories are loaded via the category collection, filtered to is_active = 1 and the store's root category
  6. The response is returned with an HTTP 404 status code — correct for SEO and crawlers

Because the module uses the stock noroute flow, it is compatible with every Magento feature that depends on it: maintenance pages, URL rewrites, custom routers, admin URL checks, and security modules.


Hyva and Luma Templates

The module ships two independent template sets:

Hyva Template

  • Built with Alpine.js and Tailwind CSS
  • Zero jQuery, zero RequireJS
  • Uses Hyva's standard form styling for the search bar
  • Renders under view/frontend/templates/hyva/notfound.phtml

Luma Template

  • Built with Knockout and LESS
  • Inherits Magento/luma search form styling
  • Renders under view/frontend/templates/luma/notfound.phtml

Theme detection is automatic via Panth\Core\Helper\Theme — you do not need to configure which template to use.


SEO and Analytics

  • Correct HTTP status: the page returns 404 Not Found so Google and other crawlers mark the URL as missing (stock Magento does this correctly; the module preserves it)
  • Robots meta: noindex, nofollow is emitted by default, matching Magento's stock behavior
  • Canonical: no canonical tag is emitted on 404 pages (correct per Google's guidelines)
  • Analytics friendly: the page is a normal storefront page, so GA4, GTM, Matomo, and Hyva's analytics integrations all track it out of the box as page_location containing the missing URL

Compatibility

Requirement Versions 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.5, 2.4.6, 2.4.7, 2.4.8
Adobe Commerce Cloud 2.4.4 — 2.4.8
PHP 8.1.x, 8.2.x, 8.3.x, 8.4.x
Hyva Theme 1.3+
Luma Theme Native support
Required Dependency mage2kishan/module-core (free)

Tested on:

  • Magento 2.4.8-p4 with PHP 8.4 (Hyva 1.3.x + Luma)
  • Magento 2.4.7-p3 with PHP 8.3
  • Magento 2.4.6-p8 with PHP 8.2

Installation

Composer Installation (Recommended)

composer require mage2kishan/module-not-found-page
bin/magento module:enable Panth_Core Panth_NotFoundPage
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:flush

Manual Installation via ZIP

  1. Download the latest release from Packagist or the Adobe Commerce Marketplace
  2. Extract the contents to app/code/Panth/NotFoundPage/ in your Magento installation
  3. Also install mage2kishan/module-core if it is not already present
  4. Run the commands listed above starting from bin/magento module:enable

Verify Installation

bin/magento module:status Panth_NotFoundPage
# Expected: Module is enabled

Then visit any invalid URL on your storefront, for example https://yourstore.com/this-page-does-not-exist, to see the new 404 page render.


Configuration

Navigate to Admin → Stores → Configuration → Panth Extensions → Not Found Page.

Setting Scope Default Description
Enable Module Store View Yes Master toggle. When off, Magento's default no-route page is used.
Heading Store View Page Not Found The big H1 shown at the top of the 404 page.
Subheading Store View The page you are looking for could not be found. Supporting copy under the heading. HTML allowed.
Show Search Bar Store View Yes Render the integrated search form.
Show Category Links Store View Yes Pull and render top-level categories from the active catalog.
Show Popular Links Store View Yes Render the optional Popular Links block.
Popular Links Store View (empty) Editable list of label/URL pairs — About Us, Contact, Shipping, etc.
Show Contact Email Store View Yes Show the contact email row.
Contact Email Store View info@example.com Email address displayed (rendered as mailto:).
Show Contact Phone Store View Yes Show the contact phone row.
Contact Phone Store View +1 (555) 000-0000 Phone number displayed (rendered as tel:).

All text fields are translatable. Settings take effect immediately after a cache flush.


More Information
Module Category Theme & UI
Best For All Sizes
FAQ

Frequently Asked Questions

Does this module override Magento's `cms/noroute/index` controller?

No. It uses Magento's standard layout update mechanism to replace the block under the content container. The controller itself is untouched.

Will the page still return HTTP 404?

Yes. The module does not change the response status — it only changes what is rendered inside the 404 response.

Can I use different headings for different languages?

Yes. All text fields are store-view scoped, so you can set English copy for your English store view, French copy for French, and so on. Values also run through Magento's translation layer if you prefer CSV translations.

Does it work with Hyva Checkout or Hyva Themes v2?

Yes. The Hyva template uses only Alpine.js and Tailwind utility classes, which both Hyva 1.x and the Hyva Themes v2 checkout support.

Does it work on Adobe Commerce Cloud?

Yes. No filesystem writes, no custom binaries, no cron — safe to deploy on ACC.

Can I customize the template further?

Yes. Override the template in your theme at app/design/frontend/Your/Theme/Panth_NotFoundPage/templates/hyva/notfound.phtml (or luma/notfound.phtml). All data is exposed on the block via public getters.

Does this conflict with other 404 or URL rewrite extensions?

No. Panth Not Found Page only touches the noroute layout handle — it does not intercept routing, redirects, or URL rewrites. It is compatible with Magento_UrlRewrite, redirect managers, and 301-redirect extensions.

Is a module dependency required?

Yes — mage2kishan/module-core (free, required for every Panth extension). Composer pulls it in automatically.


How is this different from a traditional antivirus?

Panth Malware Scanner is built specifically for Magento 2 filesystems — it understands the directory layout, knows which folders are writable from the frontend, and ships signatures tuned for Magento-targeted threats (Magecart skimmers, PolyShell webshells, admin-layout injection). Traditional AV tools scan everything with generic signatures and produce noise.

Does this module change how Magento calculates custom option prices?

No. All price-delta logic continues to flow through Magento's standard priceBox and price-option JS components. This module only replaces the visual rendering.

Does Panth Footer replace the default Magento footer?

Yes. When enabled, Panth Footer takes over the footer.container block and renders its own configurable footer. You can disable it any time to restore the default footer.

Do I have to pay for Panth Core?

No. Panth Core is completely free and will remain free forever. It is the foundation library that other (paid) Panth extensions depend on.

Does this work on Hyva themes?

Yes. The module ships Hyva-native templates using Alpine.js and Tailwind. No jQuery required.

Does Panth Mega Menu work on both Hyva and Luma?

Yes. The module ships with two purpose-built templates — Alpine.js + Tailwind for Hyva and vanilla JS for Luma — and auto-switches based on your active storefront theme.

Can I have more than one banner slider on the same page?

Yes. Create as many sliders as you want in the admin and place each one via its own widget or layout block. Each slider maintains independent configuration and slides.

Does it work for guests?

Yes, guests can subscribe with their email address. You can optionally require login via admin config.

Does this submit URLs to Google?

No. Google does not participate in IndexNow and has stated they maintain their own crawl schedule. For Google indexing, use a proper XML sitemap and Google Search Console. This module is specifically for the IndexNow ecosystem (Bing, Yandex, Seznam, Naver, Yep).

How many forms can I create?

Unlimited. Each form has a unique identifier and its own submissions scope.

Need this customised?

Talk to Kishan directly — written quote, scope and timeline within 24 hours. No sales call.

WhatsApp

Custom 404 Not Found Page for Magento 2

$0.00
Step up

Customers usually upgrade to