FastTool

Workflow guide · Search metadata

Review a metadata change without pretending to predict Google

Treat title, description, canonical and robots metadata as a releaseable configuration: capture a baseline, compare the candidate, resolve explicit blockers, preserve uncertainty and retain exact artifacts another person can verify.

Guide, not a live analysisExamples use reserved .test fixtures. This page does not fetch Google, inspect Search Console, measure CTR or certify an SEO result.

1. Capture the decision boundary before editing

Baseline

Record the currently approved URL, title, description, canonical, robots directives and favicon reference. Save the exact head bytes or a deployment revision so “before” remains auditable.

Candidate

Use the metadata intended for the same release. Do not combine unrelated page changes; a narrow comparison makes ownership and rollback clearer.

2. Apply blockers before visual judgment

  1. Parse and coverage: reject malformed or oversized input; duplicate attributes, unfinished comments, RCDATA/RAWTEXT wrappers and non-ASCII syntax whitespace cannot silently pass.
  2. Indexing directives: stop when the current robots policy contains noindex unless exclusion is the explicit owner-approved job.
  3. Canonical identity: stop on duplicate or invalid canonical values; review missing, cross-origin or same-origin path differences because they can be intentional.
  4. Content fields: require one title in this FastTool release profile. Missing description is a review state, not a fabricated Google defect.
  5. Preview boundary: treat deterministic width estimates as a review signal, not proof of truncation.

3. Use the verdict as a workflow control

PASS

The supplied metadata is complete and inside the stated local rule set. PASS does not mean Google will use that text or that search performance will improve.

BLOCK

An explicit defect would make the proposed metadata unsafe for the stated release. Correct it, preserve the failed packet if useful, and run again.

INDETERMINATE

Coverage, canonical intent or an approximate boundary needs a human decision. Do not rewrite this state as PASS merely to unblock a release.

Precedence

BLOCK > INDETERMINATE > PASS. A width review never hides a simultaneous noindex or duplicate-canonical blocker.

4. Reproduce the worked fixtures

Run the checked-in baseline against each candidate. Verify fixture bytes before trusting the expected verdict:

shasum -a 256 app/fixtures/snippet-release-gate-v1/*
	node scripts/snippet_release_gate_engine_test.mjs

5. Handoff an evidence pack, not a screenshot alone

Retain analysis JSON, formula-safe diff CSV, desktop and mobile SVG/PNG previews, review Markdown and Receipt v1. Only PASS includes a copy-ready implementation patch; other states include a non-executable remediation plan. Compare every SHA-256 with exact bytes, then verify the receipt independently.

Wrong approaches

Character count as truth

Character length ignores glyph width and does not model Google's title-link or snippet selection.

Visual fit as ranking advice

A visually tidy preview says nothing about relevance, ranking, CTR, indexing or traffic.

Silent canonical rewrite

Automatically changing the canonical to match the current URL can erase intentional consolidation. Require an owner decision.

Pasting a complete private page

Use only the required head metadata. Remove credentials, customer identifiers, preview tokens and unrelated scripts before analysis.

Official sources and limits

The FastTool engine does not crawl, render a Google result, read Search Console, execute pasted HTML, deploy metadata or measure business outcomes. It is independent from Google.

Verify and correct

Run a fresh comparison · Inspect the paired benchmark · Open Receipt Verifier. Report a material error to [email protected] with the URL, fixture hash, observed result and proposed correction.