The Joomla Training Cohort has been launched!

Please send any feedback or bug reports to [email protected] (opens new link)  

A client wants to put detailed information about their service providers on their website, but they don't want it scraped. robots.txt won't do it: it's a polite request, and the bots that matter most ignore it. So on this stream I'm building a new Joomla 6 extension, CS Page Protector, that makes a visitor pass a human check before the pages you choose will show their content. Here's what we'll work through:
โœ… Why robots.txt and hidden-content tricks don't stop scrapers
โœ… Joomla 6.1's new built-in Proof-of-Work CAPTCHA: no Google, no API key
โœ… Picking which pages need protecting
โœ… Keeping protected content out of the page source until the check is passed, because a scraper reads the source, not the screen
โœ… Remembering the visitor for the session, so real people only solve it once
โœ… What this does and doesn't stop, and why you shouldn't turn it on for pages you want Google to index
โœ… Building it on a Joomla 6 test site from a blank start If you publish directory listings, staff or provider profiles, pricing, or anything else you'd rather not see copied into someone else's database, this one is for you.

 
00:00:00 โ€“ Intro & Blocking Data Scrapers in Joomla
00:04:00 โ€“ Client Needs & Proof-of-Work CAPTCHA Planning
00:07:10 โ€“ Joomla 6 Setup & Claude AI Development
00:13:17 โ€“ CAPTCHA Research, GitHub & Documentation
00:18:00 โ€“ Joomla 6 Migration & Security
00:22:59 โ€“ Countdown Timer Side Project & Package Testing
00:31:36 โ€“ Email Protection & Joomla 6.1.4 Updates
00:40:08 โ€“ CS Page Protector Dashboard & Page Selection
00:44:17 โ€“ CAPTCHA Testing, IP Privacy & Cookies
00:57:52 โ€“ CAPTCHA Options & Joomla Cache Fixes
01:05:00 โ€“ Module Protection, Blur & Custom Challenges
01:17:00 โ€“ GitHub Workflow, Changelog & Client Bug Fix
01:30:00 โ€“ Documentation, v0.1.0 Release & Future Plans
01:31:00 โ€“ Wrap-Up & Closing Remarks

Summary

1. Introduction & Client Security Requirements:
Introduces the project to block data scrapers on Joomla websites. The client needs to protect a provider directory from automated scraping while keeping the site usable for legitimate visitors.

2. Proof-of-Work CAPTCHA Strategy:
Plans a proof-of-work CAPTCHA that requires browsers to complete a computational challenge before accessing protected pages, helping deter automated scraping.

3. Joomla 6 Development Environment & AI Assistance:
Sets up a Joomla 6 staging site in Visual Studio and uses Claude Opus 5.5 to research and build the new CS Page Protector extension.

4. Research, Documentation & Version Control:
Investigates Joomla-compatible proof-of-work techniques, creates a GitHub repository, and documents the project in Obsidian to organize development and track progress.

5. Joomla Migration & Initial Extension Build:
Addresses Joomla 5 security settings and migration to Joomla 6, while also exploring a separate countdown-timer video generator. The first CS Page Protector package is built and installed for testing.

6. Initial Security Features & Compatibility Checks:
Reviews email protection and Regular Labs compatibility, follows Joomla 6.1.4 developments, and files GitHub issues to track problems and improvements.

7. Dashboard & Page-Level Protection:
Develops the CS Page Protector dashboard and page-selection controls, then tests the proof-of-work challenge on individual Joomla pages to verify that protection works.

8. Privacy, Cookies & CAPTCHA Options:
Implements GDPR-conscious IP shortening and cookie-based passes to reduce repeated challenges. Explores automatic versus manual challenge solving to balance security and visitor convenience.

9. Cache Fixes & Module Protection:
Fixes a Joomla caching issue that bypasses module protection and expands coverage to modules such as Login and Latest Posts. Adds presentation options including blurred content, delayed access, and custom challenge messages.

10. Bug Fixes, Release Planning & Future Add-Ons:
Commits changes, updates the changelog, and uses GitHub issues to manage development. Fixes a client login bug, tests module protection, and plans documentation, the v0.1.0 release, and future add-ons before wrapping up.



Please send any feedback or bug reports or queries to;

Contact Tim Davis โ–บ This email address is being protected from spambots. You need JavaScript enabled to view it.

Joomla Training Cohort โ–บ https://cybersalt.com/jtc

JTC has been launched and is now accepting members https://cybersalt.com/services/subscriptions
mySites.guru โ–บ https://mysites.guru
Backing Up Your Joomla Site with Akeeba โ–บhttps://www.youtube.com/watch?v=4Xu4o0g2-RY&t=0s
FOLLOW US ON X(TWITTER!) โ–บ https://x.com/basicjoomla
LIKE US ON FACEBOOK! โ–บ https://www.facebook.com/basicjoomla
SUBSCRIBE US ON YOUTUBE โ–บ//www.youtube.com/@Basicjoomla

#basicjoomla

#cybersalt



Watch Me Work Livestreams 355


Interesting blog? Like it on Facebook, Post it or share this article on other bookmarking websites.

Log in to comment

Add comment

Submit