Has JSON-LD News Article

This factor returns 1 when RankGear finds an @type of NewsArticle in a page’s raw HTML, and 0 when it does not. It is a text-pattern check, not a validator — a match confirms the string is present, not that a well-formed JSON-LD graph surrounds it.

Factor IDRG-SCJ-172
FamilyStructured Data — JSON-LD
MeasurementBinary presence (0 / 1)
Measured zoneRaw rendered HTML

What it measures

This factor reports whether RankGear finds an @type value of NewsArticle in the page source. In Schema.org terms, NewsArticle marks a page as a news story — a dated, authored, published report — and it is the schema type that feeds Google News surfaces and the Top Stories carousel. The factor answers a single yes/no question: is that type declared anywhere in the raw HTML of this page?

How RankGear measures it

RankGear searches the raw HTML for the string "@type": "NewsArticle", allowing flexible whitespace around the colon and inside the quotes, and optionally allowing a schema: prefix on the type. Matching is case-insensitive, so newsarticle and NewsArticle both satisfy it. A single match sets the factor to 1; no match leaves it at 0.

What RankGear looks for

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "NewsArticle",
  "headline": "...",
  "datePublished": "...",
  "author": { "@type": "Person", "name": "..." }
}
</script>

The detector keys on the "@type": "NewsArticle" token, with tolerance for extra spaces and an optional schema: prefix (e.g. "@type": "schema:NewsArticle").

ValueMeaning
1A NewsArticle @type string was found in the raw HTML.
0No NewsArticle @type string was found.

How to optimize it

Use NewsArticle only for a genuine news article — one with an accurate headline, publication and modification dates, named authorship, a publisher, a section, images, and an article body. Ensure every property reflects content a reader can verify on the page itself. This factor confirms only that the type string exists; it does not check that the surrounding markup is complete or truthful, so treat a 1 as a starting point and validate the full graph separately. Do not add the type to pages that are not news articles simply to flip the value — a mismatched type invites structured-data penalties rather than eligibility.

Important considerations

  • The detector pattern-matches source text instead of validating a JSON-LD graph, so a 1 means the string is present, not that the structured data is valid.
  • A matching string that appears outside a valid JSON-LD block — in a comment, an example, or an unrelated script — can still produce a 1.
  • Capitalization differences do not affect detection; the match is case-insensitive.
  • Validate the complete structured data independently (for example with Google’s Rich Results Test) before relying on this factor as evidence of eligibility.
  • This is a correlation-based prioritization signal within a measured result set. It relates to position; it does not by itself cause a page to rank or guarantee any placement.

Related factors

Part of the Factors reference · how RankGear measures · glossary.