=== Custom 404 Handler ===
Contributors: jfkconsulting
Tags: 404, error, redirect, custom-404, logging
Requires at least: 5.0
Tested up to: 6.8
Stable tag: 1.0.0
Requires PHP: 7.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Customized 404 page, error logging with analysis, automatic redirects and export functionality.

== Description ==

This plugin allows you to take full control over how your WordPress site handles 404 (Not Found) errors. Instead of the default theme's 404 page, you can:

*   **Display a Custom 404 Page:** Choose any published page on your site to serve as your 404 error page.
*   **Log 404 Errors:** Keep track of which URLs are causing 404 errors, including the referring URL, IP address, and user agent. This helps identify broken links or malicious activity.
*   **Analyze Logs:** View statistics like the most frequent 404 URLs and top referrers directly in your WordPress admin.
*   **Create Automatic Redirects:** Easily set up 301 (permanent) or 302 (temporary) redirects for specific 404 URLs to send visitors to the correct content. Track redirect hits.
*   **Export Logs:** Download your 404 error logs as a CSV file for external analysis.
*   **Optionally Redirect All 404s to Homepage:** A simple option to redirect all 404 errors directly to your site's homepage.
*   **Add `noindex` Tag:** Automatically add a `noindex, follow` meta tag to your 404 pages (custom or default) to prevent search engines from indexing them.

== Installation ==

1.  Upload the `custom-404-handler` folder to the `/wp-content/plugins/` directory.
2.  Activate the plugin through the 'Plugins' menu in WordPress.
3.  Go to the '404 Handler' -> 'Settings' menu in your WordPress admin to configure the plugin.
    *   Choose a custom 404 page (optional).
    *   Enable/disable logging and set log limits.
    *   Configure homepage redirect and `noindex` options.
4.  Visit '404 Handler' -> '404 Logs' to view logged errors and statistics.
5.  Visit '404 Handler' -> 'Redirects' to manage your 404 redirects.

== Frequently Asked Questions ==

= Does this plugin create the 404 page content for me? =

No, you need to create a standard WordPress page first. Then, in the plugin's settings, you select that page to be displayed when a 404 error occurs.

= Will this slow down my site? =

The plugin is designed to be lightweight. Logging occurs only on actual 404 errors, and redirects are checked efficiently. Performance impact should be minimal.

= Where is the log data stored? =

Log data and redirect information are stored in custom tables (`wp_404_logs` and `wp_404_redirects`) within your WordPress database.

= What happens if I don't select a custom 404 page? =

If no custom page is selected in the settings (and the homepage redirect option is off), your theme's default `404.php` template will be used, but logging and redirects (if configured) will still function. The `noindex` tag will also be applied if enabled.

== Changelog ==

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.0 =
* Initial release of the Custom 404 Handler plugin.