Quick Tutorial
This tutorial walks you through a complete first session: install, configure, run an audit, and apply a safe metadata update.
Step 1: Install
git clone git@github.com:donnyaw/wp-seo-ops.git
cd wp-seo-ops
bash scripts/install.sh
Output:
Installing wp-seo-ops to ~/.local/bin/seo-ops
Config directory created at ~/.wp-seo-ops/
Installation complete. Run 'seo-ops help' to get started.
Verify:
seo-ops --version
Output:
wp-seo-ops 0.1.0
Step 2: Configure
Point wp-seo-ops to your WordPress site:
seo-ops config init
seo-ops config set default_path /var/www/html
Output:
Config initialized at ~/.wp-seo-ops/config.json
default_path set to /var/www/html
Now commands work without repeating --path:
seo-ops config get default_path
Output:
default_path: /var/www/html
Step 3: Inventory The Site
See what WordPress site and SEO plugin are active:
seo-ops inventory
Output example:
WordPress Site: https://example.com
WordPress Version: 6.4.2
Active SEO Plugin: Yoast SEO (wordpress-seo)
Post Count: 47 posts, 12 pages
Plugin Status: meta commands will use _yoast_wpseo_* keys
This tells you the adapter detected Yoast SEO. All meta commands will map to Yoast meta keys automatically.
Step 4: Run A Full Audit
seo-ops audit full --format=md
Output example:
# SEO Audit Report
Generated: 2024-12-15T10:30:00Z
Site: https://example.com
## Overall Score: 72/100 (GOOD)
## Category Scores
| Category | Score | Weight | Weighted |
|----------|-------|--------|----------|
| Meta Tags | 16/20 | 20% | 16.0 |
| Links | 12/15 | 15% | 12.0 |
| Images | 7/10 | 10% | 7.0 |
| PageSpeed | 11/15 | 15% | 11.0 |
| Schema | 8/10 | 10% | 8.0 |
| Redirects | 10/10 | 10% | 10.0 |
| Sitemap | 10/10 | 10% | 10.0 |
| Robots.txt | 5/5 | 5% | 5.0 |
| Content | 3/5 | 5% | 3.0 |
## Issues Found
- 5 posts missing meta descriptions
- 8 posts with duplicate titles
- 12 images missing alt text
- No schema markup on 3 key pages
- PageSpeed score: 68 (needs improvement)
You now have a baseline for your site.
Step 5: Check A Specific Post
seo-ops meta list 123
Output:
title | My Page Title
description | This is the meta description for my page
canonical | https://example.com/my-page
focus_keyword | target keyword
noindex | 0
Step 6: Preview A Metadata Change (Dry Run)
seo-ops meta set 123 description "Improved meta description for search results" --dry-run
Output:
DRY RUN: Would set description for post 123 to "Improved meta description for search results"
Original value: "This is the meta description for my page"
New value: "Improved meta description for search results"
No database changes were made.
Step 7: Apply The Change
seo-ops meta set 123 description "Improved meta description for search results"
Output:
Post 123: description updated successfully
Step 8: Verify The Change
seo-ops meta get 123 description
Output:
Improved meta description for search results
Step 9: Audit Meta Status After The Change
seo-ops audit meta-check --format=table
Output:
Post ID | Title OK | Desc OK | Keywords OK | Canonical OK | Status
--------|----------|---------|-------------|--------------|-------
123 | OK | OK | OK | OK | Complete
124 | OK | MISSING | OK | OK | Missing desc
125 | OK | OK | OK | OK | Complete
What You Learned
- Install and configure wp-seo-ops
- Discover your WordPress plugin state with
inventory - Run a full audit and read the summary scores
- Preview changes before applying them (
--dry-run) - Apply a single metadata change safely
- Verify and validate after changes
Next step: read Production Playbooks for real-world operating scenarios.