Most search problems announce themselves in the head of a page: a title that runs past the snippet, a missing canonical, a noindex left over from staging, a social image that was never added. Opening the page in a browser and reading the source works for one URL. A project with a template, a plugin and three languages needs a repeatable check.
The page meta endpoint reads one page and returns what a crawler and a social network see: title, description, canonical, robots, language, viewport, hreflang pairs, Open Graph and Twitter tags, JSON-LD types, headings, images and links. It runs one request and parses the HTML on the API side.
Length, with the preview
Character counts alone are not enough, because search engines cut at a pixel width rather than a fixed number. The response returns both counts and a preview trimmed at 60 and 160 characters on a word boundary. That preview shows the part a reader would actually see, which is where an over-long title stops being abstract.
// response excerpt
"serp": {
"title_chars": 74,
"description_chars": 182,
"title_over_limit": true,
"title_preview": "How to audit the head of a page and every meta tag ..."
}
The endpoint does not promise a pixel measurement. It gives a consistent character check that catches the common case and leaves the exact rendering to the tool that a team already trusts.
Beyond the meta tags
Canonical and hreflang matter on sites with translations, filters or pagination. The endpoint returns the canonical link and a list of hreflang pairs, so a missing x-default or a self-referencing alternate is visible in the same answer.
Headings are counted, with the text of the first H1. Zero H1 is a defect on most templates, and several H1 on one page usually means a heading level was used for styling in the body content.
JSON-LD is validated for syntax and the @type values are collected, including items inside @graph. A single broken JSON-LD block is worse than a missing one: it removes every rich result on the page and leaves no visible symptom.
Images and links
Images are counted with three separate defects: no alt attribute, an empty alt used for decoration, and missing width or height. The last one is a layout stability issue rather than an accessibility one, and it appears in pages built without a design system.
Links are split into internal and external, and nofollow is counted. That is enough to notice a template that accidentally marks every link nofollow, which happens after a plugin change more often than an audit would suggest.
What the issues list is for
The issues array names the concrete problems, in the language of the fix: missing title, over-long description, no canonical, robots meta disables indexing, no H1, no language attribute, no viewport, no og:image, images without alt, broken JSON-LD.
A CI check can read the list and fail a build. A weekly review can read it without parsing the rest of the payload.
Limits and privacy
Redirects are followed and the HTML limit is 2 MB. Only the page the client asked about is fetched: the endpoint does not crawl links, does not run scripts and does not load assets. Answers are cached for an hour, which is long enough to make a repeated report cheap and short enough for a deployment check.
Private and reserved hosts are refused, so the endpoint cannot be used to read an internal page.
The catalogue page has the parameter table and a live example: page meta API.