{"id":300671,"date":"2026-05-15T14:46:48","date_gmt":"2026-05-15T14:46:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/devshujon-redirect-pro-lite\/"},"modified":"2026-05-21T18:43:10","modified_gmt":"2026-05-21T18:43:10","slug":"linkrail","status":"publish","type":"plugin","link":"https:\/\/es.wordpress.org\/plugins\/linkrail\/","author":23481245,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"trunk","tested":"6.9.4","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"LinkRail Redirects, 404 & Security","header_author":"Devshujon","header_description":"Manage 301\/302\/307\/308\/410 redirects with regex and wildcard support, hide your wp-login URL, and auto-repair 404 broken links. Lightweight, fast, and built for SEO.","assets_banners_color":"112444","last_updated":"2026-05-21 18:43:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/devshujon.com\/linkrail","header_author_uri":"https:\/\/devshujon.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":92,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"devshujon","date":"2026-05-15 14:46:26"}},"upgrade_notice":{"1.1.0":"<p>Critical fix: General Settings save no longer wipes Security slug. Rebranded to &quot;LinkRail Redirects, 404 &amp; Security&quot;. Auto-migrates 1.0.0 installs \u2014 no data loss.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3533122,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3533122,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3533116,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3533116,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3533116,"resolution":"1","location":"assets","locale":"","width":2416,"height":1128},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3533116,"resolution":"2","location":"assets","locale":"","width":2424,"height":822},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3533116,"resolution":"3","location":"assets","locale":"","width":2442,"height":1200},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3533116,"resolution":"4","location":"assets","locale":"","width":2402,"height":1430},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3533116,"resolution":"5","location":"assets","locale":"","width":2464,"height":832},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3533116,"resolution":"6","location":"assets","locale":"","width":2498,"height":1110}},"screenshots":{"1":"Redirect manager with list, filters, and bulk actions.","2":"Admin URL security settings with custom slug and IP whitelist.","3":"404 broken link detector with one-click fix suggestions.","4":"Visit logs and redirect stats."}},"plugin_section":[],"plugin_tags":[932,905,727,925,600],"plugin_category":[55],"plugin_contributors":[263082],"plugin_business_model":[],"class_list":["post-300671","plugin","type-plugin","status-publish","hentry","plugin_tags-932","plugin_tags-905","plugin_tags-redirect","plugin_tags-redirection","plugin_tags-security","plugin_category-seo-and-marketing","plugin_contributors-devshujon","plugin_committers-devshujon"],"banners":{"banner":"https:\/\/ps.w.org\/linkrail\/assets\/banner-772x250.png?rev=3533116","banner_2x":"https:\/\/ps.w.org\/linkrail\/assets\/banner-1544x500.png?rev=3533116","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/linkrail\/assets\/icon-128x128.png?rev=3533122","icon_2x":"https:\/\/ps.w.org\/linkrail\/assets\/icon-256x256.png?rev=3533122","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/linkrail\/assets\/screenshot-1.png?rev=3533116","caption":"Redirect manager with list, filters, and bulk actions."},{"src":"https:\/\/ps.w.org\/linkrail\/assets\/screenshot-2.png?rev=3533116","caption":"Admin URL security settings with custom slug and IP whitelist."},{"src":"https:\/\/ps.w.org\/linkrail\/assets\/screenshot-3.png?rev=3533116","caption":"404 broken link detector with one-click fix suggestions."},{"src":"https:\/\/ps.w.org\/linkrail\/assets\/screenshot-4.png?rev=3533116","caption":"Visit logs and redirect stats."},{"src":"https:\/\/ps.w.org\/linkrail\/assets\/screenshot-5.png?rev=3533116","caption":""},{"src":"https:\/\/ps.w.org\/linkrail\/assets\/screenshot-6.png?rev=3533116","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>LinkRail Redirects, 404 &amp; Security<\/strong> is a fast, lightweight all-in-one URL redirect, broken-link repair and admin-URL security plugin for WordPress. Built for sites that need real redirect power, real login hardening, and real 404 recovery \u2014 without the bloat.<\/p>\n\n<h4>Why LinkRail?<\/h4>\n\n<p>Most redirect plugins do one thing. LinkRail bundles three things every serious WordPress site actually needs:<\/p>\n\n<ol>\n<li><strong>Redirect Manager<\/strong> \u2014 301, 302, 307, 308, and 410 Gone redirects with exact, prefix, regex, and wildcard matching.<\/li>\n<li><strong>Admin URL Security<\/strong> \u2014 hide your <code>\/wp-login.php<\/code> behind a custom slug, IP-whitelist <code>\/wp-admin<\/code>, and recover with a one-time emergency URL if you ever lock yourself out.<\/li>\n<li><strong>SEO 404 Broken Link Fixer<\/strong> \u2014 auto-detects 404s across your site and suggests or one-click creates redirects to recover lost traffic.<\/li>\n<\/ol>\n\n<p>All features are <strong>100% free<\/strong>. No license keys, no upsells, no feature gating.<\/p>\n\n<h4>Core Features<\/h4>\n\n<ul>\n<li>Unlimited redirects (301, 302, 307, 308, 410 Gone)<\/li>\n<li>Match types: exact, prefix, regex (with capture groups), wildcard<\/li>\n<li>Hide wp-login behind a custom slug with IP whitelist and emergency recovery URL<\/li>\n<li>Automatic 404 broken link detection and smart redirect suggestions<\/li>\n<li>Full visit logs per redirect with hit counters<\/li>\n<li>CSV import\/export for redirects<\/li>\n<li>JSON import\/export for plugin settings (each module saved independently)<\/li>\n<li>Clean, native-feeling admin UI<\/li>\n<li>Translation-ready (text domain: <code>linkrail<\/code>)<\/li>\n<li>No external services \u2014 everything runs locally<\/li>\n<\/ul>\n\n<h4>Built for Performance<\/h4>\n\n<ul>\n<li>Cached lookups via WordPress object cache<\/li>\n<li>Indexed database tables for sub-millisecond matching<\/li>\n<li>Runs on <code>template_redirect<\/code> \u2014 no interference with other plugins<\/li>\n<li>Zero frontend JS, zero frontend CSS<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>LinkRail stores redirect rules, visit hit counts, and 404 log entries in your own WordPress database. Nothing is sent to external servers. Bot user-agents are ignored by default to keep logs clean.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/linkrail\/<\/code>, or install through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to the <strong>LinkRail<\/strong> menu in your admin sidebar to create your first redirect.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20the%20redirection%20plugin%3F\"><h3>Does this replace the Redirection plugin?<\/h3><\/dt>\n<dd><p>LinkRail is an independent plugin \u2014 it is <strong>not affiliated with or endorsed by<\/strong> the Redirection plugin or any other existing redirect plugin. It is a separate, standalone tool built from scratch.<\/p><\/dd>\n<dt id=\"will%20hiding%20wp-login%20lock%20me%20out%3F\"><h3>Will hiding wp-login lock me out?<\/h3><\/dt>\n<dd><p>No. LinkRail provides an emergency recovery URL and IP whitelist so you always have a way back in. The custom slug is also saved in plain text in your database so it can be recovered via phpMyAdmin if needed.<\/p><\/dd>\n<dt id=\"does%20saving%20general%20settings%20wipe%20my%20security%20slug%3F\"><h3>Does saving General Settings wipe my Security slug?<\/h3><\/dt>\n<dd><p>No \u2014 that bug existed in 1.0.0 and is fixed in 1.1.0. Each settings module now saves in isolation; saving on one page can never overwrite another module.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. Redirects are cached, lookups are indexed, and the plugin only hooks into <code>template_redirect<\/code>. On modern hosting the overhead is measurable in microseconds.<\/p><\/dd>\n<dt id=\"can%20i%20import%20redirects%20from%20another%20plugin%3F\"><h3>Can I import redirects from another plugin?<\/h3><\/dt>\n<dd><p>Yes, via CSV import. Export from your current plugin as CSV and import into LinkRail.<\/p><\/dd>\n<dt id=\"is%20regex%20really%20supported%3F\"><h3>Is regex really supported?<\/h3><\/dt>\n<dd><p>Yes. Full PCRE regex with capture group support in the target URL.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li><strong>Renamed<\/strong>: Plugin is now <strong>LinkRail Redirects, 404 &amp; Security<\/strong> (slug, text domain, and database keys are unchanged so updates from 1.0.0 are seamless).<\/li>\n<li><strong>FIXED (critical)<\/strong>: Saving on the General Settings page no longer wipes the Custom Login Slug, IP Whitelist, or Security-enabled flag. Each settings form now has its own nonce action and a <code>linkrail_module<\/code> identifier; the save router writes only the option set belonging to the submitting module.<\/li>\n<li><strong>FIXED<\/strong>: <code>Linkrail_Security::save_settings()<\/code> no longer clobbers fields absent from the payload \u2014 missing keys are treated as \"no change\", not \"set to empty\".<\/li>\n<li><strong>FIXED<\/strong>: <code>Linkrail_Security::save_settings()<\/code> no longer regenerates the recovery token on every save (only generates one if missing) \u2014 your bookmarked recovery URL stays valid.<\/li>\n<li><strong>NEW<\/strong>: JSON import\/export for all plugin settings on the Import\/Export page. Each module is imported independently \u2014 partial files cannot overwrite untouched modules.<\/li>\n<li><strong>NEW<\/strong>: One-shot migrator (<code>Linkrail_Migrator<\/code>) safely upgrades any legacy <code>linkrail_settings<\/code> blob to the per-option layout without losing data. Old blob is archived as <code>linkrail_settings__migrated_backup<\/code> for one release cycle.<\/li>\n<li><strong>NEW<\/strong>: Defaults are seeded on activation\/upgrade so every option always has a known value.<\/li>\n<li><strong>NEW<\/strong>: Custom login slug now also blocks the reserved words <code>wp-content<\/code> and <code>wp-includes<\/code> in addition to the existing list.<\/li>\n<li><strong>CHANGED<\/strong>: <code>Requires PHP<\/code> bumped to 8.0 to honestly reflect language features already used in 1.0.0 (<code>match<\/code>, <code>str_contains<\/code>, union return types, <code>never<\/code>). PHP 7.4 reached end of life in November 2022.<\/li>\n<li><strong>CHANGED<\/strong>: Saving on the Security page now redirects back to the Security page (was: redirected to Settings page).<\/li>\n<li><strong>CHANGED<\/strong>: Removed the unused <code>linkrail_settings_save<\/code> hidden field.<\/li>\n<li><strong>CHANGED<\/strong>: <code>linkrail_db_version<\/code> is now only written after both <code>install()<\/code> and <code>Linkrail_Migrator::run()<\/code> complete, so a partially-upgraded site cannot lock itself out of re-running the migrator.<\/li>\n<li><strong>CHANGED<\/strong>: Internal \u2014 replaced PHP 8.1 <code>never<\/code> return type with <code>void<\/code> for slightly broader runtime compatibility.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"All-in-one redirect manager, broken-link repair and admin URL security for WordPress. 301\/302\/307\/308\/410, regex, hidden \/wp-login, IP whitelist, emer &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/300671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=300671"}],"author":[{"embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devshujon"}],"wp:attachment":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=300671"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=300671"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=300671"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=300671"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=300671"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=300671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}