Title: Fast 404
Author: Ayesh Karunaratne
Published: <strong>May 18, 2020</strong>
Last modified: July 23, 2023

---

Search plugins

![](https://ps.w.org/fast404/assets/banner-772x250.png?rev=2307352)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/fast404/assets/icon-256x256.png?rev=2307352)

# Fast 404

 By [Ayesh Karunaratne](https://profiles.wordpress.org/ayeshrajans/)

[Download](https://downloads.wordpress.org/plugin/fast404.1.2.zip)

 * [Details](https://pcd.wordpress.org/plugins/fast404/#description)
 * [Reviews](https://pcd.wordpress.org/plugins/fast404/#reviews)
 *  [Installation](https://pcd.wordpress.org/plugins/fast404/#installation)
 * [Development](https://pcd.wordpress.org/plugins/fast404/#developers)

 [Support](https://wordpress.org/support/plugin/fast404/)

## Description

Fast 404 is a low foot-print plugin that quickly inspects an incoming HTTP request,
and terminates the request as soon as possible if the request is for a non-existing
resource. If the browser is expecting an HTML page (indicated by the `Accept` HTTP
header), this plugin will not intercept it. For all other requests, this plugin 
will terminate it immediately, saving server resources and bandwidth.

When a user browser requests a resource (such as a `jpg` image, or a `.woff2` font
file), the web server sends this resource if it is available in the requested location.
If the file does not exist, the request is forwarded to WordPress to handle. Unless
you are using a plugin that dynamically generates these files, these file-not-found
requests trigger a full WordPress Page-Not-Found error page. This plugin inspects
such incoming requests, and if the browser indicates that it is looking for a resource
other than an HTML page, this plugin terminates the request as soon as possible 
to prevent WordPress from serving this request which would be a waste of resources
and bandwidth. This plugin carefully makes sure that the short-circuited 404 pages(
which just shows “Not Found” on a blank page) is only returned to browser asset 
requests, and not for end users who expect an HTML page.

By default, all HTTP requests to `js|css|jpg|jpeg|gif|png|webp|ico|exe|bin|dmg|woff
|woff2` extensions will be fast 404’d. You can configure the extensions and even
configure an exclusion pattern to prevent this plugin from intercepting certain 
requests.

This plugin is the WordPress port of [PHPWatch/Fast404](https://github.com/PHPWatch/Fast404)
package.

## Installation

 1. Upload the plugin files to the `/wp-content/plugins/` directory, or install the
    plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress.
 3. You are all set!

## FAQ

### How to configure the error message?

This plugin ensures that the error message is not shown to end users who request
URLs from the browser address bar. It is configured as “Not Found” by default.

However, you can override this message by adding a PHP constant to your `wp-config.
php` file. Anywhere in this file, put this:

    ```
    define('FAST404_ERROR_MESSAGE', 'My new error message');
    ```

### How to configure file types?

By default, `js|css|jpg|jpeg|gif|png|webp|ico|exe|bin|dmg|woff|woff2` extensions
are terminated early.

You need to define a PHP constant in `wp-config.php` file to override this. The 
value of the constant MUST be a valid regular expression matched against the request
URI.

    ```
    define('FAST404_REGEX', '/\.(?:js|css|jpg|jpeg|gif|png|webp|ico|exe|bin|dmg|woff|woff2)$/i')
    ```

### How can I log requests?

You cannot. The whole point of this plugin is to save server resources when the 
request cannot be served. It takes the first opportunity to terminate the request,
and it might be early in the page request-cycle that any of the logging functionality
is even available yet.

### What screams “I’m insecure”?

“http://”

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Fast 404” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ Ayesh Karunaratne ](https://profiles.wordpress.org/ayeshrajans/)

[Translate “Fast 404” into your language.](https://translate.wordpress.org/projects/wp-plugins/fast404)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/fast404/), check out
the [SVN repository](https://plugins.svn.wordpress.org/fast404/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/fast404/) by [RSS](https://plugins.trac.wordpress.org/log/fast404/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0

 * Initial release.

#### 1.0.1

 * Updates the WordPress core version this plugin was tested against.
 * Minor text improvements.

#### 1.2

 * Same version as 1.0.1, but with a consistent version number bump.

## Meta

 *  Version **1.2**
 *  Last updated **3 years ago**
 *  Active installations **50+**
 *  WordPress version ** 3.9.2 or higher **
 *  Tested up to **6.3.8**
 *  PHP version ** 7.1 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/fast404/)
 * Tags
 * [404](https://pcd.wordpress.org/plugins/tags/404/)[page not found](https://pcd.wordpress.org/plugins/tags/page-not-found/)
   [performance](https://pcd.wordpress.org/plugins/tags/performance/)
 *  [Advanced View](https://pcd.wordpress.org/plugins/fast404/advanced/)

## Ratings

No reviews have been submitted yet.

[Add my review](https://wordpress.org/support/plugin/fast404/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/fast404/reviews/)

## Contributors

 *   [ Ayesh Karunaratne ](https://profiles.wordpress.org/ayeshrajans/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/fast404/)