Currently browsing Blog

Our blog deals with page speed optimization, page loading, web performance, WordPress tutorials, PHP code wrangling, JavaScript tutorials and code snippets. Our web insights series allow designers and developers to discover the latest and most significant stories on the web, while sipping a hot coffee.

WordPress Security X

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…

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: A Developer’s Guide to Classic Themes

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…

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.

Grizzy: How to create a Grid Gallery using modern CSS

Part of the CSS-Only Techniques guide. In this article, we are going to create a grid gallery using CSS only,…

Deep Dive into CSS Grid

This tutorial will dive deep into the CSS Grid Layout, exploring all major elements of Grid and almost all properties…

How to completely remove Post SMTP logged emails

How to completely remove Post SMTP logged emails and session transcripts Post SMTP is an awesome WordPress plugin, but I…

How to scrape content from Meetup.com using PHP

One of my recent projects involved creating WordPress posts from Meetup.com events. As the API is in beta state and…

WordPress: How to display nearby attractions and amenities using Yelp Nearby

This tutorial will show you how to display nearby attractions and amenities based on geographical coordinates (latitude and longitude) using…

How to create a Jetpack Site Stats Aggregator

I believe that Jetpack Site Stats doesn’t need an introduction any more. It provides basic but good insights on your…

How to Add a Block Pattern to a WordPress Theme

Here is a hands-on code snippet on how to add a block pattern (or more) to a WordPress theme. The…

Using Resource Hints to Optimize WordPress Performance

Resource hints provide a way to optimize the performance of your web page on the client side. As the name…

CSS Rounded Corners Gradient Border

Part of the CSS-Only Techniques guide. I had a visually heavy project recently and I had to create a gradient…

“Times New Roman” Enhanced CSS Font Stack

Part of the CSS-Only Techniques guide. “Times New Roman” as a Classic Web Font Option With Historical Ligatures A ligature…

How to Create Double Off-canvas Menus With CSS Only

Part of the CSS-Only Techniques guide. This feature has been part of a website project for many year. The left…

The Ultimate YouTube Video Embed Setup

Here is a loopable, no-controls, perfect-aspect-ratio YouTube video plus the styles for a perfect, full-width video embed.

WordPress External Featured Image via cURL

Here’s the long title for this code snippet — How to set up an external image as a WordPress featured…

How to Create a Fixed Teaser Block in WordPress

This tutorial will show you how to create a collapsible fixed pop-up. It can contain subscriptions forms, contact forms, calls…

How to Create Smaller Buttons for the Block Editor (Gutenberg)

One of the shortcomings of the WordPress default button blocks is the size variation. There is none. Sometimes the buttons…

How to Improve Your Mobile Core Web Vitals: Quick Tip

Do you really need those fancy fonts on mobile devices? No? There’s your answer! This applies to any WordPress theme,…

On/Off Toggle Replacement for WordPress Checkboxes

When it comes to WordPress settings and admin panels, I’ve always been a fan of minimalism and default/native styling. I…

My WordPress Plugins – A Short History

Over the course of my 20 years as a PHP developer, I have developed many WordPress plugins. I don’t have…

How to add a date/time picker to Gravity Forms

Here’s a nice challenge I got the other day regarding a better date/time picker for Gravity Forms. When I say…

How to Create Your Own Image Optimization Plugin by Leveraging Jetpack’s Photon

This is a quick code tutorial detailing how to leverage Jetpack’s Photon for custom images. Not all images in your…

How to Create Your Own Website Screenshot Service by Leveraging WordPress’ mShots API Service

This is an example-based tutorial where you will learn how to create a custom post type called Site, add a…

17 Best Website Speed And Performance Testing Tools

50% of people expect a site to load in less than 2 seconds! Your site’s load time could be the…

How to Submit a Patch to WordPress Core Using TortoiseSVN and Windows 10 (for beginners)

Here’s my steps to submit a patch to WordPress code. The whole process of editing WordPress core and submitting a…

How to Detect Multiple Matterport URLs and Embed Them Automatically

Embedding a Matterport tour in a WordPress page proves to be a bit problematic using the regular link-to-oEmbed method. There’s…

The Ultimate Post-Launch Checklist for Your New WordPress Website

This article is a follow-up of our previous pre-launch checklist article. You will learn how to make your new WordPress…

The Ultimate Pre-Launch Pre-Flight Checklist for Your New WordPress Website

This article is split into 2 parts, and we’ll assume you’re launching anything but a blog. You will learn how…

I Fixed Font Awesome JavaScript Logo

The JavaScript logo colours are yellow (#f7df1e) and black (#000000). Font Awesome SVG Icon The problem with the Font Awesome JavaScript logo is…

Accessible Multiselect Dropdown

Sometimes you need to turn a multiple dropdown into a multiple checkbox selector. No other bells and whistles, no search,…

How to Use IntersectionObserver to Mark Current Scroll Progress

Let’s say you have a list of anchors, or a table of contents, and this list is fixed on screen.…

Thin UI: My Opinionated, Lightweight UI Framework

Thin UI Not your average UI framework, but a minimalist, one-size-does-not-fit-all, lightweight, responsive, modern, opinionated, Flex-based framework. I’ve been building,…

Auto Paragraph Function with URL Parsing and Smilie Detection

This function emulates WordPress wpautop() function for custom PHP scripts, parses URL addresses and adds smilies/emoticons. If you’re coding your…

WordPress “Plugin Manager” Hack

Here’s another hack that targets WordPress admin users using brute force password cracking. In other words, if your WordPress administration…

WordPress WSO Web Shell Hack

I have recently found a nasty hack inside one of my clients’ sites, based on WordPress. Turned out that the…

Google reCAPTCHA v3 using PHP, AJAX and WordPress

After having issues with Google reCAPTCHA v2 and a custom WordPress implementation, I started coding an optimized version using the…

How I Improved My JavaScript Blog Articles Schema

I use WordPress, but I don’t use a specific SEO plugin. Everything is done inside the theme. Last week, I…

How to update your BreadcrumbList schema

If you're getting warnings when checking for breadcrumbs rich results or via your Google Search Console, here's what you need…

How I Planned, Blocked Out and Built a SaaS from Scratch Using WordPress

This is the story of SpeedFactor, a speed and performance tracking SaaS. At its core, the app measures a bunch…

Thin UI Update: Pure CSS Popover to Replace JavaScript One

I had some nice popovers coded for SpeedFactor, but I wasn't happy with the performance, especially for a single element…

An Extreme Approach to Speeding Up WordPress

This tutorial applies to a specific use case: WordPress as a minimal CMS, highly optimized for SEO.

Google Pagespeed Insights vs GTmetrix vs SpeedFactor: Which One Is Better?

Google Pagespeed Insights, GTmetrix and SpeedFactor are all great tools to help identify speed related issues and fix them. All…

How to Optimize WordPress’ Native Settings for Performance

WordPress comes with default settings and options, suitable for blogging. Part of the “Decisions, not options” philosophy, they might not…

Page 3/41234