🍁 Fall Sale: Save 25% on Pro Plugins & Books w/ code FALL2026
Web Dev + WordPress + Security
Category: WordPress
321 posts

Block Tough Proxies

If you want to block tough proxies like hidemyass.com, my previously posted .htaccess methods won’t work. Those methods will block quite a bit of proxy visits to your site, but won’t work on the stealthier proxies. Fortunately, we can use a bit of PHP to keep them out. Continue reading »

Ajax-Powered Error Logs for WordPress

In my previous post, I share my technique for Ajax-Powered Error Logs. That tutorial shows you how to set up dynamic error monitoring on any typical website, but the script requires some tweaking to get it working with WordPress. In this quick post, I explain how to set up Ajax Error Logs specifically for WordPress sites. Continue reading »

Video Tutorial: WordPress 101: Customize the Dashboard

In this “WordPress 101” video tutorial, we look at WP’s Admin Dashboard. We’ll see how it works, what it can do, and how to customize and clean it up. Customizing the WordPress Dashboard is a great way to help boost productivity and streamline your experience working in the Admin Area. This video screencast shows you how to be a Dashboard Ninja in around six minutes. Continue reading »

Video Tutorial: WordPress 101: Log into the WP Admin Area

In this “WordPress 101” video tutorial, we’re going to start with the basics and just log into the WordPress Admin Area. It’s exciting stuff to be sure, but there are many reasons why this kind of information makes for a better screencast than a written post. This video screencast is about three minutes and shows how to login to the Admin Area with WordPress version 3.1.2. The general technique should work with any version of WordPress. The video shows several […] Continue reading »

Video Tutorial: WordPress 101: Welcome

Welcome to the first video tutorial in my “WordPress 101” series. It’s simply called “Welcome” and is just a quick introduction to the series, why I’m doing it, about me, and so on. Note that there’s nothing happening on-screen in this screencast – just a simple welcome message ;) Continue reading »

Digging Into WordPress 24-Hour Sale

Want to get Digging Into WordPress for almost half off the regular price? AppSumo is running an exclusive 24-hour sale for the PDF version of DigWP. Recently updated for WordPress 3.1, the book has never been better, providing the tips, tricks, and techniques you need to take WordPress to the next level. Head on over to AppSumo to take advantage of this incredible deal! Continue reading »

10 Characters for Your WordPress Blacklist

Quick WordPress tip for easily and quietly blocking a ton of comment spam. Akismet and other programs are good at catching most spam, but every now and then a bunch of weird, foreign-language spam will sneak past the filters and post live to your site. Here’s a good example of the kind of stuff that’s easy to block: Continue reading »

Digging Into WordPress 3.1 Update

Digging Into WordPress is now updated for WordPress 3.1. This is the book’s 8th major update, with new material for WordPress 3.1 and extensive revisions throughout. Without a doubt, Digging Into WordPress is more focused and current than ever before. Continue reading »

Ajax RSS Feeds with More Sidebar

After implementing Chris Coyier’s More Sidebar technique here at Perishable Press, I needed a good source of “filler” content for the “more” blocks. After experimenting with multiple loops and template tags, the idea of sliding in RSS feeds seemed like a better solution. Replacing some empty space with great content is a win-win for everyone. For example, I display a few of my recent tweets in the sidebar to help fill a lil’ space. It’s a great way to share […] Continue reading »

Display Latest Tweet with Show/Hide Cookies

My previous theme displays my latest tweet at the top of every page. It turned out to be an excellent technique for getting more followers – visitors see the tweet, click the link, and possibly follow me on Twitter. There is even a cookie-powered “Hide” link for uninterested visitors to hide the tweet for awhile. I received quite a few requests for a tutorial on the technique, so here is how to display your latest tweet with show/hide cookies. For […] Continue reading »

WordPress Plugin: User Submitted Posts

User Submitted Posts enables your visitors to submit posts and images from anywhere on your site via template tag or shortcode. User-submitted posts optionally include tags, categories, post titles, and more. You can set submitted posts as draft, publish immediately, or after some number of approved posts. Also enables users to upload multiple images when submitting a post. Everything super-easy to customize via Admin Settings page. Continue reading »

Better Robots.txt Rules for WordPress

Cleaning up my files during the recent redesign, I realized that several years had somehow passed since the last time I even looked at the site’s robots.txt file. I guess that’s a good thing, but with all of the changes to site structure and content, it was time again for a delightful romp through robots.txt. This post summarizes my research and gives you a near-perfect robots file, so you can copy/paste completely “as-is”, or use a template to give you […] Continue reading »

Yoast WP SEO vs All in One SEO

Rambling introduction. While setting things up here at Perishable Press with a second installation of WordPress, I’m trying to keep the number of custom functions and plugins down to a minimum. Seriously, if some feature or function is not absolutely necessary, then it gets kicked to the curb, as they say. So far, I’m using only the following plugins for the second WordPress installation: Continue reading »

Notes on Switching Servers

Switching servers & migrating sites can be a HUGE deal (or not), depending on things like: Number of sites to transfer Size and complexity of sites Who is hosting your sites Experience I recently did this, switching from a 3-year run at ASO to my new home at Media Temple. Total of 24 properties, with WordPress running on around 10 sites. Past experience with VPS servers really had me paranoid about running out of memory. A few years ago, Perishable […] Continue reading »

Importing WordPress Users via CSV Files

I recently did some time in Microsoft Excel, preparing large CSV files for import into WordPress. Each of these CSV files contained data for 1000 WordPress users. Here is a screenshot showing the structure of the file: Conceptually, the idea is simple: import the data to create actual users for a WordPress-powered site. The trick is to clean the data as much as possible to ensure valid username and password information. Once the data is good, importing is easy using […] Continue reading »

Print Version of Digging into WordPress 3.0

Just a note to let everyone know about the new printed editions of Digging into WordPress 3.0. This is the latest version of DiW, featuring revamped core content, new graphics, popouts and asides, as well as a new chapter devoted entirely to WordPress 3.0. It’s certainly packed with WordPress goodness, with nearly 450 pages of practical, hands-on tips, tricks, and information. The PDF is awesome, but seeing it all printed up in full color on quality paper and heavy, glossy […] 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 »
WP Themes In Depth: Build and sell awesome WordPress themes.
Thoughts
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.
The algorithm is way too hypersensitive.
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.