Monday, September 22, 2025

Advantages of PHP 8.3 with WordPress

I have upgraded my hosting server to PHP 8.3 for all my WordPress and non-WordPress websites. While I am yet…

Tuesday, October 29, 2024

How to build a block editor sidebar using vanilla JavaScript

This article will explain how I moved away from the True Metabox plugin and coded my own sidebar for a…

Monday, September 22, 2025

20 essential steps in payment gateway testing for your WordPress plugin store

We have recently updated the user interface for our WordPress plugin store. We have also updated the customer experience with…

Monday, September 22, 2025

How to remove spam users and prevent spam registrations

A client of mine had an old website that grew uncontrollably large with thousands of spam registrations, spam posts, spam…

Tuesday, May 7, 2024

JavaScript Game: Obstakl

Obstakl is a game where the player needs to avoid moving obstacles, by controlling the main character using the mouse.…

Monday, September 22, 2025

JavaScript Marquee: A collection of scrolling text snippets

I have started to consider adding scrolling text into my design process. I started by using a CSS-only approach. The…

Monday, September 22, 2025

JavaScript Numbers: A Modern Reference

JavaScript is a dynamically typed language, and it doesn’t have specific integer or floating-point types, unlike some other languages. In…

Monday, September 22, 2025

How to Enable JavaScript

How to enable JavaScript in your browser and why Nowadays, all web pages contain JavaScript, a scripting programming language that…

Wednesday, August 21, 2024

Fast and accessible JavaScript client logo carousel

If you want to use the logo carousel as a WordPress plugin, see How to Create a Logo Carousel as…

Tuesday, September 26, 2023

The Musk Algorithm

Walter Isaacson’s new book about Elon Musk is a fine biography, but an even better business book. And like all the best…

Monday, September 25, 2023

Segmented Horizontal Bar Chart (Graph) Using Vanilla JavaScript

If you're looking to create a segmented (stepped) horizontal bar chart using nothing but vanilla JavaScript, you're in luck!

Wednesday, September 20, 2023

How to allow subsite administrators to edit users in a WordPress Multisite Network

WordPress Multisite is a powerful feature that allows me to manage multiple WordPress websites (or subsites) from a single installation.…

Wednesday, September 20, 2023

How You Can Join Successful Sellers Running an Amazon Business from Home

If you follow technology trends in recent years, you can’t help but notice the number of people running their Amazon…

Friday, September 8, 2023

A simple JavaScript suggestion autocomplete app

These days, I’ve been working on building a prediction search engine for real estate websites. I started with something small,…

Thursday, September 7, 2023

How to disable and remove old post revisions in WordPress (including multisite)

If you don't want to use a plugin to clean up your WordPress website and insist on custom coding it,…

Wednesday, April 30, 2025

How to add a Media Manager button to a block editor metabox

How to add a "Manage Media" (remember "Add Media"?) button to any post type and allow users to attach images,…

Monday, September 22, 2025

A collection of modern native JavaScript object and array utilities

Arrays Chunk Creates an array of elements split into groups the length of size. Compact Creates an array with all…

Monday, July 28, 2025

How I am tracking my WordPress plugin updates on my own update server

I am selling my WordPress plugins, and they all come with a lifetime updater feature. Most of my plugins, including…

Tuesday, June 20, 2023

How to get all videos from a YouTube channel using PHP and JavaScript

The code below works with multiple channels. First, we need to loop through all channels and get all videos. The…

Tuesday, February 17, 2026

How Active Analytics Stores Data Without Slowing Down Your WordPress Database

I have released a new version of the Active Analytics plugin for WordPress. This version focuses entirely on data storage,…

Monday, May 12, 2025

How to set up your own Google CrUX report

As part of decommissioning the Core Web Vitals report from Lighthouse, here’s how the CrUX report has been built. If…

Monday, May 12, 2025

Lighthouse is removing the Core Web Vitals and CrUX features

Why? There are multiple reasons and multiple factors involved. There are a few key reasons behind this change, all of…

Monday, May 12, 2025

How I tackled WordPress registration spam

For a while now, I have been using Mika’s Ban Hammer plugin with a custom list of blacklisted domain names…

Tuesday, February 17, 2026

Tracking pageviews, sessions and unique users in WordPress using Active Analytics

For almost 2 years, I’ve been tracking WordPress visits using my Active Analytics plugin. I’ve gradually removed Google Analytics from…

Monday, June 24, 2024

QuakeWiki.net is changing owners

It’s time for me to pass the torch to another huge Quake fan – Spirit from Quaddicted.com. I’ve been the…

Tuesday, March 19, 2024

How to code a website security audit using PHP and WordPress

This tutorial will teach you how to build a website security audit in the form of a WordPress plugin. We…

Friday, April 28, 2023

JavaScript Canvas Sine Wave

The code below generates a sine wave with a specified amplitude, frequency, and phase. The wave is drawn on the…

Sunday, April 23, 2023

Check DNS records in bulk using JavaScript

If you’re a web developer or network administrator, you know that DNS records play a crucial role in ensuring that…

Wednesday, April 30, 2025

How to Replace Slider Revolution with Flickity and Gain 50+ Performance

This is a short story about WordPress website performance optimization. A recent project of mine involved optimizing a website, currently…

Monday, September 22, 2025

Thin Table Pagination: A new addition to my JavaScript repository

I wrote about client-side JavaScript pagination before, but I have never stopped searching for the perfect pagination method, both from…

Monday, September 22, 2025

The Impact of Website Speed on Conversion Rates

Although content, social media, paid marketing, and design all play an important role in setting up a successful online business,…

Monday, September 22, 2025

Admin Menu Tree Page View 2.8 Refactoring Update

This has been a long time coming, and it’s finally live now. For this refactoring update, I have employed around…

Monday, September 22, 2025

A Detailed Page Builder Comparison of Elementor, WPBakery and the Native WordPress Block Editor

This article is aimed at several of my clients, pondering which theme to use. There are countless comparisons out there,…

Thursday, May 9, 2024

SEO Crawlability Issue: Resources are formatted as page link

While working on a SEMrush audit, I found a new type of crawlability notice: 47 resources are formatted as page link…

Monday, December 16, 2024

SEO, Adjacent Posts and Session Duration

Time on site, or session duration, is the total amount of time that a user spends on a website. A small…

Thursday, March 30, 2023

When You Need to Get the Professionals Involved to Make Your WordPress Website More Visible Online

Even at the outset of your business venture, it is not too early to get professionals involved. In fact, you…

Tuesday, February 14, 2023

Missing Open Graph Images? Remove Image Hotlinking!

I have just found out that my image hotlinking solution was preventing social networks from reading my Open Graph image…

Monday, September 22, 2025

Custom WordPress Plugin Update Server

This is an automatic updater for plugins hosted outside WordPress.org. Currently, WordPress doesn’t have an easy way for plugins which…

Monday, September 22, 2025

Lighthouse Security Update: Brute-Force Login Protection

Security Update: Brute-Force Login Protection Have you heard about the latest update to the Lighthouse WordPress plugin? It just got…

Thursday, January 19, 2023

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…

Wednesday, September 3, 2025

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.…

Tuesday, December 27, 2022

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>…

Tuesday, December 27, 2022

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…

Tuesday, February 17, 2026

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…

Thursday, January 22, 2026

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.

Monday, September 22, 2025

BOTS

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

Monday, September 22, 2025

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…

Monday, September 22, 2025

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…

Page 3/9123456789