<!-- Markdown version of https://writrex.com/docs-quality/ — last updated 2026-09-19 -->

# Quality gate and checks

Every generated page is scored and checked before it is allowed to go live. The score can be displayed on every plan; the **enforced gate** and **AI detection shield** are Starter and above.

## How the gate works

Writrex runs **38 checks** on each page: **31 weighted checks** produce a score out of 100, and **7 blocking checks** must pass regardless of score.

| Score | Status |
| --- | --- |
| 80 and above | Good — publish-ready (if no blocking failure) |
| 60–79 | Needs review |
| Below 60 | Weak |

When you choose *Publish* and the enforced gate is on (Starter and above), a page below 80 — or with any blocking failure — is saved as a **draft** instead, with the reasons recorded. Blocking checks and the scrubber always apply on every plan.

## Scored checks

Some checks apply only when the relevant data exists (for example, keyphrase checks need a focus keyphrase).

| Check | Points | What it looks for |
| --- | --- | --- |
| Unique title | 10 | No other page or post uses this title |
| Keyphrase in H1 / title | 10 | Focus keyphrase in the title or H1 |
| Keyphrase in content | 9 | Mentioned naturally in the body |
| Keyphrase in meta description | 6 | Present in the SEO description |
| H1 / title present | 7 | A clear H1 or title |
| Thin content | 12 | At least 700 words |
| Comprehensive coverage | 6 | 1,000+ words |
| Section headings and subheadings | 8 + 5 | H2 sections and H3 detail |
| Internal links | 8 | At least one useful link or CTA link |
| Strong CTA | 8 | An obvious next step |
| FAQ coverage | 7 | FAQs present |
| Specific and complete FAQ answers | 6 + 6 | Practical detail; every part of a question answered |
| Schema present / FAQ structured data | 7 + 5 | Structured data is output, including FAQ schema when FAQs exist |
| Local relevance | 5 | Area and service-area context |
| Local proof / evidence | 7 | Real local facts, research or proof points |
| Trust and experience | 6 | Experience, client or proof language |
| Meta description length | 6 | Roughly 80–170 characters |
| Readable sentences | 6 | Average sentence length 24 words or fewer |
| Location repetition control | 7 | Exact area mentions within your limit |
| No fake-testimonial risk | 8 | No generated testimonials without a real review supplied |
| Unsupported claim check | 7 | Exact percentages, prices, years and results are backed by supplied context |
| Starting price used | 6 | A configured price appears on the page |
| Banned phrase check | 6 | None of your banned or generic phrases |
| Unique internal anchors / no repeated targets | 5 + 4 | Varied anchor text; no duplicate link targets |
| Original headings | 5 | Headings aren't reused from other pages |
| No competing page | 5 | No unresolved overlap with another generated page |
| Doorway similarity guard | 8 | Not too similar to another generated page |

## Blocking checks

These carry no points — they simply must pass.

- **No AI output leak** — no editorial notes, placeholders or assistant commentary

- **All links resolve** — no link to a URL that doesn't exist on your site

- **No unreplaced template tokens** — no stray `{{TOKEN}}`

- **No stray escape artifacts**

- **Meta description is purpose-written** — not cut from the page body

- **No leftover template copy**

- **CTA links are populated** — contact URL and phone set

## Pre-publish checklist and Approve & Publish

Every page, post and product shows a *Writrex — Pre-Publish Checklist* in the editor sidebar, listing each check and whether it passed. Two more panels help: *Research Brief* (when used) and *SEO Plugin Guidance*.

**Approve & Publish** publishes a generated page, records who approved it and when, and requests a Search Console sync when connected. A blocking failure always prevents approval. IndexNow pings fire on publish for generated content when configured.

## Output scrubber

The final safety net between raw AI output and saved content. It removes editorial notes, unfilled placeholders, prompt echoes, assistant preambles and sign-offs, and literal escape sequences. With *Hold for review* on, anything it had to clean is saved as a draft with a notice. It is a safety feature, not a paid one.

## Link integrity validator

Strips invented external URLs and unsafe link output, then re-validates after internal links are injected. Stripping all external links is the safe default.

## AI detection shield (Starter+)

Reduces the patterns that make scaled AI copy read as generic:

- Cleans stock AI phrases and repeated patterns.

- Caps exact area mentions and swaps in nearby terms.

- Works alongside banned phrases, heading variation and section-label options.

**What it is and isn't.** It improves how pages read. It does not guarantee any detector will or won't flag a page, and good prompts, real business facts and human review matter more than any filter. Phrase cleanup is list-based and will always lag new AI stock phrases.

## Naturalness refinement and E-E-A-T enhancer

- **Naturalness refinement** is an optional extra pass that rewrites against the checks that failed. The rewrite is kept only if it doesn't make the page worse. It can add a little generation time.

- **E-E-A-T enhancer** pushes the model to use supplied experience, examples, pricing and case studies. It should not invent proof.

- **Doorway protection** and **campaign variation** encourage unique local angles and section variety across scaled pages.
