Monday, May 16, 2022

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…

Monday, May 16, 2022

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…

Friday, November 13, 2020

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…

Monday, September 22, 2025

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…

Monday, September 22, 2025

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…

Tuesday, June 18, 2024

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…

Wednesday, January 18, 2023

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.

Monday, May 16, 2022

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…

Monday, May 16, 2022

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

Thursday, November 2, 2023

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…

Monday, May 16, 2022

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…

Wednesday, August 21, 2024

Accessible Multiselect Dropdown

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

Friday, March 12, 2021

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

Monday, September 28, 2020

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

Thursday, August 27, 2020

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…

Friday, May 20, 2022

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…

Friday, May 3, 2024

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…

Monday, June 13, 2022

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…

Wednesday, April 30, 2025

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…

Thursday, June 23, 2022

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…

Monday, May 16, 2022

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…

Monday, June 24, 2024

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…

Monday, September 22, 2025

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…

Wednesday, April 30, 2025

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…

Thursday, June 23, 2022

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

Tuesday, June 14, 2022

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…

Monday, May 12, 2025

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…

Monday, September 22, 2025

An Extreme Approach to Speeding Up WordPress

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

Monday, September 22, 2025

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…

Wednesday, November 29, 2023

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…

Monday, September 22, 2025

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…

Thursday, July 7, 2022

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…

Thursday, July 7, 2022

How to Upgrade Your GitHub API Authentication

If you’ve been getting lots of email notices when using GitHub API calls related to: Deprecation notice for authentication via…

Tuesday, November 7, 2023

Work-From-Home Office Setup Inspiration for Coders & Developers

Minimalistic or grandiose? Or cluttered? What’s your preference when working from home? As most of us have been forced to…

Thursday, June 23, 2022

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…

Friday, May 3, 2024

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…

Thursday, May 1, 2025

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…

Thursday, May 1, 2025

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…

Thursday, May 1, 2025

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…

Thursday, March 3, 2022

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…

Thursday, May 1, 2025

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…

Wednesday, February 3, 2021

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

Wednesday, November 29, 2023

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…

Saturday, October 12, 2019

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

Thursday, May 1, 2025

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…

Saturday, October 12, 2019

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

Tuesday, June 14, 2022

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…

Friday, June 3, 2022

How to Change Page Title Using JavaScript

This JavaScript will modify the text of the browser tab when a visitor focuses or unfocuses the tab. You can…

Page 6/9123456789