Skip to main content
One request returns one JSON document. This page walks it top to bottom.

Top level

When truncated is true, metadata later in the document may be missing. In practice everything relevant lives in <head>, so this is rare — but it explains a suspiciously empty report on an enormous page.

score

A number from 0 to 100, weighted by consequence rather than by counting tags. A missing og:image costs ten points; a missing og:locale costs two. That is deliberate: one of them decides whether anybody clicks your link, and the other is a nicety. Several issues carry no weight at all and are advice rather than deductions — the issue reference marks which. The score is not a standard. It is our weighting of what actually costs you traffic.

metadata

Everything found on the page, unresolved and unmerged — what is literally there.
null means the tag is absent. An empty string means the tag is present but empty — a real and different problem, which is why empty_title is its own issue code.
Character references are decoded. A page whose title is Ben &amp; Jerry&#39;s reports Ben & Jerry's, because that is what a person sees. Length rules count the decoded string.

image

Present only when the page declares a social image, and only when that image could be fetched:
Measuring the file rather than trusting the page is what makes image_dimensions_mismatch possible: the page declares one size, the file is another, and platforms that trust the declaration lay the card out wrongly. accessible: false means the URL was declared but could not be fetched — a 404, a redirect loop, or a host that refuses us. To a crawler that is the same as having no image at all.

previews

How the page renders on each of eight platforms:
Each carries the resolved title, description and image that platform would use, the source each value came from, and whether the result is approximate. Full detail.

issues

An array, ordered by how much each one matters:
code is stable and safe to branch on. title and description are prose and may be reworded — do not match on them. fix is null where no generic snippet could be right: a title that is too short cannot be fixed by a string we invent. Every code is listed in the issue reference.

redirects

The chain, when there was one:
Each hop is the URL requested and the status it returned. The last entry is final_url and its final status. Worth reading. Metadata is taken from final_url, so a page that redirects somewhere unexpected explains a report that looks like it belongs to a different site. Up to five redirects are followed before the request is refused.