=== ContentShield Lite === Contributors: rohitbhatt1998 Tags: right click, content protection, disable right click, context menu, copyright Requires at least: 5.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.0.0 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html Complete content protection suite. Disable right-click, copy, print, shortcuts, image saving; add watermarks, block RSS, hotlinking. == Description == **ContentShield Lite** is a comprehensive, zero-dependency content protection plugin for WordPress. It stops casual content theft with a full suite of frontend and server-side protection tools — all completely free. Unlike other similar plugins, ContentShield Lite is: * ðŸšŦ **Ad-free** — no upsell banners inside your admin panel * ⚡ **Zero-dependency** — pure vanilla JavaScript, no jQuery needed * ðŸŠķ **Lightweight** — assets load only on the frontend, never in admin * 🔒 **Admin-safe** — scripts never load inside the WordPress dashboard * ðŸŽĻ **Beautiful UI** — modern dark/light theme admin panel with tabbed navigation = Tier 1 Features (Frontend Protection) = * ✅ Disable right-click context menu * ✅ Disable copy (Ctrl+C / Cmd+C) * ✅ Disable cut (Ctrl+X / Cmd+X) * ✅ Disable paste (Ctrl+V) * ✅ Disable text selection * ✅ Disable image dragging * ✅ Disable image Save-As * ✅ Disable keyboard shortcuts (F12, Ctrl+U, Ctrl+S, Ctrl+A, DevTools) * ✅ Disable print (Ctrl+P, @media print CSS) * ✅ Optional CSS image overlay * ✅ Custom protection popup (fully design-customisable) * ✅ Per-page/post protection toggle (editor sidebar) * ✅ Skip protection for logged-in users * ✅ Bypass by user role * ✅ URL Exclusion Manager (search and exclude pages) * ✅ Attempt counter with dashboard widget = Tier 2 Features (Advanced Protection) = * 🖞ïļ **Image Watermarking** — PHP/GD server-side text or logo watermarks. Original files never modified. * ðŸ“Ą **RSS Feed Protection** — Disable feeds, truncate to N words, or strip all HTML * 🔗 **Hotlink Protection** — Apache .htaccess rules to block image embedding from external sites * ⏰ **Content Expiry** — Set expiry dates per post/page. Auto-unpublish, redirect, or show expiry message * 🔌 **REST API Protection** — Block scraping via WordPress REST API (4 modes) * 📧 **Weekly Email Reports** — Beautiful HTML summary every Monday = Privacy = ContentShield Lite does not collect, store, or transmit any personal user data. It makes no external HTTP requests. == Installation == 1. Upload the `contentshield-lite` folder to `/wp-content/plugins/`, or install via **Plugins → Add New → Upload Plugin**. 2. Activate the plugin through the **Plugins** menu. 3. Go to **ContentShield** in your WordPress admin sidebar to configure. == Frequently Asked Questions == = Does this affect the WordPress admin panel? = No. All frontend scripts are enqueued via `wp_enqueue_scripts` which never fires in the admin area. = Can I exclude specific pages from protection? = Yes. Use the URL Exclusion Manager in the settings page, or toggle the option in each post/page editor sidebar. = Does this plugin use jQuery? = No. ContentShield Lite uses pure vanilla JavaScript. = Does this plugin track users or collect any data? = Absolutely not. No data is collected, stored, or transmitted anywhere. = Will this stop 100% of content theft? = Right-click and copy blocking deters casual copying but not technically sophisticated users. It is a useful first layer of content protection alongside proper copyright notices. = Does image watermarking require anything special? = Yes — it requires the PHP GD extension, which is installed on most hosting platforms. The plugin will notify you if GD is not available. = Does hotlink protection work on all hosting? = Hotlink protection uses Apache mod_rewrite via .htaccess and only works on Apache-based hosting. The plugin will notify you if your .htaccess file is not writable. == Screenshots == 1. Admin settings — modern dark theme with tabbed navigation and two-column layout. 2. Admin settings — light theme option. 3. Protection tiles — visual grid of all protection toggles. 4. URL Exclusion Manager — search and exclude pages from protection. 5. Popup Design — live preview while customising colours and layout. 6. Advanced features — accordion sections for Tier 2 features. 7. Protection Stats — bar chart of attempts by type. 8. Editor sidebar — per-page protection toggle and content expiry panel. 9. Dashboard widget — live protection attempt statistics. == Changelog == = 2.0.0 = * Added: Image watermarking (PHP/GD text and logo) * Added: RSS feed protection (disable, truncate, strip HTML) * Added: Hotlink protection via .htaccess * Added: Content expiry per post/page with auto-unpublish cron * Added: REST API protection (4 modes) * Added: Weekly HTML email reports with test send * Added: Full admin UI redesign with dark/light theme toggle * Added: Tabbed navigation and two-column layout * Added: URL Exclusion Manager * Added: Attempt counter with dashboard widget = 1.3.0 = * Added: Per-page/post protection toggle (editor sidebar) * Added: Skip logged-in users * Added: Bypass by user role * Added: Print protection (Ctrl+P + @media print CSS) * Added: Image save-as blocking * Added: CSS image overlay * Added: Attempt counter with AJAX logging = 1.2.0 = * Added: Custom popup modal with full design customisation * Added: Live popup preview in settings = 1.1.0 = * Added: Disable copy, cut, paste, text selection, image dragging, keyboard shortcuts = 1.0.0 = * Initial release — vanilla JS right-click disable, no jQuery. == Upgrade Notice == = 2.0.0 = Major update: full Tier 2 feature set now free. New admin UI with dark/light theme.