New blog post: Beyond Bigger Servers: Keeping Websites Online Under Bot Attacks https://www.freelock.com/blog/john-locke/2026-10/beyond-bigger-servers-keeping-websites-online-under-bot-attacks #WordPress #Performance #Scaling
One of the #WordPress sites we manage often gets hit by bot attacks at a rate of 10 - 100 page requests per second. We just put in an observer that automatically enables #Anubis when the php workers start queuing, and automatically disables it when the load dies down. Really, really slick solution!
RE: https://drupal.community/@drupalsecurity/117310523464015138
Looks like it's going to be a busy Wednesday....
Released a new alpha version of Advanced Comment Threads module - https://www.drupal.org/project/advanced_comment_threads/releases/1.0.0-alpha4 . At this point it feels like a massive improvement over Drupal core comments -- would love any feedback/issues you find, if you have a #Drupal 11.4 site and use comments!
New blog post: Using AI to revew AI-Generated code: Astra vs. Opus vs. DeepSeek https://www.freelock.com/blog/john-locke/2026-09/using-ai-review-ai-generated-code-astra-vs-opus-vs-deepseek #Drupal #AI
@Ryan I think it really depends on the complexity of what you're building. I've definitely seen that some of the high end models reach an answer much quicker than some low end models -- and it often seems like they're more often right the first time.
But not always. Blog post coming shortly...
My new https://drupal.org/project/advanced_comment_threads module felt slow on pages with 200+ comments, so I asked both Opus 5 and DeepSeek4 Flash to review, using #OpenCode.
Results:
- Deepseek: 5 specific performance improvements to make, plus a bunch of cache improvements. $0.22 of token usage.
- Opus 5: (This request would exceed your account's rate limit. Please try again later)
There's some pretty slick modules in today's crop of Drupal security announcements -- Ultimate Table Field, Taxonomy Term Glossary, Feed Block, CSP log all sound extremely useful
@philipnorton42 I feel slightly vindicated on that one - I recall evaluating miniorange several years back -- and not selecting it!
Today's #Drupal security window had 20 new security announcements.
Who's doing your website maintenance? Are you on top of things?
Ran a performance test to see how expensive it is to create #Drupal entities, to answer the question of whether or not to create some custom lightweight class or just use an existing entity.
On my busy laptop actively doing multiple things, the answer was, roughly 200 per second, with a full stack running nginx, php-fpm, mariadb...
Drupal entities are plenty fast!
Cleaning up the fallout from a personal site we host that got hit by contact form spam - 95K submissions that got our mail server blocked due to backscatter spam!
PSA - don't send copies of contact form mail to the sender -- this is an easy way for a spammer to benefit from your reputation! #spam #drupal
First video in a series, connecting #Drupal to #Matrix is live now, up at https://www.freelock.com/blog/john-locke/2026-08/drupal-meets-matrix-part-1-setting-matrix-api .
New blog post: For the Long Haul: AI can build it. Who’s maintaining it next year? https://www.freelock.com/newsletter/long-haul-ai-can-build-it-whos-maintaining-it-next-year #WordPress #AI #Maintainability
I just hit a weird issue trying to create content templates with #DrupalCanvas - I could not put the title field into any template. It turns out this dates back to a Drupal 7 to 8 migration on my site, which created a field override that made the title field not required -- somehow this made it so the title field didn't match the Canvas rules to make it available to place.
The fix - edit my configs to make title fields required.
New blog post: WordPress Has Thousands of Maintainers. Does Your Replacement? https://www.freelock.com/blog/john-locke/2026-08/wordpress-has-thousands-maintainers-does-your-replacement #WordPress #AI #Security
New blog post: Zero to new Drupal site in 133 seconds https://www.freelock.com/blog/john-locke/2026-08/zero-new-drupal-site-133-seconds #Drupal #Development
New blog post: wp2shell Hit WordPress in 72 Hours. We Patched Before It Did. https://www.freelock.com/blog/john-locke/2026-07/wp2shell-hit-wordpress-72-hours-we-patched-it-did #WordPress #WP2Shell