Some jobs are an afternoon in the admin and one line on the command line. These articles give you the line, and explain what it does before you run it on something you care about.
Troubleshooting
Error Establishing a Database Connection: What WordPress Is Actually Telling You
The message means PHP ran, wp-config.php was read, and the connection to MySQL failed. Nothing more. Here is how to tell a wrong password from a downed server from a host that ran out of connections, and what to do about each.
Clean Up WordPress Media Library Without Breaking Pages
An attachment is a row in wp_posts; its files sit somewhere else, and deleting one does not delete the other. What to measure before you start, why "unused" is so hard to prove, and the order of operations that keeps the site up.
Cron Expression Generator: The Five Fields and the OR Rule
The five cron fields, the four special characters, and the rule that catches everyone: day of month and day of week are combined with OR, not AND. Plus why WP-Cron misses schedules, and the two lines that put WordPress on a real timer.
WordPress Media Library Folders: Why There Are None, and What Actually Works
WordPress stores every upload as a post, not as a file in a folder, which is why the media library has no directories to organise. Here is what the uploads folder really is, why moving files by hand breaks images everywhere, and how taxonomy-based folders solve it without touching the disk.
Hashes and Encoding: Getting Back Into Your Own WordPress
The reset mail never arrives and you are locked out of a site you own. The way back in runs through one column: user_pass in wp_users. Here is what is actually stored there, checked line by line against wp-includes/pluggable.php, plus a browser-only tool that builds both the bare MD5 and the modern $wp bcrypt value.
WordPress Replace Image: Swap the File, Keep Every Link
WordPress has no replace function, because an attachment is a path plus a cached description of whatever sits at that path. This is why a re-upload becomes hero-1.jpg, what an SFTP overwrite really leaves behind, and the order of operations that swaps a file without breaking twenty references.
WordPress Duplicate Images: How to Find and Delete Them Safely
Uploading the same file twice gives you a numbered copy, not a match, because core only tests the file name against one directory. Here is how the duplicates get made, three detection passes ranked by what they actually prove, and a deletion order that will not break a live page.
Serialized Data Repair and Search Replace: The Bytes That Break a Migration
One UPDATE with REPLACE() over wp_options is all it takes to kill a WordPress site after a migration, without printing a single error. The reason is a number baked into PHP's serialization format, and the fix is counting bytes.
Bulk Resize Images in WordPress Without Breaking the Library
Regenerating thumbnails and resizing the original are different jobs, and only one of them is irreversible. What the scaled pair actually costs you, how to measure it with read only commands, what a safe bulk resize has to do step by step, and why most sites should fix the upload threshold instead.
WordPress Missed Schedule: Why WP-Cron Is Not a Cron Job
WP-Cron has no timer and no background process. It is a list of due tasks that gets checked only when somebody loads a page, which explains missed post schedules, stalled backups, and every other scheduled task that silently stops.