Automatically improve, monitor and track your website performance over time, and get tips on what to improve.

Improve your website pagespeed with our WordPress performance plugin – WP Lighthouse

Increased my speed by 100%, to increase even more use in combination with other plugins (w3) and learn about JS minify, use CDN and image size reducer plugin, and you will have excellent results.

WP Lighthouse user

Very good cache and compression! (other options are great, too!) I combined this with WP Speed of Light and get a great performance by this. Hope you keep on the great work! ❤

WP Lighthouse user

Makes a huge difference. Reduced number of queries and increased speed by over 20%.

WP Lighthouse user

Learn JavaScript
Learn JavaScript by example

Read the Blog
Why, how-to & code snippets and tutorials

Find a WordPress Plugin
Free and premium WordPress plugins

Professional, high-quality plugins for WordPress, WooCommerce, Gravity Forms, Analytics, Site Speed and more. Page speed optimization plugins, SEO plugins, image gallery plugins, eCards, Lighthouse and more.

Also Read

Using Resource Hints to Optimize WordPress Performance
An Extreme Approach to Speeding Up WordPress
How to Optimize WordPress’ Native Settings for Performance

BOTS v2: Development Update

Introduction This year I have coded and launched a small app (available on Google Play Store and as a PWA), where you can generate an avatar (looking like a square bot), and give it a name, a rarity/probability and a class. The name is BOTS. How it Started It started small, mostly in JavaScript and

Canvas Bézier Curves

This is a demo for the Canvas: An Awesome Introduction article. This demonstration shows how Bézier curves can be drawn on a canvas element. Drag the line ends, or the control points…

Code Golfing Tips & Tricks: How to Minify your JavaScript Code

JavaScript golfing is the process of writing the smallest amount of JavaScript code to do something awesome.

The Complete JavaScript Strings Reference

JavaScript strings are deceptively complex constructs. There are actually two different types of strings – string Literals and string Objects – and they both behave somewhat differently, even while trying to masquerade…

How to code your own JavaScript de-duplicator

I have a new tool on getButterfly: a data de-duplicator for emails, URLs, IDs, names and more. It's written in JavaScript, with no external (or server-side) dependencies.

JavaScript Form Validation

This JavaScript code snippet adds inline validation to any form field (input, select and textarea). Feel free to customise it as you see fit.

How to get content from another website using JavaScript

Here’s the scenario: One of my websites is static, and I need to maintain a changelog both on the website and on GitHub Pages. The solution is a simple JavaScript function to…

Why I removed my dark theme switcher

How I implemented a dark/light theme switcher using JavaScript and CSS for both WordPress and static websites.

JavaScript Bookmarklets Collection

Bookmarklet 1: Show Password A simple JavaScript snippet can be used to view passwords in web browsers. To use the code, open your web browser and open the webpage for which the password…

How to copy web page content using innerHTML

I need to extract some data from a web page and place it on a fishing site. The source web page is updated frequently, and I don’t have the necessary time to…

How to Optimize a Theoretical Funnel Page Load Speed

Here’s a quick snippet to preload the next step in a theoretical funnel/workflow: PHP JavaScript

Thursday, November 24, 2022

Analysis of a WordPress Analytics Plugin

A few weeks ago, I was about to take over an abandoned analytics plugin. The deal didn’t go through, but…

Monday, November 21, 2022

My WordPress Plugins Are Exclusively on CodeCanyon

In the past 6 months, I’ve been bouncing between several online marketplaces and my own website – getButterfly.com – for…

Thursday, November 10, 2022

Breaking Changes for Active Analytics

If you are looking for a WordPress analytics plugin, look no further. Active Analytics is a lightweight plugin which stores…

Thursday, October 27, 2022

Active Analytics Tracking Update

Active Analytics has reached version 2.3. As part of an ongoing speed improvement initiative, we decided to switch to asynchronous…

Thursday, September 29, 2022

Fast and accessible CSS-only client logo carousel

Fast and accessible CSS-only client logo carousel. One in two sites requires some kind of client/provider logo carousel.

Tuesday, September 27, 2022

SEO Tools, Skills, and Experience

🌟 Where does my SEO experience come from? ✅ Developing optimization strategies based on competition research and current website traffic…

Tuesday, September 27, 2022

8 Things SEO is Not

Here’s X things SEO is not and quick breakdown of each point: SEO is not a one-month job SEO is…

Monday, September 26, 2022

BOTS v2: Development Update

Introduction This year I have coded and launched a small app (available on Google Play Store and as a PWA),…

Thursday, September 15, 2022

What is an Influencer Marketing Strategy?

Influencer marketing has come along in leaps and bounds over the last few years, with the rise of social media…

Thursday, September 15, 2022

Canvas Bézier Curves

This is a demo for the Canvas: An Awesome Introduction article. This demonstration shows how Bézier curves can be drawn…

Thursday, September 15, 2022

Python Application SDKs For File Uploading

In this article, we will be looking at SDKs that can be used for file uploading in python applications. These…

Thursday, September 15, 2022

9 monthly SEO tasks to add to your digital marketing strategy

SEO is hard work. It takes a consistent, regular effort to pay off. In fact, some SEO tasks are better suited for…

Wednesday, August 17, 2022

The Google Plugin strategy – your secret SEO weapon

Do you want to win in SEO? Well, then this new system is for you. I call it the “Google…

Thursday, September 15, 2022

Why You Need to Think About SEO When Selling a Home

You’ve created a property listing with your estate agent, and you think it’s looking pretty great. You’ve got professional images,…

Monday, August 8, 2022

Compress Your Images for Faster Page Speed and Better SEO

We have recently launched an image compressor aimed at web designers, web developers and bloggers in general to help optimizing…

Monday, August 8, 2022

How to fix Open Graph URL not matching canonical when using Yoast SEO

I have recently run into an issue with the Yoast SEO plugin, as reported by an Ahrefs audit. Basically, the…

Monday, August 29, 2022

Code Golfing Tips & Tricks: How to Minify your JavaScript Code

JavaScript golfing is the process of writing the smallest amount of JavaScript code to do something awesome.

Tuesday, August 9, 2022

The Complete JavaScript Strings Reference

JavaScript strings are deceptively complex constructs. There are actually two different types of strings – string Literals and string Objects…

Monday, August 8, 2022

The Complete Property Marketing Guide to Getting More Vendors

Vendors are the lifeline of an estate agency business. It’s no wonder then that so many estate agents cite their…

Monday, August 8, 2022

The Step-by-Step Guide to Local SEO

Local SEO is important. In fact, 46% of all searches on Google are local. That means if you’re a local…

Monday, August 8, 2022

Google My Business Cover Photo Tips & Tricks

A Google My Business profile is essential for any local business, but it’s not enough to simply have a profile.…

Wednesday, August 17, 2022

How to Set Up a Professional Email Address With Gmail and Google Workspace (G Suite)

Need a helping hand with how to set up Google Workspace (formerly G Suite) for your website so that you can have…

Monday, August 8, 2022

WordPress Update Services: WordPress Ping List & Tutorial

Utilizing WordPress update services is your first step to faster indexing. As a mechanism that literally says “hello, I am…

Thursday, August 4, 2022

How to code your own JavaScript de-duplicator

I have a new tool on getButterfly: a data de-duplicator for emails, URLs, IDs, names and more. It's written in…