When you delete a product, change a permalink or migrate a site, the old URLs keep getting traffic. Visitors land on an empty 404 page, and the traffic and the signals those old links carry go nowhere.
Most redirect plugins ask you to fix this by hand: you write a rule for every broken URL. That does not scale past a few dozen.
no404 works the other way around. It keeps a synchronised index of the URLs your site actually has, and when a request 404s it finds the closest match in that index automatically. You write no rules.
/old-url /new-url written out one at a time. no404 matches against your live catalogue, so a deleted product URL finds its closest surviving equivalent on its own.template_redirect, so Yoast SEO, Rank Math and Redirection get to act first. It is a last resort, not a competitor to your redirect table.If the service is slow or unreachable, the plugin steps aside and your theme’s own 404 page renders normally. Requests time out after 1.5 seconds, and after a failure the plugin stops calling out entirely for a short while instead of adding that delay to every 404.
The default is deliberately cautious, because 301s may be cached aggressively by browsers and search engines and can be hard to reverse quickly:
You can force everything to 301 in the settings, but it is off by default.
Results are cached locally for an hour, including “no match found”. A bot hammering the same dead URL two hundred times a day costs you one lookup, not two hundred. Static files (.css, .js, .png and so on) and admin paths such as /wp-admin and /wp-json are never sent to the service at all.
Deleted product URLs are the main thing this plugin was built for. It does not interfere with WooCommerce permalink structures.
The matching engine runs as a hosted service, so the plugin needs a free no404 account and an API key. The free plan covers 1,000 lookups per month. See the External services section below for exactly what is transmitted.
The plugin is written in English and ships with translations for Turkish, German, French, Spanish, Russian, Hindi and Arabic (right-to-left). It follows the language of your WordPress installation, so there is nothing to configure.
This plugin relies on the no404 service to work out where a broken URL should be redirected. The matching is done remotely, against an index of your site built from your sitemap, so the plugin cannot perform it on its own.
When data is sent
A request is sent when a visitor hits a 404 page, and only then. Requests are not sent when:
What is sent
/old-product. Query strings are stripped before sending.Referer header, when the browser supplies one.What is not sent
The plugin does not transmit the visitor’s IP address, the visitor’s user agent, cookies, session data, form contents, or any other personal data.
Service provider
The service is operated by no404, https://no404.tr