The Signal 500

How we measure and score 500 sources

Every source in the Signal 500 is loaded in a real browser, photographed, and scored on eight dimensions. Two of those are measurements of what the page did. Six are judgement, one of them a vision model’s. This page says which is which, and how each one is arrived at.

In one paragraph: the Signal 500 is a published ranking of 500 news and expert sources, maintained by FeedsBar since 2026. Each source is scored 0–10 on eight dimensions (editorial quality, ad restraint, reach, signal-to-noise, access, cadence, design and independence), with the weights public and the per-source measurements (ad entities, third parties, layout shift, interstitials) taken by loading each site in a real browser with the cookie banner accepted. Rankings and methodology are free to read and cite at feeds.bar/signal-500.

What we do to every source

  1. Load the publication’s homepage in a real browser: not a fetch of the HTML, because most of what an ad-heavy page brings in arrives after the first response.
  2. Accept the cookie banner. This is the step that decides whether the exercise is honest. Consent changes measured ad load by up to twenty-fold and reverses the ranking: one major news site loads two ad entities with the banner up and forty-three after accepting. A source whose banner cannot be cleared is flagged, never scored.
  3. Count the distinct ad entities and third-party domains contacted, record layout shift (CLS) and how much of the first screen an interstitial covers, and take a full screenshot.
  4. Look up reach as a Tranco rank for the registrable domain. Where the source is a section or a subdomain rather than the site itself, the rank is treated as an upper bound inherited from the parent, and the page says so.

A bot wall answers HTTP 200 and loads almost nothing, so a challenge page would score a perfect ad number. Those are detected and excluded rather than counted.

Measured

Derived from what the page actually did when we loaded it. The raw numbers behind these are printed on each source’s own page, with the date they were taken.

Ad restraint
Ad entities counted on the homepage after accepting the cookie banner
Reach
Tranco rank for the registrable domain, capped where the feed is a section

Judged

Our opinion, applied consistently across the set and stated as opinion. These are not measurements and we do not present them as ones.

Design
How calm the page looks — clutter, hierarchy, typography, whitespace — judged by a vision model from our screenshot and corroborated by measured reading comfort. Recalibrated 2026-08-31 so the catalogue median sits at 6; a plain page that reads well scores high here, by design
Editorial
Curated judgement of the writing, not a measurement
Signal-to-noise
How much of the feed is the thing you subscribed for
Access
How much is readable without a paywall or a login
Cadence
Whether it publishes often enough to be worth a slot
Independence
Ownership, and how much it constrains what gets covered

How the score is built

Each dimension is scored 0–10 and weighted into a single score. Editorial carries the most weight, ad restraint and reach the next; the remaining five weigh equally. The weights are published here rather than described, so the arithmetic can be checked against any source’s own page.

Access: weight 1 (judged)Access1JUDGEDAd restraint: weight 1 (measured)Ad restraint1MEASUREDCadence: weight 1 (judged)Cadence1JUDGEDDesign: weight 1 (judged)Design1JUDGEDEditorial: weight 1 (judged)Editorial1JUDGEDIndependence: weight 1 (judged)Independence1JUDGEDReach: weight 1 (measured)Reach1MEASUREDSignal-to-noise: weight 1 (judged)Signal-to-noise1JUDGED

If yours is wrong

Measurements are of one page load at one moment, and sites change. If a number on your publication’s page looks wrong, or the screenshot has aged out of date, tell us and we will re-measure it. The capture date is printed on every source page precisely so that claim can be checked rather than taken on trust.

Back to the Signal 500 →