Has JSON-LD Offer

This factor reports whether RankGear finds an Offer @type in a page’s raw HTML source. It returns a simple 1 (found) or 0 (not found). The important caveat: it pattern-matches the source text rather than validating a real JSON-LD graph, so a matching string can register even when the structured data itself is invalid.

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

What it measures

The factor reports whether RankGear finds an @type value of Offer in the page’s raw source. In Schema.org terms, an Offer describes the terms under which a product or service is offered — price, currency, availability, condition, seller, and validity. This is a presence check on that markup, not an assessment of its quality or correctness.

How RankGear measures it

RankGear searches the raw HTML for "@type": "Offer", tolerating flexible whitespace around the pattern and optionally allowing a schema: prefix. Matching is case-insensitive, so capitalization differences do not change the result. If the pattern is found the factor is 1; otherwise it is 0.

What RankGear looks for

"@type": "Offer"
"@type":"schema:Offer"   <!-- schema: prefix and tight whitespace also match -->
ValueMeaning
1An Offer @type string was found in the raw source.
0No Offer @type string was found.

How to optimize it

Use Offer only for a genuine, current offer with an accurate item, seller, price, currency, availability, condition, eligibility, and validity dates. Every property should reflect content a user can verify on the page itself. Because this factor only checks for the presence of the markup, treat a value of 1 as confirmation that the string exists — not as proof that the offer data is complete or valid. Adding Offer markup to a page that has no real offer is not the goal.

Important considerations

  • The detector pattern-matches source text rather than validating a full JSON-LD graph, so it confirms presence of a string, not correctness of the structured data.
  • A matching string that sits outside valid JSON-LD — for example in a code sample, comment, or unrelated script — can still produce a 1.
  • Capitalization differences do not affect detection; matching is case-insensitive.
  • Validate the complete structured data independently (for example with a schema validator) before relying on it.
  • This is a prioritization signal that relates to patterns in a measured result set; it does not on its own make a page rank, and correlation is not causation.

Related factors

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