Meta, Open Graph & JSON-LD inspector
Paste a page, or just its head, and read everything it declares the way each standard reads it: the title and the character encoding by the HTML Standard, every meta element classified (the standard's own names, the WHATWG MetaExtensions registry, the pragma directives, the non-conforming ones), every link element with its rel tokens (canonical per RFC 6596, hreflang alternates, icons, manifest), the Open Graph object with its arrays and structured properties per ogp.me, the twitter:* card properties as registered, the robots and googlebot rules by Google's published list, the viewport, and every JSON-LD block parsed and outlined per JSON-LD 1.1. Forty-six findings, each quoting the sentence it rests on. Parsed inertly with parse5; nothing is fetched or executed.
Web & HTTP17 meta elements, 5 link elements, 10 Open Graph properties, 2 twitter:* properties, one JSON-LD block. No errors, no warnings, 2 notes, 6 things in order.
The basics
- DOCTYPE and mode
- present no-quirks
- lang
en- title
- Example Books, used books for children 38 characters
- charset
utf-8meta charset, ends at byte 94- description
- A bookshop of used children's books, with a catalogue you can search by age and author. 87 characters
- canonical
https://example.com/books/- viewport
width=device-width, initial-scale=1- robots
robots: indexfollowmax-snippet:150max-image-preview:large- hreflang
- pt-BRx-default
- icons and manifest
icon 32x32: /favicon.icomanifest: /site.webmanifest
Findings
- noteM23line 23twitter:card value outside the registry's four
twitter:card is "summary_large_image", a type in common use that the MetaExtensions registry does not list (it names summary, photo, app and player). X's own card documentation is not published any more (checked 2026-10-05), so no current normative source is quoted.
- noteM45line 9hreflang alternates
2 hreflang alternates; an x-default is among them. link rel=alternate with hreflang is the HTML link type "alternate" (4.6.7) with the language of the alternate; which pages should list which alternates is the consumer's documentation, not the standard's.
- goodM44In order
One description.
- goodM44In order
The four required Open Graph properties are present.
- goodM44line 4In order
UTF-8 declared once, within the first 1024 bytes.
- goodM44line 6In order
One title element with text.
- goodM44line 8In order
One canonical link.
- goodM44line 27In order
JSON-LD block 1 is valid JSON with a @context and every node typed.
17 meta elements
| # | element | content | class | line |
|---|---|---|---|---|
| 1 | charset="charset" | utf-8 | charset | 4 |
| 2 | name="viewport"MetaExtensions: "Provides a way for documents to specify (using markup rather than CSS) the size, zoom factor, and orientation of the viewport." Google: "Presence of this tag indicates to Google that the page is mobile friendly." | width=device-width, initial-scale=1 | registered | 5 |
| 3 | name="description"HTML 4.2.5.1: "a free-form string that describes the page. The value must be appropriate for use in a directory of pages, e.g. in a search engine." Google: "In some situations, this description is used in the snippet shown in search results." | A bookshop of used children's books, with a catalogue you can search by age and author. | standard name | 7 |
| 4 | property="og:title" | Example Books | Open Graph | 13 |
| 5 | property="og:type" | website | Open Graph | 14 |
| 6 | property="og:url" | https://example.com/books/ | Open Graph | 15 |
| 7 | property="og:image" | https://example.com/cover.jpg | Open Graph | 16 |
| 8 | property="og:image:width" | 1200 | Open Graph | 17 |
| 9 | property="og:image:height" | 630 | Open Graph | 18 |
| 10 | property="og:image:alt" | A shelf of picture books | Open Graph | 19 |
| 11 | property="og:description" | Used children's books, searchable by age and author. | Open Graph | 20 |
| 12 | property="og:locale" | en_US | Open Graph | 21 |
| 13 | property="og:site_name" | Example Books | Open Graph | 22 |
| 14 | name="twitter:card" | summary_large_image | twitter card | 23 |
| 15 | name="twitter:site" | @example | twitter card | 24 |
| 16 | name="robots"MetaExtensions: "A comma-separated list of operators explaining how search engine crawlers should treat the content." Google: "applies to all search engines". | index, follow, max-snippet:150, max-image-preview:large | registered | 25 |
| 17 | name="theme-color"HTML 4.2.5.1: "a string that matches the CSS <color> production, defining a suggested color that user agents should use to customize the display of the page or of the surrounding user interface." | #0b7285 | standard name | 26 |
5 link elements
| # | rel | href | attributes | line |
|---|---|---|---|---|
| 1 | canonical | https://example.com/books/ | 8 | |
| 2 | alternate | https://example.com/pt/livros/ | hreflang="pt-BR" | 9 |
| 3 | alternate | https://example.com/books/ | hreflang="x-default" | 10 |
| 4 | icon | /favicon.ico | sizes="32x32" | 11 |
| 5 | manifest | /site.webmanifest | 12 |
Open Graph
og:titleog:typeog:imageog:url og:type website.
og:title- Example Books
og:type- website
og:url- https://example.com/books/
og:image- https://example.com/cover.jpg
og:description- Used children's books, searchable by age and author.
og:locale- en_US
og:site_name- Example Books
og:imagehttps://example.com/cover.jpg1200×630 alt
twitter:* card
twitter:cardsummary_large_image registeredtwitter:site@example registered
JSON-LD: one block
- 1valid JSON@context https://schema.org; one nodeline 27
BookStore“Example Books”
The whole tree the parser built, and its repairs, are shown by the HTML structure & DOM explainer, and selectors can be tried against it in the CSS selector tester. This page reads the head as written: no URL is fetched or resolved, so it cannot say whether an image exists, whether a canonical target answers, or how a given platform will render a card. Descriptions of meta names are the standard's and the registry's own sentences; what a crawler or a social platform does with a tag is quoted from that party's published documentation, dated. Inputs over 300.000 characters are refused.
Kaynaklar
- HTML Living Standard (WHATWG): 4.2.2 the title element; 4.2.5 the meta element; 4.2.5.1 standard metadata names; 4.2.5.2 other metadata names; 4.2.5.3 pragma directives; 4.2.5.4 specifying the document's character encoding
- HTML Living Standard (WHATWG): 4.6.7 link types; 4.1.1 the html element (lang)
- WHATWG wiki, MetaExtensions (last edited 12 October 2023)
- The Open Graph protocol (ogp.me)
- HTML+RDFa 1.1, Second Edition, W3C Recommendation 17 March 2015: 4 Extensions to the HTML5 Syntax
- JSON-LD 1.1, W3C Recommendation 16 July 2020: 3.1 the context; 4 keywords; 7 embedding JSON-LD in HTML documents; 7.2 restrictions for contents of JSON-LD script elements
- RFC 6596, The Canonical Link Relation (April 2012)
- Google Search Central, Meta tags and attributes that Google supports (last updated 2025-12-10)
- Google Search Central, Robots meta tag, data-nosnippet, and X-Robots-Tag specifications (last updated 2026-03-24)
- WCAG 2.2, W3C Recommendation 12 December 2024: SC 1.4.4 Resize Text
- parse5 8.0.1, the HTML parser (MIT)