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 Create a Price Range Slider Using Vanilla JavaScript
All JavaScript range sliders are hacks or workarounds. Because there’s no native HTML element for a range slider (only a…
How to Create a JavaScript Typewriter Using Vanilla JavaScript
This was done for a client, and I do not recommend it as it uses setTimeout(). Anything using setTimeout() or…
JSONify Dropdown Element Using Vanilla JavaScript
This function converts a regular <select> element both into an intented ul/li structure and JSON. It’s light and it’s been…
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…
Drift Chat: Speed Up Your Page Loading Speed by 3-4 Seconds
Here’s a neat trick to speed up your initial page loading time when you are using Drift. If you use…
24-Hour Countdown with Progress Saving Using Vanilla JavaScript
Here’s an interesting JavaScript snippet allowing you to set a 24-hour countdown and save its progress between page loads.
How to Draw on Canvas and Save the Result Using Vanilla JavaScript
This was part of a complex drawing project, which is not relevant right now. The idea was to have a…
Date Countdown Using Vanilla JavaScript
A while ago, I coded several date countdowns for several promotions. These countdowns went straight inside a third-party popup solution,…
Random Imgur Images Using Vanilla JavaScript
I found this old code I used for an old forum a long time ago, and I decided to bring…
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…
How and why I added a circle following my mouse pointer
I’ve seen this behaviour on several Russian sites, and it looked really slick, especially when the movement was delayed compared…
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…
Switching From JavaScript to PHP for Browser Detection and Avoiding Core Web Vitals Penalties
In the light of the recently introduced Core Web Vitals, I decided to save some script start-up speed and switch…
11 Places to Find Beautiful Free Illustrations
2020 saw the rise of this trend with countless sites, SaaS websites, startup websites and design sites adding illustrations to…
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…
Experiment: JavaScript Boxed Carousel with Progress Indicator
Here's an awesome JavaScript carousel built for a client project, but then scrapped. It definitely has potential for unlimited items.…
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…
Google Lighthouse 6 Performance Score Weighting: A Complete Guide
Google Lighthouse 6 just landed and it measures eight performance-related metrics in the Performance Section of the report with the…
An Extreme Approach to Speeding Up WordPress
This tutorial applies to a specific use case: WordPress as a minimal CMS, highly optimized for SEO.
How to Generate Quality Leads From Facebook
This is a guest post from 4Property, a leading provider of technology and market intelligence services for estate agents and…
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…
How To Update Your WordPress Plugin From GitHub in 2020
I have coded three of these before, but I have finally coded and optimized the perfect one. A GitHub plugin…
How to Upgrade Your GitHub API Authentication
GitHub deprecated authentication via URL query parameters back in 2020, and developers who still rely on the access_token query string…
How to Work Remotely: Practical Tips
😎 These tips are obviously biased and focused on developers. Home Office Designate a room as your office. This helps…
How Not to Get Affected by Google Algorithm Updates
It’s common sense. I’ve heard a lot of complaining from SEOs who have sites that have plummeted over the past…
How Many Assets Should a Website Have?
How Many JavaScript Files Should a Website Have? A maximum of four. And I would still argue that is too…
Why Is Web Page Size Important?
As of 2021, web page size is the most important factor to measure, as the bigger a page is, the…
Plugins Slow Down Your WordPress Site
“There’s a plugin for that” is a long-time notion in the global WordPress community. It’s a very positive example of…
10 PHP functions and code snippets to work with dates
Get current time, formatted This is a super basic function, takes no parameters and returns the current date. Format a…
How to Improve DNS Lookup Time
There are two major issues when it comes to DNS lookup times: 1. Number of external requests A complex website…
Estimated Reading Time in Web Design
Users don’t read (more than 18%) About 11 years ago, Jakob Nielsen wrote an “Alertbox” titled How little do users read?.…
Why Growth Hacking? How Product and Marketing are Directly Correlated
This is a guest post by Casey Armstrong. It’s 7am. You roll over and grab your phone to start checking on…
How do you struggle with blog growth?
Hundreds of thousands of blogs are on the internet now, and most likely there are many in your own industry,…
17 Tips for Emailing a Cold List Without People Hating You
OK, so you have this large, “targeted” email list. So you say to yourself: “Self, I’ve got this list of…
How do you identify trustworthy businesses/clients to work with?
Primarily as a freelancer or contractor, what criteria do you have for identifying trustworthy companies to work with? For instance,…
An Unnamed Project – A Technical SEO and Performance Auditing Tool
I’ve been working on a super secret project in the past weeks, a technical SEO and performance auditing tool. The…