=== ZA Redirects ===
Contributors: mrhamada
Tags: redirects, regex, analytics, seo, 301
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Manage exact and regex redirects (301, 302, 307, 410, 451) with built-in hit tracking and analytics from a custom WordPress dashboard.

== Description ==

ZA Redirects is a WordPress plugin that turns a clean custom dashboard into a complete redirect manager with:

* Exact-match redirect rules.
* Regex-based redirect rules.
* 301, 302, 307, 410, and 451 response support.
* Built-in hit tracking and dashboard analytics.
* Bulk actions, filtering, search, pause/activate, and editing tools.

This plugin is developed and maintained by Hamada Zayed (mrhamada.net). It is not affiliated with, endorsed by, or connected to any other service or brand sharing a similar name.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`, or install it from the WordPress plugin directory.
2. Activate `ZA Redirects` from the WordPress plugins screen.
3. Open `ZA Redirects` from the admin sidebar to create rules.

== Frequently Asked Questions ==

= Does it support regex redirects? =

Yes. Add regex rules from the dedicated Regex Redirects section.

= Does it track hits? =

Yes. Every matched rule increments hit counters and appears in analytics.

= Can I return 410 or 451 without redirecting? =

Yes. Leave the destination empty and the plugin will return a terminal response instead.

== Screenshots ==

1. Dashboard analytics overview.
2. Plain redirect management screen.
3. Regex redirect management screen.

== Changelog ==

= 1.0.2 =
* Security: hardened admin handlers by moving capability checks before reading request data.
* Security: removed misuse of `esc_html_e` inside `wp_die()` and replaced with `esc_html__`.
* Fix: replaced deprecated `current_time('timestamp')` with `time()` for `human_time_diff`.
* Fix: switched translation loading to the standard `load_plugin_textdomain()`.
* Docs: updated contributor reference and clarified ownership.

= 1.0.1 =
* Refactor: internal renames and minor hardening.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.2 =
Security hardening and compatibility fixes. Recommended for all users.
