Spring Sale! Save 30% on all books w/ code: PLANET24
Web Dev + WordPress + Security
Author: Jeff Starr
948 Posts
Jeff Starr is a web developer, author, and teacher specializing in web security and building awesome things with WordPress. His favorite online projects include Plugin Planet, DigWP.com, and WP-Mix.com. Jeff writes books, runs his own business, writes about web development, and makes video tutorials at Lynda.com/LinkedIn. More »

7G Firewall: September 2020 Update

Pleased to announce that the 7G Firewall is updated to version 1.3 (September 3rd, 2020). Now available for download, 100% free and open-source as always. Continue reading »

Apple Nags Killing UX

Heads up! This post is a giant rant about Apple screwing up the user experience (UX). If that is not what you want to read, then now is your chance to hit that back button and escape. Otherwise, if you feel like hearing all about it, continue reading. With Apple devices in the past, you could log in to an Apple account or not. No hassles. No worries. Just enjoy the software. Enjoy that super smooth Apple user experience. Right? […] Continue reading »

New Plugins for WordPress 5.5

Forgotten post! I wrote this article way back for WordPress 5.5 but forgot to publish. Rather than delete I am posting it now. I think the information remains relevant for the most part. Read with a grain of salt :) WordPress 5.5 brings some new features that may help a lot of users. The two biggies: sitemaps and lazy loading images. This rundown post explains a bit about each, and shares some free plugins to help should you need to […] Continue reading »

About the Auto-Generated WP Sitemaps and How to Disable Using Simple Code or a Free Plugin

WordPress 5.5 and beyond features built-in sitemaps that are enabled by default. For new users and sites this may be a good thing. Now users don’t have to bother with thinking about how to implement a sitemap. Like with Privacy control, WordPress just does it for you automagically. BUT for the millions of sites that already have a sitemap thanks to any of the excellent and free sitemap plugins — that’s like maybe 5–10 million websites — well congratulations you […] Continue reading »

WordPress Plugin: Disable Media Sizes

Whenever you upload an image using the Media Library, WordPress automatically creates a set of alternate-size images. The number and size of these auto-generated images continues to grow each year, as WordPress tries to keep up with increasingly hi-resolution screen sizes. For many WordPress-powered websites, the extra media sizes enable WordPress to serve images responsively and that’s a good thing. But for some WordPress sites, all the extra images simply are not necessary. In some cases downright wasteful. And that’s […] Continue reading »

WordPress Plugin: Disable Lazy Load

WordPress 5.5 brings some cool new features, including built-in support for lazy-loading images. So whether you want it or not, WordPress will add a new “loading” attribute to all of your images. That way supportive browsers will be able to load your images as the user scrolls the page, instead of trying to load everything at once. It’s a popular front-end technique that may help to boost performance a little bit. Like anything else, there are pros and cons to […] Continue reading »

Switching from Photoshop to Affinity Photo: Lessons Learned

This post is a bit different than my regular in-depth tutorials. This is where I scribble down notes and thoughts about my experience switching from Photoshop (PS) to Affinity Photo (AP). As I continue to learn AP and collect more notes, I’ll add them to this post. It’s an informal work in progress. To give some context of where I’m coming from, I have around 20 years experience working with Photoshop (and other Adobe apps). Like many others, for me […] Continue reading »

CSS: Center-Align List with Left-Aligned Text (and Unknown Width)

Here is a quick CSS tutorial showing how to center-align a list element with left-aligned text. For example, if you have an <ul></ul> or <ol></ol> of unknown width, and you want it to stay centered on the page and keep the inner text aligned to the left. That’s the trick we’re looking at in this tutorial. Continue reading »

Building the Perishable Press Bookstore

After six months of on-again, off-again hard work (and plenty of unexpected challenges), I am excited to launch the new Perishable Press Bookstore. The old bookstore was located on a separate domain, but I wanted it to be better integrated with the main site here at Perishable Press. So now there is the site blog at perishablepress.com and the store at books.perishablepress.com. Continue reading »

Remove __MACOSX and .DS_Store from ZIP Files on Mac

Zipping files on Apple/Mac is a chore because of all the hidden files and folders added by macOS. Like .DS_Store and __MACOSX are two of the most common files and folders that are added to zip files when compressed on macOS. The folder named __MACOSX especially is problematic because it contains duplicates of every file in the zip archive. So for example, if you use Finder to compress 20 files, the resulting zip file will contain the original 20 files, […] Continue reading »

How to Ask for Help and Get It

I see so many technical (and other) questions in forums and social media that go unanswered. Not due to lack of trying, but due to lack of understanding. People posting questions like this (an actual post in a popular PHP group on FB): Continue reading »

How to Disable Chrome Scroll to Text Fragment

It is debatable whether or not Chrome’s new scrolltotextfragment feature is a significant security concern. When in doubt, play it safe. This quick post explains how to disable (or enable) Chrome’s scroll-to-text-fragment functionality. Continue reading »

All the little .txt files you can put in the root directory of your website

The ones I know of: ads.txt humans.txt robots.txt security.txt This site makes use of robots.txt and humans.txt. I don’t need ads.txt because 3rd-party ads aren’t currently running on the site, and security.txt seems not necessary as the site’s contact form is easy enough for anyone to find. Continue reading »

Why Facebook is Not Worth It

Recently I found myself listening to someone who was trying to convince me that I should be doing more on Facebook. For reasons like attracting new customers and making more money. It was pretty sad listening to the spiel, but I do care about people and their opinions, even when they are wrong. Continue reading »

Weird Bug with Highlight.js

Working on adding syntax highlighting to my code snippets here at Perishable Press. To do it, I use my free WordPress plugin Prismatic. Basically all the plugin does is load up either the Highlight.js scripts and styles, or it loads up the Prism.js scripts and styles. So I can rule out the plugin itself for this “weird” little bug. The issue is with Highlight.js specifically. Continue reading »

Redesign #25: Performance Over Perfection

Welcome to the 2020 (25th!) redesign for Perishable Press. Like many of the previous designs, the new design is super minimal and organic. The #1 goal this time around was to find an optimal balance between performance and aesthetics. Or put another way.. Continue reading »

Welcome
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience. Here you will find posts about web development, WordPress, security, and more »
GA Pro: Add Google Analytics to WordPress like a pro.
Thoughts
I live right next door to the absolute loudest car in town. And the owner loves to drive it.
8G Firewall now out of beta testing, ready for use on production sites.
It's all about that ad revenue baby.
Note to self: encrypting 500 GB of data on my iMac takes around 8 hours.
Getting back into things after a bit of a break. Currently 7° F outside. Chillz.
2024 is going to make 2020 look like a vacation. Prepare accordingly.
First snow of the year :)
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.