JOOMLA 5 | Demo | Download
What is this?
If you been with us for years or decades you'll notice on all my website i stop provide direct method to contact me via email because 'many many moon ago' spam bots, some ads web bots and malicious annoying email scrapper just flooding my email inbox so bad its tedious to clean up the mailing list. The bad news on my side are sponsorship, collaboration, supports, community social and some essential communication between me and the outsider was shutdown......the good news i found peace! = Nirvana!!! lol! And so i can relax for few year enjoy my other hobbies and getting old. However since i start to build apps and extension codes some people may need to get intouch for me to report some bugs or get support, so i need to find ways to kick those pesky web crawler, ads, spammer out from my inbox if i need to publish my contact. So i build my own extension of contact messenger plugin with evil twist...even for human user too...muhahahaha!
I present you the Contact Puzzle; it is an interactive, lightweight, and highly secure anti-spam plugin for Joomla 5. It protects your publicly listed email addresses and contact forms from automated spam bots by requiring visitors to prove their humanity through a fun, customizable sliding puzzle. Instead of relying on frustrating CAPTCHAs or third-party services that track user data, Contact Puzzle keeps everything native to your Joomla site. Real human visitors simply drag and drop image tiles to complete a picture, unlocking the ability to contact you.
What It Can Do
1. Scraping & Bot Protection
Never expose your real email addresses in your website's HTML source code again. The plugin uses a secure mapping system where you assign a simple "Key" (e.g., sales) to a real email address (e.g., sales@yourdomain.com). Bots scraping your site will only see the shortcode, completely protecting your inbox.
2. Interactive Human Verification
Visitors are presented with a visually engaging sliding image puzzle loaded with dynamic images. They must drag and drop the tiles into the correct order before a customizable timer runs out.
- "Ziggy Tear" Anti-AI Mode: Toggle on jagged, serrated puzzle tile outlines in the backend. This breaks edge continuity, severely disrupting automated AI vision and tile-matching algorithms while remaining fun for human players.
3. Two "Reveal" Modes
You can configure exactly what happens when a user successfully solves the puzzle:
- Reveal Email (Text Mode): Instantly displays the hidden email address as a perfectly centered, clickable
mailto:link on the page. - Show Contact Form (Form Mode): Unlocks a sleek, AJAX-powered contact form directly on the page. Users can send you a message without the page ever reloading. The email subject will dynamically include your website's domain name so you always know where the message came from.
4. Highly Customizable Difficulty
Tailor the user experience to your audience by adjusting the puzzle settings in the Joomla backend:
- Grid Size: Choose anything from a simple 3x3 grid (Easy) to a massive 10x10 grid (Extreme). <---- i like this feature...very anti social! lol!!
- Time Limits & Restarts: Set a countdown timer to add urgency. If a user runs out of time, they are prompted with a manual "Restart Puzzle" button to prevent infinite automated loops that drain server bandwidth.
5. Optimized for Performance & Security
Built specifically for the modern Joomla 5 architecture, this plugin is designed to be completely unobtrusive and hyper-optimized:
- Strict IP-Based Rate Limiting: Includes a lightning-fast, file-based rate limiter. If a bot attempts to spam your form, they are instantly blocked before triggering the Joomla Mailer, preventing PHP worker exhaustion and keeping your server fast.
- Built-in Security: Includes Joomla CSRF token verification, hidden honeypot fields, and speed-trap checks.
How to Use It
- Install: Install the zip package natively via the Joomla Extension Manager and enable the plugin.
- Map Emails: Go to the plugin settings and add your email mappings (e.g., Key:
mymail1-> Target:johndoe@example.com). - Embed: In any Joomla Article or Custom HTML module, simply type your shortcode:
{contactpuzzle}mymail1{/contactpuzzle}. - Done: The plugin will automatically replace the shortcode with the interactive puzzle!


