Docs
Quality gates: how uprank scores every article
uprank scores every draft from 0 to 100 on 11 quality dimensions and will not publish it unless it clears 13 hard gates: 6 minimum scores and 7 integrity checks, including no invented citations and no unsupported high-risk claims. The overall score is a weighted mean (risk counts inverted); it is shown for comparison but never overrides a failed gate. Every article is checked against these thresholds; workspaces and campaigns can’t change them.
Updated
11 scored dimensions
Each is scored 0–100. Weights set the overall score; a gate blocks publishing on its own.
| Dimension | Weight | Gate | What it measures |
|---|---|---|---|
| Evidence | 18% | ≥ 85 | Claims are backed by credible, attributed sources. |
| Information gain | 14% | ≥ 70 | Adds something not already covered by top results. |
| Practical value | 14% | ≥ 75 | Actionable for the reader — steps, examples, specifics. |
| Brand fit | 12% | ≥ 80 | Matches the brand voice, positioning, and proof points. |
| Search intent | 10% | — | Answers what the searcher actually wants. |
| Readability | 8% | ≥ 75 | Clear structure and prose for the target audience. |
| Freshness | 6% | — | Time-sensitive facts are current and within window. |
| External sources | 6% | — | Cites authoritative outside references. |
| Risk | 5% | ≤ 20 | Lower is better — legal, safety, and accuracy exposure. |
| Internal links | 4% | — | Links to relevant own-site content. |
| Media | 3% | — | Has licensed, relevant imagery or diagrams. |
7 integrity checks
Pass/fail checks that block publishing whatever the scores say.
No invented citations
Every citation must point to a source in the article’s Evidence Pack, gathered before drafting.
No broken required links
Every cited link is checked each time the article is scored, before it can be published. One that returns not found (404 or 410), does not resolve, refuses the connection, times out twice or points to a private address blocks the article. Pages that refuse automated checks (401, 403, 429) or return server errors are not counted as broken.
High-risk claims are supported
Each high-risk claim is checked against its source; any unsupported or contradicted one blocks the article.
Time-sensitive claims are fresh
Claims that depend on dates, prices or versions must fall inside their freshness window.
At least one information-gain element
For example a decision framework, worked example, checklist, comparison, template or labelled research synthesis. First-hand expertise is never faked.
Licensed images only
Every external image carries license metadata.
Unique title
No other article on the same site may use the same title (ignoring case and extra spaces), checked each time the article is scored. Archived and failed articles don’t count. Slugs are made unique automatically.
Where the gates apply
- Every draft is scored after the claim check. The Quality tab shows each blocker with its threshold and actual value, plus recommendations to fix it.
- A score goes stale when the article changes, so an edited version must be re-scored before it can be published.
- Agents get the same rules over MCP:
article_scoreevaluates the gates, andpublication_publishrefuses a version that has not passed them.
More in the FAQ and the agent setup guides. Related guides: how to fact-check AI content, what an AI writer that doesn't hallucinate sources has to do, and how drafts reach Strapi.
Questions about the quality gates
- What is a quality gate for AI-written articles?
- A quality gate is a hard rule an article must pass before it can be published. In uprank it is either a score threshold on one dimension or a pass/fail integrity check, such as no invented citations. Failing any one gate blocks the article from being approved, pushed to your CMS or published, whatever its overall score. uprank enforces 13 gates: 6 score gates and 7 integrity checks.
- What score does an article need before uprank will publish it?
- uprank has no minimum overall score. An article must clear every gate instead: Evidence ≥ 85, Information gain ≥ 70, Practical value ≥ 75, Brand fit ≥ 80, Readability ≥ 75 and Risk ≤ 20, plus all 7 integrity checks. Missing any one of them blocks publishing, and the other 5 dimensions, which have no score gate, only feed the overall score.
- Can a high overall score make up for a failed gate?
- No. In uprank the overall score is a weighted mean shown for comparison, and it never overrides a failed gate. An article that scores 84 on Evidence, or cites a source that is not in its Evidence Pack, stays blocked however well it scores everywhere else, until that gate passes.
- How is the overall quality score calculated?
- uprank’s overall score is a weighted mean of the 11 dimension scores, rounded to a whole number from 0 to 100. Weights, heaviest first: Evidence 18%, Information gain 14%, Practical value 14%, Brand fit 12%, Search intent 10%, Readability 8%, Freshness 6%, External sources 6%, Risk 5%, Internal links 4%, Media 3%. Risk counts as 100 minus the risk score, so a low risk score raises the overall.
- What happens to the score when an article is edited?
- Saving an edit in uprank creates a new version and marks the article’s existing quality assessments stale. The new version cannot be approved, pushed to your CMS or published until it is scored again. article_revise over MCP does that in one step: it writes a revised version, extracts and verifies its claims against their sources, then scores it. A stale score never counts as a pass.
- Can the quality gate thresholds be changed?
- No. Every article in every uprank workspace and campaign is checked against the same thresholds: Evidence ≥ 85, Information gain ≥ 70, Practical value ≥ 75, Brand fit ≥ 80, Readability ≥ 75 and Risk ≤ 20, plus the 7 integrity checks. Neither the app nor the MCP server has a setting that tightens, relaxes or switches off a gate.
- Do AI agents have to pass the same quality gates?
- Yes. Agents connected to uprank over MCP face the same thresholds. article_score evaluates every gate, and publication_publish refuses a version whose current assessment has not passed. publication_create_draft only records a draft request and pushes nothing to the CMS; the Strapi draft push, made from the app, is blocked until the version passes.