WordPress
WP-CLI
WP-CLI is the official command-line tool for WordPress. It installs core, manages plugins and users, runs database operations, and does bulk edits that would take hours in wp-admin.
How it is measured
You run it in the site root as the web user, for example wp plugin list or wp core version. Commands load WordPress itself, so they respect hooks and plugins. wp --info prints the PHP and WP-CLI versions, and wp-cli.yml can define aliases like @staging for SSH targets.
Useful measurable commands include wp db size --tables, wp option list --autoload=on, wp post list --post_type=revision --format=count, and wp core verify-checksums, which compares core files to the official release.
Worked example
An agency moves a site from shop-staging.example.com to shop.example.com. They run wp search-replace 'shop-staging.example.com' 'shop.example.com' --dry-run and the output reports 4,812 replacements across wp_postmeta, wp_options, and wp_posts. The real run handles serialized data safely.
A teammate who ran a plain SQL REPLACE on the options table on another site had broken the serialized strings, and the widgets and theme settings came back empty.
How it differs
WP-CLI drives WordPress from a shell and does not need a login or a browser. The wp-admin screens call the same PHP functions, but the CLI runs without a timeout of the web server and can process thousands of items. It also uses the server's PHP configuration, which may differ from the one your web requests use.
Common errors
Running as root and leaving files owned by root. Using the wrong PHP binary. Running search-replace without a dry run or backup. Forgetting --url on a Multisite network. Running a long command through a web terminal that times out.
In practice
Install it on your host, run wp core verify-checksums and wp plugin list today, and keep the output. Take a wp db export before any bulk change. Add --dry-run to anything that writes.