ContentSignals

Step 1 of 4 on the thread

Signals: what content gives off

A signal is anything that happens to a piece of content and can be counted: someone reads it, passes it on, points to it, judges it or joins in around it. The thread starts here, with signals rather than clicks.

Almost anything online is content

Text, images, video, audio, games, social posts, messages and shopping pages are all content, and each one gives off signals when people meet it. A review, a recommendation or a product listing counts as much as an article. If people can find it, use it and respond to it, it belongs on the thread.

Signals, not clicks

A click tells you that someone arrived. A signal tells you what they did once they were there: whether they read to the end, passed it on, cited it, rated it or came back for more. ContentSignals counts how people consume and respond to content, because that is where quality shows. A page that collects clicks and nothing else gives off very little.

The kinds of signal

Signals fall into a few families. Most of them already have a name in schema.org, the open vocabulary that lets a page describe itself to search engines; an InteractionCounter there records the type of action and how many times it happened, attached to a page through the interactionStatistic property.⁠[1]

Kinds of signal, with examples and their names in open vocabulary
KindExamplesIn open vocabulary
AttentionReads, views, listens, time spentWatchAction, ListenAction counters⁠[1]
SpreadShares, re-posts, re-publishing on other channelsShareAction counters
ReferenceCitations and links from other workThe citation property⁠[2]
JudgementRatings, reviews, likes and dislikesAggregateRating;⁠[3] LikeAction, DislikeAction
CommunityComments, follows, votes, contests, quizzes, contributionsCommentAction, FollowAction counters
DiscoveryRanking, the search words that lead to a piece, the path someone takes to itKept by search engines and sites themselves
PreferenceWhat the owner allows: search, AI input, AI trainingThe Content-Signal line in robots.txt⁠[4]

The first six describe what people do. The last one is different: it is what the owner of the content says about it, and it travels with the content wherever the other signals go.

One source, one authority

Signals only add up when they land in one place. When the same piece is copied to other sites without permission, its signals split between the copies, and none of them carries its full weight. Original, never-before-published content keeps its signals together, which is why ContentSignals treats one source as the authority for each piece and sets duplicates aside.

The web already has a way to say this. A page names its preferred address with the canonical link relation, which marks one address "as preferred over resources with duplicative content".⁠[5]

Counts, totals and a member's own data

Measuring a piece of content works from counts and totals: how often it was read, shared and cited. Where signals feed patterns beyond a member's own use, they are combined above a minimum group size.

A member's own data is handled as Swomi's Privacy Policy sets out.

The preferences site owners publish

For more than thirty years, robots.txt has told crawlers which parts of a site they may visit. The method was first defined in 1994, and the IETF published it as a standard, RFC 9309, in September 2022.⁠[6] Its rules, in the standard's own words, "are not a form of access authorization".⁠[6]

On 24 September 2025 Cloudflare published its Content Signals Policy, which adds a line to robots.txt saying how content may be used once it has been accessed. It names three uses: search, ai-input and ai-train. A yes allows a use, a no withholds it, and a signal left out neither grants nor restricts it.⁠[4] Cloudflare's own example reads:

Content-Signal: search=yes, ai-train=no

These values express preferences; they are not technical barriers against scraping.⁠[4] ContentSignals reads them as signals in their own right. The owner's stated terms stay attached to the content as it moves into the graph, so a piece's value is always read together with what its owner allows.

References

Numbered in the order they are first cited on this page; each entry links back to the places that cite it. Every source was opened on 4 November 2026.

  1. ↑ a b InteractionCounter. Schema.org.
  2. ↑ citation. Schema.org.
  3. ↑ AggregateRating. Schema.org.
  4. ↑ a b c Giving users choice with Cloudflare's new Content Signals Policy. The Cloudflare Blog, 24 September 2025.
  5. ↑ RFC 6596: The Canonical Link Relation. RFC Editor (IETF), April 2012.
  6. ↑ a b RFC 9309: Robots Exclusion Protocol. RFC Editor (IETF), Proposed Standard, September 2022.

Further reading

Useful background. These sources are not cited for any statement on this page.