Key Features
- JavaScript-based blocking for copy, text selection, printing, and DevTools
- Full AES content encryption, decrypted on the client via
crypto-js - Keyword cloaking using
span::before, hidden from raw HTML - Invisible noise injection (random spans with
display: none) to confuse crawlers - Select which post types to protect
- Custom encryption key per site for maximum flexibility
- Configurable content selector (CSS) for targeting specific areas
Content Encryption with Client-Side Decryption
When encryption mode is enabled, the entire post content is encrypted with AES and only decrypted on the client side using JavaScript. No readable HTML is exposed – only an encrypted payload and loading skeleton are rendered.
This keeps content safe from scraping tools and source viewers, without harming the experience for real users.
Keyword Cloaking
You can define a list of sensitive keywords to obscure. These will be replaced with hidden <span> tags and revealed visually using CSS ::before. The real words won’t appear in the page source or HTML.
Noise Injection
The plugin can randomly inject junk text (fully hidden with display: none) into the content. This helps confuse scraping bots while being invisible to users.
Quick Setup
- Download the plugin and extract it to
/wp-content/plugins/init-content-protector/ - Activate it via the Plugins menu in WordPress
- Go to Settings → Init Content Protector to configure protection mode, post types, keywords, encryption key, and content selector
Compatibility & Performance
- Compatible with WordPress 5.5 and above
- Requires PHP 7.4 or higher
- No jQuery – written entirely in Vanilla JS
- Performance-friendly – scripts only load when protection is enabled
Get Started
Looking for a simple, effective, and flexible content protection solution that doesn’t slow down your site or require custom coding?
Init Content Protector has you covered – keep your valuable content safe without sacrificing user experience.