Black Friday Sale: Save 50% on Pro Plugins & Books w/ code BF2026
Web Dev + WordPress + Security
Author: Jeff Starr
976 Posts
Jeff Starr is a full-stack web developer and book author specializing in WordPress, security, and building awesome things with PHP, HTML, CSS, and JavaScript. He writes in-depth tutorials, shares code snippets, and develops premium WordPress plugins. More »

Important Note for Your Custom Error Pages

Just a note to web designers and code-savvy bloggers: make sure your custom error pages are big enough for the ever-amazing <cough> Internet Explorer browser. If your custom error pages are too small, IE will take the liberty of serving its own proprietary web page, replete with corporate linkage and poor grammar. How big, baby? Well, that’s a good question. In order for users of Internet Explorer to enjoy your carefully crafted custom error pages, they need to exceed 512 […] Continue reading »

First 30 Days without Bad Behavior

Approximately 30 days ago, I completely uninstalled the Bad Behavior plugin from Perishable Press. As you may recall, many Bad Behavior users were unexpectedly locked out of their own sites and forced to either uninstall or upgrade in order to fix the problem. Of course, in my perpetual battle to optimize and streamline everything, I decided to drop Bad Behavior from the otherwise obligatory WordPress anti-spam trinity. 30 days later.. I am happy to report that Perishable Press has not […] Continue reading »

Comprehensive URL Canonicalization via htaccess for WordPress-Powered Sites

Permalink URL canonicalization is automated via PHP in WordPress 2.3+, however, for those of us running sites on pre-2.3 versions or preferring to deal with rewrites directly via Apache, comprehensive WordPress URL canonicalization via htaccess may seem impossible. While there are several common methods that are partially effective, there has not yet been available a complete, user-friendly solution designed specifically for WordPress. Until now.. In this article, I share my “secret” htaccess URL canonicalization formula. I originally developed this method […] Continue reading »

A Moment of Clarity

Finally, after seven years of working online.. a moment of clarity. It all seems so clear now: your blog is an extension of yourself, a digital representation of your very being. Online, your site is you, revealing your interests, personality, intelligence, wisdom, and anything else that may be deduced from various levels of inquiry. Whether you realize it or not, your website is more than a well-presented database, it is your virtual self, your virtual existence in the infinite realms […] Continue reading »

Coldskins: Custom CSS Skins for Contact Coldform

With the recent release of my latest WordPress plugin, Contact Coldform, I am also creating a series of free, “drop-in” CSS skins for easy, “plug-n-play” customization. These skins employ valid, optimized CSS code designed for the following browsers: Continue reading »

Advanced PHP Error Handling via htaccess

In my previous article on logging PHP errors, How to Enable PHP Error Logging via htaccess, we observed three fundamental aspects of preventing, preserving, and protecting your site’s PHP errors. Continue reading »

WordPress Plugin: Contact Coldform

Welcome to the homepage for Contact Coldform, a secure, lightweight, flexible contact form with plenty of options and squeaky clean markup. Coldform blocks spam while making it easy for your visitors to contact you from your WordPress-powered website. The comprehensive Settings Page makes it easy to take full control with plenty of options and several built-in themes for styling the form. Coldform delivers everything you need and nothing you don’t — no frills, no gimmicks, just pure contact-form satisfaction. Now […] Continue reading »

Blacklist Candidate Number 2008-01-02

Welcome to the Perishable Press “Blacklist Candidate” series! In this first post, we begin a new tradition of exposing, humiliating and banishing spammers, crackers and other worthless scumbags.. Every Wednesday, I take a little time to investigate my 404 error logs. In addition to spam, crack attacks, and other deliberate mischief, the 404 logs for Perishable Press contain errors due to missing resources, mistyped URLs, and the occasional bizarre or even suspicious behavior of the search-engine robots. Whenever possible, I […] Continue reading »

WordPress Tip: Reduce the Size of the WP-ShortStat Database Table

In this article, I present a simple method for dramatically decreasing the size of your WordPress database by partially emptying old data from the WP-ShortStat table via the following SQL command: DELETE FROM `wp_ss_stats` ORDER BY `id` ASC LIMIT n That simple SQL query will truncate n number of rows from a database table named wp_ss_stats. You can of course change the table name and number of rows to whatever is needed. And that is the point of this entire […] Continue reading »

Perishable Press Site Statistics for 2007

One of the year-end maintenance rituals that I have decided to adopt involves sharing a few annual site statistics for Perishable Press. Over the course of the previous year, Perishable Press has gone through many changes, including switching servers multiple times, eliminating nofollow attributes from comments, and even a complete site overhaul and restructuring. Despite the chaos surrounding such events, traffic levels have continued to increase, bounce rates have steadily decreased, and the number of feed subscribers continues to grow. […] 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 »
Wizard’s SQL for WordPress: Over 300+ recipes! Check the Demo »
Thoughts
Fun tool for visualizing how different internet protocols work.
Working on a complete redesign of Perishable Press :)
The Office is Cheers with more irony.
More fine-grained control of macOS screen brightness: hold down Option + Shift before pressing either of the brightness keys. You get 64 increments instead of the usual 16.
REST Pro Tools featured in David McCan’s new video on locking down WordPress.
Gonna try exercise.
Launching my new plugin, REST Pro Tools 🛠️ Granular control of the WP REST API.
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.