Course 06 · 7 lessons

Technical and troubleshooting

Something stopped you? Every message this plugin shows, explained.

6.1 The technical screen

Redirects, 404s, sitemaps and the two server files, on one screen.

One page for the parts of a site that decide what a crawler can reach: redirects, 404s, sitemaps, llms.txt, the two server files, and the switches.

Nothing acts on a bare click. Every state-changing form carries a permission check and a nonce, and the three that cannot be undone — writing .htaccess, importing a file of rules, clearing the 404 log — need a second, explicit signal.

Every panel says what it will do before it does it. The .htaccess editor states the risk in the words a support ticket would use, and the robots editor tells you whether this site has a physical file or a virtual one, because that answer changes what the box in front of you even is.

If a physical robots.txt exists on the server, WordPress cannot serve a dynamic one over it. That is what physical_robots means, and the fix is to edit the file itself here.

6.2 Drills

Two guided passes over your internal links, measured from your content.

Two guided flows, both local. The pillar drill finds posts that mention a pillar page's keywords without linking to it. The orphan drill finds published posts that nothing links to.

Progress here is measured from your content, not ticked off. Delete the link again and the drill regresses, because the drill is describing the site rather than describing your afternoon.

Every edit is preview-then-apply, snapshotted first, and undoable one at a time. A post edited since the link was added refuses to undo rather than overwriting the newer writing — edit that post directly instead.

6.3 Performance

Counts and readings from your own server. No grade, no composite.

This is not a second audit engine. It counts files and reads registries on this server, and every figure says how it was obtained.

There is no composite, no letter grade and no 0–100 anything, because a number nobody can check is worse than no number.

Asset figures come from a real front-end request or they do not exist. Reading the admin-side registry does not describe what a visitor downloads, so until a capture lands, every asset row says it could not be checked — in words.

Each win acts through a filter at render time. Nothing here writes to a theme file, .htaccess or wp-config.php, and switching one off produces byte-identical output to never having switched it on.

6.4 Modules, and what off means

Turn a feature off and know exactly what stops running.

Every separable feature is a module with a switch. Enabled is the default, so a site that never opens this screen behaves exactly as it did.

Off is structural, not cosmetic. A module that is off registers no hooks and no scheduled jobs, and produces no output anywhere — admin or public. It is not hidden; it is not running.

Its settings are kept. Turning a module back on finds everything you had configured, which is why turning one off to test something is cheap.

Turning a module off also clears any scheduled job it created. Otherwise "off" would mean off on screen and still running on a timer.

6.5 Compatibility with other plugins

Run beside another SEO plugin without both writing the same tag.

The compatibility check looks at three things: other active SEO plugins that also write titles, canonicals or schema; the PHP version; and the PHP extensions this plugin relies on.

Findings are stated plainly and nothing is changed for you. Where two plugins overlap, a takeover control lets you decide which one serves — per kind, not all at once.

Until you take a kind over, ours stays silent for that kind. Silence is the safe default when two plugins want the same tag, because the alternative is a page that emits both.

6.6 Refusals from the platform

Every message the platform can send back, and what to do next.

When a request to the platform is refused, the screen shows a sentence, and the code behind that sentence is in the address bar. Codes from this group can also appear with a prefix naming what did not happen: run_ for an audit, scorecard_ for a scorecard, checkout_ and portal_ for billing.

So run_domain_not_bound reads as "The audit was not started" followed by the sentence for domain_not_bound below.

This list is generated from the same table the screens read, so it cannot drift away from what you were actually shown. Every entry names the cause and the next action.

This lesson also lists every reason code the plugin can show, read from the same table the screens use. Open the University inside the plugin for the live list.

6.7 Refusals from this site

Every message this site can show you, and the fix for each.

These refusals are decided here, on this site, before anything is sent anywhere. Most of them are a guard doing its job: a snapshot that could not be written, a preview that no longer matches the page, a rule that would have created a loop.

Each one is shown on the screen that produced it, with the code in the address bar. The list below is the whole set, generated from the same table those screens read.

It is long on purpose: a refusal you can look up is a refusal you can act on. Use the search box at the top of the University to jump straight to a code.

This lesson also lists every reason code the plugin can show, read from the same table the screens use. Open the University inside the plugin for the live list.