Value-Add Score — The Composite That Reads Seven Other Rules
content/value-add is a second-pass composite that reads seven other rules' findings — originality, freshness, citable facts, the four-category E-E-A-T count, translation, cliche reuse, and Wikipedia paraphrase — weights each at one-seventh, averages them into a single 0-to-1 score, and fires an error below 50% or a critical below 30%, the synthesis SpamBrain has rewarded since the March 5, 2024 update.
Test your site for value-add score — the composite that reads seven other rules
What it detects
content/value-add does not parse a page. It runs after every other rule has finished and reads their findings, turning seven separate originality checks into one number. Each signal is scored 0, 0.5, or 1 for the page, and the rule takes the plain average — every signal weighted at one-seventh, about 14%.
The seven signals are: originality (1 unless content/regurgitated-content fired here, then 0), freshness (from aeo/freshness-signals — 1 if silent, 0.5 at warning, 0 otherwise), citable facts (from aeo/citable-facts — 1 if silent, 0.5 at info or warning, 0 otherwise), E-E-A-T (a four-category count — 1 at four signals, 0.5 at two or three, 0 below two), translation (0 if content/translation-no-op named this page, else 1), cliche reuse (0 if content/common-phrase-reuse fired, else 1), and Wikipedia paraphrase (0 if content/wikipedia-paraphrase fired, else 1).
The average is the value-add score. Below 50% the rule fires one finding per page at error severity; below 30% it escalates that finding to critical. Confidence is fixed at medium.
Why it matters
Any one of the seven underlying rules can fire on a page that is basically fine. A freshness warning alone is not a verdict. A single missing E-E-A-T category is not a verdict. content/value-add exists because the verdict lives in the pattern, not the part: a page that is regurgitated AND stale AND fact-thin AND anonymous is not seven small problems, it is one worthless page wearing seven labels.
This is why the rule is a synthesis and not a detector. It owns no new logic and looks at no HTML. It simply asks, across the seven independent originality proxies the suite already computed, how many does this page pass? A page scoring below 50% has failed the majority of them, which is the engine's structural definition of a page carrying no proprietary value-add — nothing original, current, sourced, attributed, or freshly written that a competitor's database export would not also contain.
Because it averages, a single weak signal almost never sinks a page. It takes three or four failing signals to cross the 50% line, so the finding lands only when the deficit is broad. That makes it the rule worth reading first: the highest-level summary of whether a URL earns its slot.
A page that fails
/oolong/tie-guan-yin on a specialty-tea importer's catalog. The tasting copy was paraphrased from a supplier sheet (content/regurgitated-content fired), there is no published or updated date (freshness scored 0), no harvest figures or steeping parameters a buyer could cite (citable-facts scored 0), and no byline, about link, or sources block (E-E-A-T scored 0). Four of seven signals sit at zero, the average lands at 43%, and content/value-add fires an error: 'value-add score 43% — the page lacks proprietary value-add and is demoted by SpamBrain.'
A page that passes
The same oolong page, rebuilt with material that exists nowhere else: a first-flush harvest window of 9 days in late April, a single-estate terroir note naming the 1,200-metre Anxi slope, an exact 90-second gaiwan steeping spec at 95 degrees, and a 'Tasted and updated 6 weeks ago by our head buyer' line that resolves both the date and the E-E-A-T author categories. Originality, freshness, facts, and E-E-A-T all climb to 1, the average clears 80%, and the rule stays silent because five of seven signals now pass cleanly.
How to fix it
- 1Lift originality first — rewrite any copy that tripped regurgitated-content into a page-specific tasting note, because that signal is binary and recovering it adds a full one-seventh to the score.
- 2Add a real published or updated date so the freshness signal climbs from 0 toward 1 — an undated page scores zero on a signal that costs one line of markup to fix.
- 3Bind citable facts a buyer can quote — a harvest window, a steeping temperature, an estate elevation — so the citable-facts signal stops scoring zero on a page of pure prose.
- 4Reach four E-E-A-T categories — a byline, an about link, a date, and a sources block — since two or three only earns 0.5 while four earns the full point.
- 5Clear cliche reuse and any translation-no-op flag — both are binary signals, and a page padded with common phrases or a hollow auto-translation each forfeits a full one-seventh.
- 6Re-run the audit after fixing the worst two signals — because the score is an average, recovering two zeros to ones usually moves a 43% page past the 50% floor in one pass.
SpamBrain context
SpamBrain does not score a tea page on whether its byline tag is present or its date is fresh in isolation. It asks the higher-order question the March 5, 2024 scaled-content-abuse policy named directly: does this page exist 'with little unique value'? That clause is a judgment about the whole page, not any single attribute — and a single-rule auditor cannot mirror it, because no one rule carries enough evidence to make that call.
content/value-add (in @pseolint/core, MIT-licensed at github.com/ouranos-labs/pseolint) is the suite's answer to that mismatch. It is the only second-pass rule that reads other findings instead of HTML, and it deliberately weights its seven inputs equally so that no single proprietary signal dominates the verdict. A page is demoted not for one missing marker but for a broad absence of originality, freshness, sourcing, and attribution all at once — the same convergence Google's quality systems read as a page made to fill a template rather than to help a reader.
The rule fires at error below 50% and critical below 30% precisely because crossing those lines requires failing a majority of independent checks, which is as close as an offline audit gets to the holistic 'little unique value' call.
Frequently asked questions
- How can a rule fire without ever looking at the page?
- content/value-add runs in a second pass, after every other rule has already inspected the HTML. It reads their findings, not the markup. For each page it checks seven results — did regurgitated-content fire, what severity did freshness-signals reach, how many E-E-A-T categories were counted, and so on — scores each 0, 0.5, or 1, and averages them. The 'detection' already happened in the rules it reads; this rule only synthesises their verdicts into one number, which is why it owns no parsing logic of its own.
- What exactly are the seven signals and how are they weighted?
- Originality (from regurgitated-content), freshness (from aeo/freshness-signals), citable facts (from aeo/citable-facts), an E-E-A-T four-category count, translation (from translation-no-op), cliche reuse (from common-phrase-reuse), and Wikipedia paraphrase (from wikipedia-paraphrase). Each is weighted equally at one-seventh, roughly 14%, and the rule takes the plain average of all seven. No signal counts more than another, which is deliberate: the rule is measuring breadth of failure, not the severity of any single weakness.
- Why does the threshold sit at 50% rather than flagging any single low signal?
- Because a single weak signal is not evidence a page is worthless. A page can be slightly stale or missing one E-E-A-T category and still be genuinely useful, so firing on one zero would be noise. By requiring the average to fall below 50%, the rule only flags pages that have failed the majority of seven independent originality checks. That broad deficit is the engine's structural stand-in for the 'little unique value' judgment, and it takes three or four failing signals to get there.
- When does the finding escalate from error to critical?
- The rule fires at error severity for any page scoring below 50%, and escalates the same single finding to critical when the score drops below 30%. A sub-30% page has failed roughly five of the seven signals — it is not merely thin, it is regurgitated, stale, unsourced, anonymous, and cliched at the same time. Confidence stays fixed at medium across both bands, because the rule is reading proxies for value rather than measuring value directly, and it is honest about that distinction.
- Our single-estate tea catalog tripped value-add on a whole varietal range — where do we start?
- Read which signals scored zero, because the rule reports the composite breakdown. A typical tea-importer failure is four zeros at once: supplier-sheet copy tripping originality, no harvest date tripping freshness, no steeping or terroir figures tripping citable-facts, and an anonymous template tripping E-E-A-T. Fix the two cheapest binary signals first — rewrite the paraphrased tasting note and add a real 'tasted 6 weeks ago' date — and a 43% page usually clears the 50% floor in one pass, because each recovered zero adds a full one-seventh. Then bind a first-flush harvest window and a 90-second gaiwan steeping spec per varietal so the facts signal climbs too. One importer that reworked 26% of its oolong range this way moved the whole cluster from critical to clean within a 12 day recrawl, because the same template fix lifted every page's score at once.
Related rules
- content/unique-valueUnique Valuecontent/unique-value counts the distinct words on each page that appear on no other page in the audit, and fires an error below a 100-word floor — the page-specific-vocabulary test Google's scaled-content-abuse policy has applied since March 5, 2024 when it asks whether a URL adds anything genuinely new.Read →
- content/eeat-signalsE-E-A-T Signalscontent/eeat-signals checks four trust categories on every page — an about-page link, an author byline, a published date, and a sources or references marker — then fires at info severity for any URL carrying fewer than 2 of the 4, the anonymity pattern Google's E-E-A-T framework has weighed against pages since its December 2022 Quality Rater Guidelines update.Read →
- content/regurgitated-contentRegurgitated Contentcontent/regurgitated-content is a low-confidence v1 heuristic that fires a warning when a page shows at least 2 of 5 Google-Places-regurgitation tells — Powered by Google attribution, googleusercontent images over 60%, a Static Maps embed, Places API JavaScript, or an aggregator footprint of 5 or more unsigned star-rating blocks.Read →
Want to know whether this rule actually fires on your site?
Run pseolint against your sitemap. The audit is free, takes about a minute, and returns a per-URL list of every rule that fired — including this one — with the exact metric values so you can prioritise the fix queue.