Learn How to Publish Readable Content That AI Can’t Read.
In a world increasingly mediated by algorithms and language models, sharing words online is no longer a neutral act. If you’re a writer, journalist, or artist wanting to publish text for real people — not for Google crawlers or AI agents with screenshot powers — how can you stay ahead of the machines?
Let’s walk through how to publish longform text on the open web that:
- ✅ Is easy for humans to read,
- ❌ Can’t be indexed by search engines,
- ❌ Is resistant to vision-based AI models like GPT-4V, Gemini, and Claude Opus.
This isn’t just sci-fi paranoia — it’s real digital hygiene in 2025.
The Problem: Everyone Can Read Everything
When you publish anything online today, it’s not just for your readers. Here’s who else sees it:
- Search engines: Index every word unless blocked.
- Text-based bots: Scrape and repackage content in seconds.
- LLMs with vision (e.g. GPT-4V): Can render the site visually and use OCR to read it like a human.
- AI agents: Combine code execution + vision + language to simulate browsing and understanding.
Traditional tools like robots.txt
or noindex
only stop polite bots (like Google). Advanced AI doesn’t play by those rules.
🛠 Solution: Adversarial Publishing
If you want to make your text accessible to humans but hostile to bots, one of the best techniques today is what we’ll call:
✨ Adversarial Publishing ✨
This means:
- Your content is rendered normally for human eyes.
- But behind the scenes, it’s subtly distorted or masked to confuse AI agents — even ones with vision.
Let’s break down how you can do this.
💡 Step-by-Step Guide: AI-Resistant Web Publishing
1. 🧬 Use an Adversarial Font
Start by replacing your body text with a font that’s hostile to machine vision.
- Unfont is a great open-source example. It slightly distorts glyphs in ways that confuse OCR while remaining legible to humans.
- Embed it like this:
@font-face {
font-family: 'Unfont';
src: url('/fonts/unfont.woff2') format('woff2');
}
body {
font-family: 'Unfont', sans-serif;
}
💡 Pro tip: You can customize fonts further using tools like FontForge to inject even more confusion.
2. 🖼 Render Key Text as SVG or Canvas
Text inside an SVG or HTML5 <canvas>
is harder to extract than plain HTML.
Example with SVG:
<svg width="800" height="100">
<text x="10" y="50" font-family="Unfont" font-size="24">
This is AI-resistant SVG text.
</text>
</svg>
This content:
- Looks normal in the browser.
- Is not copy-pasteable as text.
- Requires OCR to extract — and your adversarial font makes that unreliable.
3. Add AI “Confuser” Layers
Think of it as camouflage. You can overlay or embed elements that confuse AI models:
- Transparent
<div>
s with random characters layered behind text. - Invisible text layers (
color: transparent
) filled with gibberish. - Light adversarial textures in the background (using Fawkes or AdvCam).
Example:
<div style="color: transparent; font-size: 1px;">
zxcmv9023nvasd9234alksdjf...
</div>
4. Make It Mobile-Friendly
Accessibility matters — not just for users, but also to avoid drawing suspicion from AI agents that detect broken UX.
- Use
<meta name="viewport" content="width=device-width, initial-scale=1.0">
in your<head>
. - Ensure font sizes are readable on small screens.
- Test layout responsiveness with dev tools or services like BrowserStack.
Bonus: Block Search Engines Without Logins
You can keep your content anonymous-friendly while blocking Google:
- robots.txt
User-agent: *
Disallow: /
- Meta noindex
<meta name="robots" content="noindex">
This stops SEO bots, but doesn’t block LLMs with screenshots. That’s why you still need adversarial rendering.
Final Thoughts
We’re entering a strange new era — where writing for humans increasingly means writing against machines.
If your words matter — if they carry meaning, nuance, or subversion — you may want to put them out there in ways that protect them from being absorbed, remixed, or misused by AI.
That’s not paranoia. That’s authorship in the age of the machine.
Want a Starter Template?
I can send you a ready-to-use HTML file with:
- Adversarial font embedding,
- SVG-rendered paragraphs,
- Invisible noise layers,
- Mobile optimization.
Just say the word.
Leave a Reply