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 ID | RG-SCJ-172 |
|---|---|
| Family | Structured Data — JSON-LD |
| Measurement | Binary presence (0 / 1) |
| Measured zone | Raw 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").
| Value | Meaning |
|---|---|
| 1 | A NewsArticle @type string was found in the raw HTML. |
| 0 | No 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.