Securing Your WordPress Site: A Guide to Limiting Login Attempts Without a Plugin
Brute-force login attacks pose a significant threat to the security of WordPress websites. This type of attack involves repeatedly guessing…
StackGrid — A Light Vanilla JavaScript Masonry Grid
Introducing the lightest and most efficient Masonry grid available — StackGrid — powered by pure vanilla JavaScript, no dependencies required.…
How to Open Only One Details/Summary Element at a Time
Let’s suppose you want to build a simple accordion or a help section, and you want to use a <details>…
Canvas – A Simple Drawing Application
This is a simple drawing application that allows the user to select a colour and thickness for their brush and…
Why Most WordPress Analytics Plugins Get Slow (And How Active Analytics Was Built Differently)
Active Analytics has become a daily necessity, and the data is available at a glance with the most relevant information…
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.
BOTS
Introduction This year I have coded and launched a small app (available on Google Play Store and as a PWA),…
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…
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…
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…
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…
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…
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…
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…
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…
Click Instead of Hover: A CSS-only “Clicky” Menu
Simple click-triggered navigation submenus. Accessible and progressively enhanced. Hover is not consistent, not accessible and inefficient.
JavaScript Form Validation
This JavaScript code snippet adds inline validation to any form field (input, select and textarea). Feel free to customise it…
WordPress Security X – 2025 Edition
When dealing with WordPress security, we need to start from the bottom of the stack and go up. There's usually…
WordPress SEO: How to Calculate Text Readability?
In order to evaluate the effectiveness of your writing, you can easily check the readability of your website pages. Key…
Security Headers: A Concise Guide
Security is as essential as content and SEO, and thousands of websites get compromised due to misconfiguration or lack of…
How to recover old images in WordPress
This article is about how to recover old images in WordPress that are still using obsolete or missing sizes. Let’s…
How to Use WordPress: The Guide
At its core, WordPress is a free online tool for building websites and blogs. It’s a scalable, feature-rich Content Management…
Regular Expressions (RegEx) in Google Search Console
A few days ago, I noticed a Google Search Console regular expression query for user questions popping up on Twitter:…
How to parse a WordPress gallery block and return image IDs
How to parse a WordPress gallery block programmatically and return all image IDs in an array using 3 lines of…
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…
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,…
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…
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
Numerical Integration Using JavaScript
This is a quick reminder on how to use mathematical functions inside JavaScript. Instructions Trig: sin, cos, tan, cot, sec,…
Random JavaScript Tutorials
I needed some structural updates for a site, and among them, I added some JavaScript snippets. I will show you…
How to Declare a Global Variable inside a JavaScript Function
A JavaScript global variable is a variable with global scope, meaning that it is visible and accessible throughout the program, unless…
JavaScript Terminal
Today’s tutorial is about creating a terminal screen together with lime terminal characters in JavaScript. Let’s start with the CSS:…
Demystifying JavaScript history.back() and history.go() methods
One of my clients needed his online shop customers to be able to go back several steps with one click…
How to check scroll depth using JavaScript
Tracking how far users scroll down a webpage can provide valuable insights into content engagement. By monitoring scroll depth milestones—such…
How to execute code for X visits
This JavaScript will let you execute code a certain number of times. For example, you might want to only show…
Canvas: Animation
Making an animation from an element on an HTML5 Canvas is easy enough. To do this, a timer is set that…
Canvas: Interactive Shapes
If you draw a red square on a Canvas using the stroke() or fill() method, the square becomes nothing more…
Canvas: Inserting Images and Text
You can optimize text input by storing the desired text in an image file and then displaying it on the…
Canvas: Shadows and Gradient Fill
This is a Canvas programming introductory series: So far, we’ve been using solid colors to draw and fill elements on…
Canvas: Transforms and Transparency
Transform is a drawing technique that allows you to move the coordinate system of the Canvas using JavaScript.
Canvas: An Awesome Introduction
The ID attribute gives this Canvas the unique name required for it to be identified by JavaScript code and set…
How to create a simple JavaScript percentage graph (or chart)
This small JavaScript snippet creates percentage graphs out of raw (array) data. Just input the name/value pairs of the involved…
JavaScript shortcuts for TRUE and FALSE
Here’s a neat trick if you’re into micro-optimization. JavaScript compressors and minifiers are used to make JavaScript code smaller and,…
How to create time constants in JavaScript in a performant way
A recent project of mine required time constants, and instead of opting for an additional library for just 10 or…
Grizzy: How to create a Grid Gallery using modern CSS
In this article, we are going to create a grid gallery using CSS only, more precisely Flexbox CSS. In the…
How to create a minimal JavaScript slider with CSS transitions
A JavaScript Slider in 8 Lines In this post, we’ll build a minimal JavaScript slider, with no dependencies. The smallest,…