== SurfLink - Link Manager & Backup Restore == **Contributors:** surflabtech **Tags:** url,links, redirects, shortlinks, backup **Requires at least:** 5.6 **Requires PHP:** 7.4 **Tested up to:** 6.9 **Stable tag:** 2.3.7 **License:** GPLv3 or later **License URI:** https://opensource.org/licenses/GPL-3.0 Search & Replace, 301/302/307 Redirection, 404/410 Manager, Link Shortener, Auto Linking, Backup & Restore, Hide Login Url Security. == Description == **SurfLink** is designed to Search & Replace, Easy Redirection, 404/410 Manager, Link Shortener, Auto Linking, Backup & Restore, Hide Login Url Security. ### 🚀 Module 1: Search and Replace Safely perform bulk find-and-replace operations directly on the database. * **Database Management:** Supports all tables and handles **serialized data** (critical for preventing data corruption). * **Safety First:** Includes a "Dry Run" mode to test before applying, case-sensitivity toggles, and specific GUID handling. * **History Logs:** View detailed logs of changes with a "View Changes" diff modal (Before vs. After). * **Easy URL Updater (Pro):** A dedicated visual interface to update old domain names or migrate HTTP to HTTPS across contents, attachments, and links. * **Rerun Operation (Upcoming):** Re-run a Search & Replace operation from the History Logs. ### 🔗 Module 2: Redirects, 410 & 404s A complete suite for managing traffic and broken links. * **Redirect Manager:** Create 301, 302, or 307 redirects. * **Advanced Rules (Pro):** Redirect based on Regex, "Starts With", "Contains", "Is 404", User Agent, or even redirect to Random Posts. * **Redirect List:** View redirects in a nice table. Create, edit, and delete redirects. * **Dead Link Handling:** Monitor 404 logs and easily convert them to Redirects or **410 Gone** status (to tell Google a page is permanently deleted). * **Import/Export:** Support for CSV import/export for bulk management. ### 🔗 Module 3: Smart Links A pro suite for creating and managing shortlinks. * **Link Shortener (Pro):** Create custom, memorable shortlinks (e.g., `mysite.com/go/sale`) with click tracking. * **Group Tagging (Pro):** Create, edit, and delete shortlinks groups.Organize links into groups for easy navigation. * **ShortLink List (Pro):** View shortlinks in a nice table. Create, edit, and delete shortlinks. * **Import/Export:** Support for CSV import/export for bulk management. * **Auto Linnker (Pro):** Let SurfLink handle your affiliate linking for you. Enter your keywords once, and watch every existing and future post monetize itself automatically. * **Hard Linnker (Pro):** Automatically link posts, pages, categories, tags, and custom post types. * **Hard Unlinker (Pro):** Automatically unlink posts, pages, categories, tags, and custom post types. ### 💾 Module 4: Backup and Restore Secure your site data with a few clicks. * **Flexible Backups:** Backup the entire database, specific directories (Uploads, Themes, Plugins), or both. * **Selective Restore:** Restore an entire site or just specific components (e.g., restore only the database, keep the themes). * **Scheduled Auto Backups (Pro):** Set it and forget it. Schedule daily or weekly backups to ensure you never lose data. * **Upload & Restore (Mix):** Restore backups from external files easily. Unlimited file size support in premium version. * **Remote Backups (Upcoming):** Backup to a remote location (e.g., Google Drive) for long-term storage. * **Cross domain Restore (Upcoming): Restore backups from a different domain (e.g., staging, localhost, or a new production domain). ### 🔒 Module 5: LoginHider Security Protect your site from brute-force attacks. * **Hide Login URL:** Change your default `wp-login.php` to a custom slug (e.g., `/my-secret-entry`) and show a nice login form. * **Options:** Configure the custom login slug, max login attempts, and IP ban duration. * **Limit Attempts:** Log failed login attempts and automatically ban IPs after a set threshold. * **Failed Login Logs:** View detailed logs of failed login attempts. * **IP Unbanning:** Easily remove IP addresses from the ban list. ### Module Manager * **Module Manager:** Enable/disable modules to keep your admin interface clean. * **Background Processes:** Also enable/disable background processes to optimize performance as needed. * **Advanced Options (Upcoming) :** You can enable/disable a specific sub-module in the Module Manager. --- ### 🟢 Free Features vs 🔴 Pro Features #### Free Version Includes: * **Search & Replace:** Standard DB search/replace, Dry Run, History Logs, "View Changes" diff. * **Easy Title Updater:** Update post titles with a single click in post, page and custom post types. Dry Run, History Logs, "View Changes" diff. * **Redirects:** Add specific (single/bulk) redirects, 404 Logs, Specific 410 (Gone) status, Import/Export. * **Backup:** Manual Backup creation, Saved Backup logs, Manual Restore, Selective Restore. * **Security:** Login Hider settings, Failed login logs, IP Unbanning. * **General:** Module Manager (enable/disable features). #### Pro Version Includes: * **Easy URL Updater:** Visual interface for URL migration. * **Advanced Redirect Rules:** Regex, Wildcards, Parameter handling, Random post redirects. * **Link Shortener:** Create and track branded shortlinks. * **Auto Linnker (Pro):** Let SurfLink handle your affiliate linking for you. Enter your keywords once, and watch every existing and future post monetize itself automatically. * **Hard Linnker (Pro):** Automatically link posts, pages, categories, tags, and custom post types. * **Hard Unlinker (Pro):** Automatically unlink posts, pages, categories, tags, and custom post types. * **Group Tagging:** Create, edit, and delete groups of shortlinks. * **Advanced 410:** Add 410s automatically from deleted items (trash/delete hooks). * **Add Multisite 410:** Add multiple 410s at once. * **Scheduled Backups:** Automated daily/weekly backups to keep your data safe. * **Upload large files & Restore:** Restore backups from external files with no size limitation. --- == Installation == Install SurfLink like you would install any other WordPress plugin. Dashboard Method: 1. Login to your WordPress admin and go to Plugins -> Add New 2. Type "SurfLink" in the search bar and select this plugin 3. Click "Install", and then "Activate Plugin" Upload Method: 1. **Download:** Download the plugin zip file. 2. **Upload:** Go to your WordPress Dashboard > Plugins > Add New > Upload Plugin. Select the `surflink.zip` file. 3. **Activate:** Click "Activate Plugin". == Frequently Asked Questions == **Can I damage my site with the Search and Replace module?** Yes! Database operations are powerful. Entering a wrong search or replace string could break your site. **Always** perform a Backup (using Module 3) before running a Search & Replace operation. Use the "Dry Run" feature first to verify what will be changed. **Why can’t I restore the database backup on a different domain or table prefix?** At the moment, SurfLink database restore only works on the same domain where the backup was created.This is a current technical limitation, not a permanent restriction. Support for restoring backups on a different domain or prefix(for example: staging, localhost, or a new production domain) is planned for a future release. Current recommendations: 1. Restore the database on the original domain and table prefix. 2. Use a site migration plugin if you are moving to a new domain **How does the Login Hider work?** It intercepts requests to `wp-admin` and `wp-login.php`, then the user is redirected to a custom login form. **Does this work on WordPress Multisite?** No. It is not fully compatible with WordPress Multisite. Use with caution on Multisite installations. **How to switch between light and dark mode?** You don't have to change anything it will adjust with your browser's preferred theme. == Screenshots == 1. **Module Manager (DARK MODE):** Easily toggle Search & Replace, Redirects, Backup, and Security modules. 2. **Search & Replace (DARK MODE):** Interface showing search and replace process. 3. **Advanced Redirects (LIGHT MODE):** Setting up regex rules in Advanced Redirects. 4. **Backup & Restore (LIGHT MODE):** Managing saved backups. 5. **Login Security (LIGHT MODE):** Configuring custom login slug. == Changelog == = 2.3.6 = * Improved: Import operations are more optimized for better and safe performance. UX is also improved. = 2.3.5 = * New Feature: Title Updater ! Now you can easily update post titles in pages, posts and custom post types. Dry run is also supported for safe testing.Also includes History Logs. = 2.3.4 = * Improved: search and replace now support handling nested serialized data. = 2.3.3 = * Fixed: Subtle bug in restore backup fixed. = 2.3.1 = * Improved: UX is improved in Redirects module. And some minor fixes. = 2.3.0 = * Performance: More optimized query in case of redirection is optimized for better and faster performance. = 2.2.9 = * Fixed: Important bug fixed. = 2.2.8 = * Fixed: Critical bug fixed. = 2.2.7 = * Fixed: Critical bug fixed. = 2.2.7 = * Improved: Backup & Restore Module UX is improved. * Fixed: Important bug fixed. = 2.2.6 = * Improved: Search & Replace Module UX is improved. * Improved: User accessibility is improved. * Updated: Dark mode theme is updated. = 2.2.5 = * Improved: Search & Replace now fully supports UTF-8, Emojis, and all international languages. * Fixed: Case-insensitive matching for accented characters. ### 2.2.4 * **fix:** Side nav bar bug fixed. * **update:** minor css fixed. ### 2.2.3 * **Update:** Light mode theme is updated. * **fix:** important bugs fixed. ### 2.2.2 * **Update:** minor update. ### 2.2.1 * **fix:** upload and restore limit exceed bug fixed. * **fix:** loginhider's custom login page is restricted from editting and indexing. * **fix:** a subtle bug in create custom login page fixed. * **Update:** Frremium version of SurfLink is released. ### 2.2.0 * **fix:** minor css fixed. * **Update:** Frremium version of SurfLink is released. ### 2.1.1 * **fix:** Possible naming conflicts with other plugins and the SurfLink Premium is fixed. * **Update:** Surflab User Dashboard link is updated. ### 2.1.0 * **fix:** Accidentally deleting other version's data of SurfLink while uninstalling is fixed. * **Update:** New Settings: User cand decide whether to delete redirects and 410 data during uninstall or not. As they are user created data. ### 2.0.2 * **Update:** Target url is now validated less strictly to be more user-friendly. ### 2.0.1 * **Update:** used date() instead of gmdate() to avoid timezone issues. ### 2.0.0 * **New Feature:** Added Module Manager to enable/disable specific sections. * **Module 1 (Enhanced):** Added Easy URL Updater (Pro) and improved Search/Replace History Logs with visual diffs. * **Module 2 (New):** Added comprehensive Redirect Manager (301/302/307). * **Module 2 (New):** Added Shortlinks manager (Pro). * **Module 2 (New):** Added 410 Gone status manager and 404 Error logging. * **Module 3 (New):** Added full Backup and Restore system (Database + Files). * **Module 3 (New):** Added Scheduled Auto Backups (Pro). * **Module 4 (New):** Added LoginHider (Brute-force protection and custom login URL). * **Update:** Tested compatibility up to WordPress 6.9. ### 1.0.0 * Initial release. * Basic Search and Replace functionality. * Serialized data support. == Upgrade Notice == New Feature: Title Updater ! Now you can easily update post titles in pages, posts and custom post types. Dry run is also supported for safe testing.Also includes History Logs.