=== RedirectNest ===
Tags: redirects, migration, 404
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.1.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Manage exact redirects, review missing paths and test saved rules locally.

== Description ==
Manage old URLs and review redirect changes. All Free tools work without
payment, registration or a license:

* Create, edit, pause or delete exact redirects: 301, 302, 307, 308 or intentional 410.
* Preview CSV imports, export rules, search paths/groups and confirm bulk changes.
* Reject duplicate sources and exact-rule loops; test matching without HTTP requests.
* Review URL changes and removed/restored content before choosing a response.
* Optionally count local hits/404s, review missing paths and restore snapshots.
* Manage multisite sites separately; enforce existing scoped staff permissions.

Overview suggests a next task from saved records. WordPress navigation starts
visible; choose Focus to hide it. Saved color themes are retained. Preferences
stay in this browser, separately per site/administrator. Forms and navigation
work without JavaScript; appearance/layout controls require it. Assets and
licensed fonts are local.

A separate GPL-compatible Pro add-on supplies advanced matching, migration
review, product decisions, monitoring and reports. Paid engines are not in this
ZIP; Free never installs Pro or downloads executable code. One Explore Pro entry
opens labelled fictional examples and feature details, without inspecting the
site, changing settings, opening an account or starting a trial.

== Installation ==

Current matched release: Free 1.1.2 and Pro 1.1.2.

1. Upload and activate this ZIP through Plugins > Add New.
2. Open RedirectNest, save an old path/replacement, then follow its Test link.
3. Check the real URL separately; servers, caches and other plugins can affect it.

On MySQL/MariaDB, safe writes require InnoDB options storage (and network
metadata on multisite). Unsupported storage pauses the plugin with guidance;
it does not convert WordPress tables automatically. If table setup fails, the
plugin stays paused on later visits too. Ask your host to restore database
permissions, then reload to retry setup. Existing records are retained.

Free-only sites need only Free. Fresh pair: install Free 1.1.2, then Pro
1.1.2. Existing sites should replace Pro with 1.1.2 first, then Free with 1.1.2
installed, without uninstalling either edition. New Pro operations require at
least Free 0.10.0; this is the compatibility minimum. Updates retain
redirects, settings and activation. Back up and test on staging. Do not
downgrade below 0.7.1 after its storage upgrade. Free folder: redirect-nest.

== Frequently Asked Questions ==

= What does the local tester establish? =
It traces saved rules without fetching destinations or certifying site health.
Only GET/HEAD requests are redirected. Exact paths are case-sensitive and
distinguish trailing slashes. Configured destination
query values take priority over incoming values with the same key; common incoming
credential/email parameters are filtered. Review URLs for secrets.

= Which imports work in Free? =
Native CSV and supported basic Redirection JSON. Rank Math CSV review is available,
but slash-insensitive conversion needs Pro and uses its advanced rule allowance.
Simple 301 needs manual conversion to preserve decoded-path matching. Unsupported
conditions need manual review in either edition.
Acknowledge conversion differences: /old and /%6Fld may match elsewhere but differ
here. Test encoded paths before switching. Every row and the combined rule set
must pass; one error blocks the whole import.
Pro does not fix invalid data, conflicts or limits. Private previews and issue
reports expire after 15 minutes.

= What are the resource limits? =
Both editions share 5,000 total rules and uploads below 2 MB. Pro supports at most
200 advanced rules within that total. These are shared safeguards, not paid quotas. Rule searches show 25 rows. Up to
20 snapshots last 90 days; restoring one replaces all current rules, not caches.
Upstream requests are outside WordPress.

= Does a missing-path decision fix the URL? =
No. Local review decisions retain up to 1,000 paths for 30 days.
Ignoring does not redirect the path, stop optional counts or automatically reopen
on a new request. You can reopen it. Choose a relevant replacement manually or
explicitly retire content with 410; Free never guesses a replacement. URL-change
monitoring covers supported published public post/page edits, not a complete audit.

= What happens when Pro is inactive or a subscription expires? =
Advanced rules require the active compatible Pro engine. Free retains their
definitions for pause/delete, export and recovery without executing or simplifying
them; exact redirects keep working. Free pauses Pro older than 0.9.0. Ordinary
expiry does not disable activated local Pro tools while Pro stays active. New
activations, downloads and updates need entitlement; disconnection or a rejected
key can prevent new Pro operations.

Conditional Pro rules use temporary 302/307 responses and may read current user
or request context without retaining visitor values. These signals are not
access controls. Bypass source-path caches and test real sessions. Existing
delegated permissions remain enforceable after Pro removal. Administrators
control licensing, privacy erasure, migration publication and permission
assignment.

= Does uninstall erase my rules? =
No. Deactivation/deletion retain local rules, settings, history and counters.
Privacy > Erase auxiliary plugin data removes disposable records while preserving
active redirects, their saved schedules and the installation key. It removes rollback
history, cancels background jobs/scans/recurring monitoring and pending alert emails,
and stops detailed fleet sharing. It also erases bounded Pro records when Pro is
inactive. WordPress revisions, downloaded reports and backups need separate deletion.
Export and back up first; complete removal requires reviewing plugin tables, options
and indexed transients with a database administrator.

== Privacy and local data ==
Free sends no product telemetry, contacts no RedirectNest service by itself and
sets no visitor cookies. Paths and configured URLs can still contain personal data;
avoid secrets and disclose local path logging to your visitors. No plugin can
automatically make a website GDPR compliant.

Optional hit/404 counts are off on new installations. Existing choices survive
Pro removal. Hits store a rule fingerprint, daily total and last-hit time; 404
counts store paths. Neither stores visitor IPs, user agents, query strings or
referrers. Counts include bots; caches and concurrent traffic can affect totals.
Default retention is seven days, configurable to 30 or 90. The default daily
limit is 1,000 distinct 404 paths; Free provides a 100-5,000 limit, noise
filtering and ignored prefixes. A limit can omit paths; counts are not visitors
or lost revenue.

A complete failed editor submission may retain non-sensitive fields in a private
local draft for its authorized editor: at most five drafts, available for 15
minutes. Saving, discarding or Privacy erasure clears them. Truncated forms and
detected credentials are not retained. WordPress transient cleanup and backup
retention apply.

Removed/restored-content reviews retain old public paths, post IDs and
timestamps for 30 days, at most 100 records. URL-change suggestions and
rule/migration history expire after 90 days; active redirects persist. Pro
content scans and comparisons, repair/mapper reviews and link-cleanup history
are bounded locally to 30 days; unfinished cleanup previews expire after 15
minutes. Pro check history, batches and proposals expire after 90 days. Review
intentions expire 90 days after the later of their last change or review date.
Daily cleanup depends on WordPress scheduled tasks; keep WP-Cron working and
manage backups separately.

== Optional Pro services ==
Only the separately installed Pro add-on makes these requests.
After connection, Pro sends the site-specific install key, site address and
environment to https://redirectnest.com for activation, entitlement checks and
signed updates. The key is encrypted locally with WordPress salts and hashed
at the service. [Service privacy](https://redirectnest.com/privacy/) and
[service terms](https://redirectnest.com/terms/).

Aggregate fleet sharing is a separate administrator opt-in: plugin/WordPress
versions, rule/check totals and timestamps, retained remotely for 30 days.
Detailed diagnostics need another, initially off, administrator choice: up to 25
redacted relative problem paths, saved statuses, report totals/timestamps and
seven daily aggregate hit/404 totals, kept remotely for seven days for the
private purchase dashboard. Detailed reports exclude destination URLs, query
strings, visitor IPs, referrers and visitor logs. Ordinary paths can still be
personal. Page views never enrol a site; aggregate permission does not authorize
detailed sharing. Check the website for purchase availability.

Auxiliary erasure stops detailed sharing first. Active Pro sends existing
site/key authentication and withdrawal state to redirectnest.com to delete
shared diagnostics, not rules or visitor records. If Pro is inactive or the
service is unavailable, remote erasure stays pending: active Pro retries, or use
the private purchase page. Aggregate/detailed choices stay separate; downloaded
reports/backups need deletion.

Authorized Pro destination checks send the requested URL and server IP to each
destination. Checks require PHP cURL, direct pinned public-IP connections and
verified TLS. Proxies or unavailable safe transport leave checks unverified.
Stored observations redact common secret query parameters; configured rules stay
as entered. HTTP reachability does not prove content relevance or future
availability.

== Changelog ==

= 1.1.2 =
* Begin the 1.x release line with matching Free and Pro version metadata.
* Retain existing features, saved redirects, settings and licence behaviour.


= 0.10.9 =
* Correct the remaining upgrade instructions to name the current matched Free and Pro pair. Plugin behavior and compatibility requirements are unchanged.


= 0.10.8 =
* Align Free and Pro release numbers and update guidance. Existing features, settings and compatibility requirements are unchanged.

= 0.10.7 =
* Make request sanitization explicit at input boundaries while preserving encoded paths and strict validation.
* Verify import nonces directly and bind contextual Pro detail links to a fresh user nonce.

= 0.10.6 =
* Keep failed database setup paused across page loads, with guidance and safe retry after permissions are restored.

= 0.10.5 =
* Verify the saved logging choice before deleting counts; preserve data and report failed saves.
* Activate safely with unsupported storage and show an actionable paused-state notice.
* Explicitly sanitize request fields before strict validation, preserving encoded URLs.

= 0.10.4 =
* Require POST for the logging action before any settings or 404-count changes.
* Clean up Free privacy schedules on affected multisite sites after deactivation.

Earlier release history is preserved in the bundled changelog.txt.
