Smart bot detection that protects your content from scrapers while allowing search engines to index your site properly.
Google, Bing, and social platforms see real content while malicious bots see scrambled content. SEO protection enabled by default!
Smart bot detection that protects content from scrapers while preserving SEO:
โ Google, Bing, Yahoo โ See real content for indexing
โ Facebook, Twitter, LinkedIn โ See real content for social previews
โ SEO tools (SEMrush, Ahrefs) โ See real content for analysis
โ Scrapers & headless browsers โ See scrambled content
โ AI training bots โ See scrambled content
โ Content harvesters โ See obfuscated media
SEO protection is enabled by default - no configuration needed!
๐ Text Content Protection
This text content will be scrambled for malicious bots but remain readable for humans and legitimate search engine crawlers like Googlebot and Bingbot.
The component uses intelligent allowlisting and 14+ detection methods to distinguish between legitimate and malicious visitors.
Web development involves creating websites and web applications using various technologies like HTML, CSS, and JavaScript.
๐ผ๏ธ Media Content Protection
Images and videos are also protected from bot scraping:
Sample Images
These images will be replaced with placeholders if a bot is detected:
Sample Video
Video sources and poster images are cleared for bots:
๐ก๏ธ How SEO-Safe Detection Works
The component uses intelligent 3-tier detection to distinguish between legitimate and malicious bots:
SEO Allowlist Check - Legitimate search engines bypass protection
Malicious Pattern Detection - Known scraper signatures are blocked
Advanced Analysis - 14+ behavioral detection methods for unknown bots
This demonstrates mixed-language content: English + ุงูุนุฑุจูุฉ + ไธญๆ + Numbers 2024
Each character set is handled according to its script type while preserving structure
๐ง How Language Detection Works:
Latin Characters (a-z, A-Z): Scrambled to random lowercase letters (a-z)
Arabic Script (0x0600-0x06FF): Scrambled to random Arabic characters
CJK Ideographs (0x4E00-0x9FFF): Scrambled to random Chinese characters
Numbers (0-9): Left unchanged for functionality
Punctuation & Symbols: Preserved to maintain readability structure
Emojis: Remain unchanged
โ ๏ธ Note: This protection works automatically and transparently. Legitimate users and search engines see normal content, while bots see scrambled/obfuscated content.
๐ป Correct Usage
<!DOCTYPE html> <html lang="en" class="jumble-init"> <head> <!-- CRITICAL: Hide content during 100ms bot detection --> <style> html.jumble-init * { visibility: hidden !important; } </style> <!-- Load Jumble scripts --> <script type="module" src="https://unpkg.com/@4884org/jumble@latest/dist/jumble/jumble.esm.js"></script> </head> <body> <!-- SEO-safe bot protection (place early in body) --> <jumble-head></jumble-head> <!-- Content protected from scrapers, visible to SEO --> <p>Googlebot sees this, scrapers see scrambled text</p> <img src="seo-friendly.jpg" alt="Images protected from bots"> <video src="content.mp4" controls></video> </body> </html>
๐ SEO Benefits: Search engines index your content normally while scrapers are blocked!
๐ฆ Installation
๐ฆ NPM Installation
Install via npm for maximum flexibility and version control:
Universal Setup: Add the script tags to your HTML head, place <jumble-head> early in your body, and include the critical CSS for 100ms protection timing.
๐ HTML Implementation (Works with any framework)
<main> <h1>Your content will be protected automatically</h1> <p>This text will be scrambled for bots but readable for humans.</p> <img src="image.jpg" alt="This image will be hidden from bots"> <video src="video.mp4" controls></video> </main> </body> </html>
๐ง Framework Integration
Universal Approach: The setup is the same for all frameworksโload the library in your build tool, then add <jumble-head> to your HTML body. The component works at the browser level, not the framework level.
โ ๏ธ Important: Always include the jumble-init class on your <html> element and the CSS rule to hide content during the brief 100ms detection period.
โ๏ธ React
// 1. Install the component npm install @4884org/jumble
// 2. In your main index.js or App.js import { defineCustomElements } from '@4884org/jumble/loader';
// Initialize the custom elements defineCustomElements();
// Your React components work normally function App() { return ( <div> <h1>Your protected content</h1> <p>This text will be automatically protected</p> </div> ); }
๐ข Vue.js
// 1. Install the component npm install @4884org/jumble
// 2. In your main.js or main.ts import { createApp } from 'vue'; import { defineCustomElements } from '@4884org/jumble/loader'; import App from './App.vue';
// Initialize the custom elements defineCustomElements();
// Your Vue components work normally <template> <div> <h1>Your protected content</h1> <p>This text will be automatically protected</p> </div> </template>
๐ ฐ๏ธ Angular
// 1. Install the component npm install @4884org/jumble
// 2. In your main.ts import { defineCustomElements } from '@4884org/jumble/loader';
// Initialize the custom elements defineCustomElements();
// 3. In your app.module.ts (for custom elements support) import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component';
// Your Angular components work normally // app.component.html: <div> <h1>Your protected content</h1> <p>This text will be automatically protected</p> </div>
โก Svelte
// 1. Install the component npm install @4884org/jumble
// 2. In your main.js import App from './App.svelte'; import { defineCustomElements } from '@4884org/jumble/loader';
// Initialize the custom elements defineCustomElements();
const app = new App({ target: document.getElementById('app'), });