Tuesday, February 17, 2026
How to Track WordPress Visitors Without a Cookie Banner (GDPR Compliant)
Cookie banners are everywhere. They slow sites down, frustrate visitors, and — according to a growing body of research —…
Tuesday, February 17, 2026
How to Read Your Active Analytics Dashboard: A Plain-English Guide
Installing Active Analytics takes about two minutes. Understanding what you’re looking at afterwards is what this guide is for. Each…
Tuesday, February 17, 2026
Cookieless Analytics for WooCommerce: Track Sales Without Third-Party Data
Most analytics guides for WooCommerce start from the same assumption: that you need Google Analytics 4, a GA4 connector plugin,…
Tuesday, February 17, 2026
GDPR-Compliant WordPress Analytics: What You Can (and Can’t) Collect
If you run a WordPress site and collect any data about your visitors, GDPR applies to you — regardless of…
Tuesday, February 17, 2026
How Active Analytics Compares to Plausible, Fathom, and Simple Analytics
The privacy analytics space has grown significantly since GDPR created demand for GA4 alternatives. Four tools dominate the conversation: Plausible…
Tuesday, February 17, 2026
Active Analytics vs Matomo: Which Privacy-First Analytics Is Right for WordPress?
If you’ve decided to move away from Google Analytics 4, you’ve already made the right call. The harder question is…
Thursday, February 12, 2026
Protected: Cormac Hassett SEO Audit
There is no excerpt because this is a protected post.
Thursday, January 22, 2026
ImagePress: The Multi-User Gallery Alternative to NextGEN and Modula
When you think of a WordPress gallery plugin, you likely think of tools like NextGEN Gallery or Modula. These are…
Tuesday, February 17, 2026
Active Analytics vs Google Analytics 4: Which Is Right for Your WordPress Site?
Google Analytics 4 (GA4) is complex, intrusive, and often non-compliant with modern privacy laws like GDPR and CCPA. For site…
Thursday, January 22, 2026
Tired of Just Caching? Meet the Lighthouse Alternative to WP Rocket and FlyingPress
For years, the WordPress performance conversation has been dominated by caching plugins. Tools like WP Rocket and FlyingPress are excellent…
Thursday, January 22, 2026
Volt: A Developer-Focused WordPress Multi-Site Management Solution
Volt is Lighthouse’s powerful multi-site management module that transforms how developers and agencies manage WordPress installations. Built with performance, security,…
Thursday, January 22, 2026
Lighthouse 4.7+: Enhanced Performance, Better Compatibility, and Smarter Monitoring
Lighthouse is a performance tuning plugin that removes default WordPress behaviours, optimizes your site’s speed, and provides comprehensive monitoring tools.…
Friday, December 12, 2025
Lighthouse 4.6.2: Smarter Performance Control and WordPress 6.9 Compatibility
I’m happy to announce Lighthouse 4.6.2, a significant update that brings smarter performance controls, better WordPress compatibility, and a cleaner,…
Monday, December 8, 2025
Saturn 2.9: A Leaner, Faster, More Secure Theme for WordPress 6.9
Compatibility: WordPress 6.9+, ClassicPress 2.5+, PHP 8.4+ Saturn 2.9 is a significant maintenance release that builds on the foundation laid…
Monday, December 8, 2025
Setting Up PHPCS + WPCS on Windows with VSCode for WordPress Plugins
As a WordPress developer managing multiple plugins, maintaining consistent coding standards is critical. Recently, I went through a complete overhaul…
Wednesday, November 5, 2025
Extracting Dominant Colours from Images with PHP
Have you ever wondered how design tools automatically pick the perfect background colour for an image? Or how e-commerce sites…
Wednesday, November 5, 2025
Easy Digital Downloads blocks that solve real customer frustrations
The opportunity is massive. Digital product sellers face a 70%+ cart abandonment rate, with mobile reaching 85%. Research across customer…
Tuesday, October 21, 2025
How to Hide Prices and Add to Cart Buttons for Specific WooCommerce Categories
Sometimes you may want to hide product prices and the Add to Cart button for certain product categories — for…
Thursday, October 9, 2025
Why Changing the WordPress Login URL Is a Bad Idea
Over the years, I’ve seen a persistent myth in the WordPress ecosystem — that changing the login URL somehow makes…
Tuesday, February 17, 2026
Event Tracking, Email Reports, and Content Insights in Active Analytics
Three Powerful Features to Transform Your Website Analytics Active Analytics just got a major upgrade! We’re excited to introduce three…
Tuesday, September 30, 2025
How Do Enterprise Testing Tools Improve Cross-Functional Collaboration
Enterprise testing tools do more than manage test cases or automate tasks; they also facilitate collaboration and streamline workflows. They…
Thursday, September 18, 2025
Retention Playbook for Our WordPress Plugins
1. Product & Market Fit D1 / D7 usage comes from the SaaS/product world: For our WordPress plugins, this translates…
Thursday, September 18, 2025
Why retention is so hard for new WordPress plugins
Product & Market Fit Growth & Retention Strategy Churn Management Measurement & Iteration Differentiation & Longevity
Sunday, August 17, 2025
Category Images for ImagePress
Easily Add and Manage Category Images ImagePress now has a new, powerful feature that allows you to enhance your image…
Monday, September 22, 2025
Complete Guide to Google OAuth 2.0 Authentication in PHP
Introduction Google OAuth 2.0 authentication is one of the most popular ways to add secure, user-friendly login functionality to web…
Wednesday, August 13, 2025
WP Lighthouse vs. WP Rocket: A Deep Dive into WordPress Performance and Security
In the competitive landscape of WordPress optimization plugins, two names frequently emerge: WP Rocket and WP Lighthouse. Both aim to…
Tuesday, February 17, 2026
How to Use the Active Analytics Content Report to Find Your Best WordPress Pages
How to identify and update your underperforming pages using the Content Report If you’ve ever wondered which pages on your site are…
Thursday, August 7, 2025
How to Completely Delete or Reset WooCommerce Products and Data
If you’ve been working with WooCommerce and need to start over — for example, after importing thousands of products that…
Monday, October 20, 2025
Building a WordPress.com-Scale Nginx Configuration
How to architect an infrastructure to serve millions of blogs WordPress.com hosts over 522 million websites and serves more than…
Tuesday, February 17, 2026
Why Active Analytics is a Good Alternative to Its Competitors: A Comprehensive Guide
In today’s digital landscape, understanding how visitors interact with your website is crucial for making informed decisions about content, design,…
Tuesday, February 17, 2026
The Complete Guide to WordPress Analytics Without Google: Privacy, Compliance, and What Actually Matters
Introduction: Unlocking Your Website’s Story, Simply Understanding who visits a website, what content captures their attention, and where they originate…
Friday, January 30, 2026
The Art and Science of Two-Color Combinations: A Comprehensive Guide
Color is one of the most powerful tools in design, art, and visual communication. While many focus on complex color…
Monday, May 12, 2025
New in Lighthouse: UTF8MB4 Database Conversion Tool
Improving WordPress Database Performance and Emoji Support with UTF8MB4 WordPress has gradually moved to a 4‑byte UTF-8 encoding (called utf8mb4)…
Friday, May 9, 2025
Implementing Custom Tooltips with Vanilla JavaScript
The following script replaces the native browser tooltip with a custom-styled tooltip that appears when hovering over elements with the…
Wednesday, April 30, 2025
Enhancing <select> Dropdowns: Removing Duplicates and Sorting Options with Vanilla JavaScript
When working with <select> dropdowns in HTML, it’s common to encounter scenarios where you need to remove duplicate options or…
Wednesday, April 30, 2025
Creating an Autocomplete Search Feature Using Vanilla JavaScript
Autocomplete search is a powerful feature often used in search fields to provide real-time suggestions as users type. We’ll build…
Wednesday, April 30, 2025
Sorting and Ordering Elements Based on Data Attributes with Vanilla JavaScript
Sorting elements on a webpage can be a critical feature when you need to reorder content dynamically. Whether it’s based…
Wednesday, April 30, 2025
Sort Elements Based on Data Attributes with Vanilla JavaScript
In a recent project, I was tasked with sorting a large list of elements dynamically based on multiple data attributes.…
Wednesday, April 30, 2025
Trigger an Event When User Reaches the Bottom of the Page
In a previous project, a client requested an action to be performed when the user scrolled to the bottom of…
Wednesday, April 30, 2025
Generate a Password Using Vanilla JavaScript
Enforcing strong passwords can be challenging, but by providing users with an automated password generation feature, you can enhance both…
Wednesday, April 30, 2025
Equal Height for All Elements Using Vanilla JavaScript
In my ImagePress plugin, we needed to ensure that all boxes have the same height after they have been loaded.…
Wednesday, April 30, 2025
Ping a Remote PHP File and Store Data in a MySQL Database with JavaScript
Recently, I needed to store details in a remote database using JavaScript. The straightforward approach was to send a GET…
Wednesday, April 30, 2025
How to Measure Page Loading Time with JavaScript
This approach demonstrates how to measure the loading time from the moment a user clicks on a link until the…
Wednesday, April 30, 2025
How to Defer Image Loading with Vanilla JavaScript
It’s well-known that loading an HTML page with over 100 images can significantly slow down the initial render if asset…
Wednesday, April 30, 2025
Dropdown Autocomplete with contenteditable Fields
Autocomplete for contenteditable Fields Using Vanilla JavaScript If you’ve ever needed to implement autocomplete functionality in a contenteditable field or…
Wednesday, October 8, 2025
A Comparative Analysis of WordPress Donation Plugins: WP Charity, WP Charitable, and GiveWP
1. Introduction For non-profit organizations, the selection of an effective WordPress donation plugin is a critical decision that directly influences…
Wednesday, October 15, 2025
Identifying the Most Challenging Keyword for ImagePress: A Search Trend Analysis
I’m not in the SEO industry any more, but I still need to promote and sell my WordPress plugins. In…
Wednesday, October 8, 2025
Vibe Coding
I got caught in this vibe coding movement and built a bunch of games using JavaScript, Node.js, PHP, SQLite, service…