WordPress no longer makes me happy so I’m changing it out for something that does.
How to help visitors and search engines better navigate through your yearly blog archives: Provide links from year to year!
Here is how to structure WordPress’ upload directory for scale. Sticking thousands of image files in one directory can cause performance problems.
PHP GD graphics library (libgd) causes bad artifact-patterns when downsizing images. Makes images bigger and quality lower.
How to set up custom /search URLs for your WordPress installation.
Protect your WordPress install against brute-force password guessing with SSHGuard.
I’d registered my Ctrl.blog domain with Get.blog. That service no longer exists and my domain was transferred to WordPress.com without notice.
How to add URL parameters to track click-throughs from your WordPress RSS feeds in Google Analytics.
Don’t blindly “cut off ports” after the first colon to “convert” a socket address (<IP>:<PORT>) to an IP address.
My review of Textpattern. It has all the traits of a good CMS and WordPress alternative but never quite made the cut.
Simplenote is a great note-taking service, but the apps and service have some serious issues with syncing.
Reduce the bandwidth cost of your WordPress RSS feeds using Feed Deltas.
How to automatically delete the IP address of commenters from your WordPress database.
Take control over your WordPress site’s HTTP Cache-Control header directives with easy-to-use WordPress plugin.
How to move commenter data from cookies to localStorage. Reduces the amount of personal data transmitted with every HTTP request to your servers.
Plugin for automatically archiving everything you publish and link to in the Internet Archive.
Protect your WordPress installation against bots probing for known WordPress core and plugin security vulnerabilities.
Protect yourself against repeated users and bots who don’t get the hint the first couple of times your web server responds with HTTP 403 Forbidden.
I moved from Nikola to WordPress and it wasn’t an easy decision. Here is what motivated me to make the move.