Title: Init Content Protector – Anti-Copy, Anti-Scrape, Encrypt-All
Author: Init HTML
Published: <strong>Agost 8, 2025</strong>
Last modified: Novembre 14, 2025

---

Search plugins

![](https://ps.w.org/init-content-protector/assets/banner-772x250.png?rev=3341703)

![](https://ps.w.org/init-content-protector/assets/icon-256x256.png?rev=3341703)

# Init Content Protector – Anti-Copy, Anti-Scrape, Encrypt-All

 By [Init HTML](https://profiles.wordpress.org/brokensmile2103-1/)

[Download](https://downloads.wordpress.org/plugin/init-content-protector.1.3.zip)

 * [Details](https://bal.wordpress.org/plugins/init-content-protector/#description)
 * [Reviews](https://bal.wordpress.org/plugins/init-content-protector/#reviews)
 *  [Installation](https://bal.wordpress.org/plugins/init-content-protector/#installation)
 * [Development](https://bal.wordpress.org/plugins/init-content-protector/#developers)

 [Support](https://wordpress.org/support/plugin/init-content-protector/)

## Description

**Init Content Protector** is a powerful yet lightweight plugin that safeguards 
your post content from unauthorized copying, scraping tools, and inspection via 
browser developer tools.

This plugin is part of the [Init Plugin Suite](https://en.inithtml.com/init-plugin-suite-minimalist-powerful-and-free-wordpress-plugins/)—
a collection of minimalist, fast, and developer-focused tools for WordPress.

GitHub repository: [https://github.com/brokensmile2103/init-content-protector](https://github.com/brokensmile2103/init-content-protector)

**Features:**
 – JavaScript-based copy protection (blocks selection, right-click,
print, DevTools access) – Full content encryption with client-side decryption using
CryptoJS – Keyword cloaking using CSS pseudo-elements – Invisible noise injection
to confuse crawlers – Per-post type configuration – Custom encryption key per site–
Custom content selector support

Use this plugin to harden your site’s content visibility while maintaining a smooth
reading experience for real users.

### Source Code

This plugin uses [CryptoJS](https://github.com/brix/crypto-js) for encryption.
 –
Minified version: `assets/js/crypto-js.min.js` – Source version: [GitHub Repo](https://github.com/brix/crypto-js)

### License

This plugin is licensed under the GPLv2 or later.
 You are free to use, modify, 
and distribute it under the same license.

## Screenshots

 * [[
 * **Settings Page** – Configure protection methods, encryption, keyword cloaking,
   and per-post type options.

## Installation

 1. Upload the plugin files to the `/wp-content/plugins/init-content-protector` directory,
    or install via the WordPress plugin screen.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.
 3. Go to **Settings  Init Content Protector** and configure your preferred options.

## FAQ

### Will this affect SEO?

If you enable full content encryption, search engines will not be able to see the
content. Only use this option if SEO visibility is not required.

### Does this plugin support custom post types?

Yes. You can choose which post types are protected in the settings page.

### Can I use my own encryption key?

Yes. You can set a custom key per site for added security.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Init Content Protector – Anti-Copy, Anti-Scrape, Encrypt-All” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ Init HTML ](https://profiles.wordpress.org/brokensmile2103-1/)

[Translate “Init Content Protector – Anti-Copy, Anti-Scrape, Encrypt-All” into your language.](https://translate.wordpress.org/projects/wp-plugins/init-content-protector)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/init-content-protector/),
check out the [SVN repository](https://plugins.svn.wordpress.org/init-content-protector/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/init-content-protector/)
by [RSS](https://plugins.trac.wordpress.org/log/init-content-protector/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3 – November 15, 2025

 * Fully decoupled **encryption** and **JS content protection** into separate script
   modules (`decrypt.js` and `content-protector.js`)
 * Split script loading into **two independent wp_enqueue_scripts hooks**, eliminating
   unwanted cross-dependencies
 * Renamed localized JS object for encryption to **InitContentDecryptData** for 
   clearer separation of responsibilities
 * Ensured JS protection (block copy, right-click, print, DevTools) works independently
   even when encryption is disabled
 * Improved maintainability by isolating crypto loading (`crypto-js.min.js`) strictly
   to encrypt mode
 * Refined initialization order to guarantee consistent behavior across all themes
   and page builders

#### 1.2 – November 14, 2025

 * Added option to **exclude specific user roles** from all protection layers (encryption,
   JS protection, noise injection, keyword cloaking)
 * Implemented role-based bypass at both **filter level** and **asset enqueue level**
   for consistent behavior across frontend
 * Refactored protection flow so encryption, JS protection, and noise injection 
   operate **independently**, preventing unwanted coupling
 * Improved script enqueue logic to load CryptoJS **only when encryption is enabled**
 * Optimized hook processing to avoid unnecessary filtering for excluded roles and
   unsupported post types
 * Ensured clean fallback behavior when mixed protection settings are enabled

#### 1.1 – August 16, 2025

 * Changed minimum WordPress requirement to 5.7 to leverage wp_get_inline_script_tag
   for safer inline script output
 * Replaced wp_add_inline_script with direct inline injection for guaranteed execution
   across all single post pages
 * Added inline script nonce/type support via wp_get_inline_script_tag for enhanced
   security
 * Ensured encrypted payload is always available early in content, even if certain
   script handles are missing
 * Added CustomEvent trigger (init-content-payload-ready) to allow frontend scripts
   to react when encrypted content is ready
 * Prevented duplicate inline script injection when content filters run multiple
   times

#### 1.0 – July 23, 2025

 * Initial release
 * JavaScript-based content protection (block copy, right-click, print, DevTools)
 * Full AES-256 content encryption with CryptoJS decryption
 * Invisible keyword cloaking via ::before and randomized CSS class
 * Random noise injection (hidden spans) to confuse crawlers
 * Supports multiple post types (customizable)
 * Custom encryption key per site
 * Custom content selector for JS targeting
 * Fallback styling compatible with light/dark themes
 * Modular settings page with sanitize and validation

## Meta

 *  Version **1.3**
 *  Last updated **5 mesos ago**
 *  Active installations **20+**
 *  WordPress version ** 5.7 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/init-content-protector/)
 * Tags
 * [anti copy](https://bal.wordpress.org/plugins/tags/anti-copy/)[anti-scraping](https://bal.wordpress.org/plugins/tags/anti-scraping/)
   [content-protection](https://bal.wordpress.org/plugins/tags/content-protection/)
   [copy protection](https://bal.wordpress.org/plugins/tags/copy-protection/)[encryption](https://bal.wordpress.org/plugins/tags/encryption/)
 *  [Advanced View](https://bal.wordpress.org/plugins/init-content-protector/advanced/)

## Ratings

No reviews have been submitted yet.

[Add my review](https://wordpress.org/support/plugin/init-content-protector/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/init-content-protector/reviews/)

## Contributors

 *   [ Init HTML ](https://profiles.wordpress.org/brokensmile2103-1/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/init-content-protector/)