# OGKit > Open Graph lint for web, extension, and CLI. Markdown versions of these pages are available at the linked `.md` URLs or by sending `Accept: text/markdown`. OGKit checks Open Graph and social-preview metadata. It is a linter (web scan, browser extension, CLI/CI), not an OG image generator. Canonical site: https://ogkit.akr.moe ## Documentation index Sitemap documentation pages for this locale are listed below as markdown. Rule ids are a public API — do not rename them. - [Rules index](https://ogkit.akr.moe/rules.md) - [Ruleset changelog](https://ogkit.akr.moe/rules/changelog.md) ### Rules - [og-title-missing — Missing og:title](https://ogkit.akr.moe/rules/og-title-missing.md) - [og-type-missing — Missing og:type](https://ogkit.akr.moe/rules/og-type-missing.md) - [og-url-missing — Missing og:url](https://ogkit.akr.moe/rules/og-url-missing.md) - [og-image-missing — Missing og:image](https://ogkit.akr.moe/rules/og-image-missing.md) - [og-description-missing — Missing og:description](https://ogkit.akr.moe/rules/og-description-missing.md) - [og-site-name-missing — Missing og:site_name](https://ogkit.akr.moe/rules/og-site-name-missing.md) - [twitter-card-missing — Missing twitter:card](https://ogkit.akr.moe/rules/twitter-card-missing.md) - [twitter-card-invalid — Invalid twitter:card value](https://ogkit.akr.moe/rules/twitter-card-invalid.md) - [meta-tag-conflicting-duplicates — Conflicting duplicate meta tags](https://ogkit.akr.moe/rules/meta-tag-conflicting-duplicates.md) - [meta-attribute-wrong — Wrong meta attribute (name vs property)](https://ogkit.akr.moe/rules/meta-attribute-wrong.md) - [og-image-relative-url — og:image is a relative path](https://ogkit.akr.moe/rules/og-image-relative-url.md) - [og-url-relative — og:url is a relative path](https://ogkit.akr.moe/rules/og-url-relative.md) - [og-image-not-https — og:image is not HTTPS](https://ogkit.akr.moe/rules/og-image-not-https.md) - [og-url-not-https — og:url is not HTTPS](https://ogkit.akr.moe/rules/og-url-not-https.md) - [og-url-canonical-mismatch — og:url does not match canonical](https://ogkit.akr.moe/rules/og-url-canonical-mismatch.md) - [og-url-final-url-mismatch — og:url does not match final URL after redirects](https://ogkit.akr.moe/rules/og-url-final-url-mismatch.md) - [og-image-redirects — og:image URL redirects](https://ogkit.akr.moe/rules/og-image-redirects.md) - [title-truncation-risk — Title may be truncated on some platforms](https://ogkit.akr.moe/rules/title-truncation-risk.md) - [description-too-long — Description exceeds platform display budgets](https://ogkit.akr.moe/rules/description-too-long.md) - [description-too-short — Description is very short](https://ogkit.akr.moe/rules/description-too-short.md) - [og-title-matches-title — og:title is identical to ](https://ogkit.akr.moe/rules/og-title-matches-title.md) - [meta-unescaped-html-entities — Meta content has HTML entity or markup issues](https://ogkit.akr.moe/rules/meta-unescaped-html-entities.md) - [og-image-dimensions-too-small — og:image smaller than recommended 1200×630](https://ogkit.akr.moe/rules/og-image-dimensions-too-small.md) - [og-image-aspect-ratio-crop-risk — Image aspect ratio risks platform cropping](https://ogkit.akr.moe/rules/og-image-aspect-ratio-crop-risk.md) - [og-image-declared-size-mismatch — og:image:width/height does not match actual pixels](https://ogkit.akr.moe/rules/og-image-declared-size-mismatch.md) - [og-image-bytes-exceeds-platform-budget — Image exceeds a platform byte budget](https://ogkit.akr.moe/rules/og-image-bytes-exceeds-platform-budget.md) - [og-image-content-type-mismatch — Image Content-Type does not match actual format](https://ogkit.akr.moe/rules/og-image-content-type-mismatch.md) - [og-image-alt-missing — Missing og:image:alt](https://ogkit.akr.moe/rules/og-image-alt-missing.md) - [og-image-forbidden — Image URL requires auth or returns 403](https://ogkit.akr.moe/rules/og-image-forbidden.md) - [robots-blocks-social-crawlers — robots / X-Robots-Tag blocks social previews](https://ogkit.akr.moe/rules/robots-blocks-social-crawlers.md) - [ua-content-diverged — Different User-Agents received different HTML](https://ogkit.akr.moe/rules/ua-content-diverged.md) - [og-tags-require-javascript — OG tags appear to require client-side JavaScript](https://ogkit.akr.moe/rules/og-tags-require-javascript.md) ### Other docs - [/cli](https://ogkit.akr.moe/cli.md) - [/platforms](https://ogkit.akr.moe/platforms.md) - [/platforms/facebook](https://ogkit.akr.moe/platforms/facebook.md) - [/platforms/x](https://ogkit.akr.moe/platforms/x.md) - [/platforms/linkedin](https://ogkit.akr.moe/platforms/linkedin.md) - [/platforms/slack](https://ogkit.akr.moe/platforms/slack.md) - [/platforms/discord](https://ogkit.akr.moe/platforms/discord.md) - [/platforms/whatsapp](https://ogkit.akr.moe/platforms/whatsapp.md) - [/platforms/telegram](https://ogkit.akr.moe/platforms/telegram.md) - [/platforms/google](https://ogkit.akr.moe/platforms/google.md) - [/blog](https://ogkit.akr.moe/blog.md) - [/blog/crawler-user-agents-open-graph](https://ogkit.akr.moe/blog/crawler-user-agents-open-graph.md) - [/blog/dynamic-og-image-next-satori](https://ogkit.akr.moe/blog/dynamic-og-image-next-satori.md) - [/blog/open-graph-cache-and-rescrape](https://ogkit.akr.moe/blog/open-graph-cache-and-rescrape.md) - [/blog/open-graph-checklist-ogkit](https://ogkit.akr.moe/blog/open-graph-checklist-ogkit.md) - [/blog/open-graph-ci-lint-regression](https://ogkit.akr.moe/blog/open-graph-ci-lint-regression.md) - [/blog/open-graph-image-engineering](https://ogkit.akr.moe/blog/open-graph-image-engineering.md) - [/blog/open-graph-tools-comparison](https://ogkit.akr.moe/blog/open-graph-tools-comparison.md) - [/blog/preview-open-graph-localhost-staging](https://ogkit.akr.moe/blog/preview-open-graph-localhost-staging.md) - [/blog/required-open-graph-meta-tags](https://ogkit.akr.moe/blog/required-open-graph-meta-tags.md) - [/blog/social-platforms-og-card-differences](https://ogkit.akr.moe/blog/social-platforms-og-card-differences.md) - [/blog/spa-open-graph-ssr-prerender](https://ogkit.akr.moe/blog/spa-open-graph-ssr-prerender.md) - [/blog/what-open-graph-really-solves](https://ogkit.akr.moe/blog/what-open-graph-really-solves.md) - [/blog/why-your-open-graph-card-is-blank](https://ogkit.akr.moe/blog/why-your-open-graph-card-is-blank.md) - [/privacy](https://ogkit.akr.moe/privacy.md) ## Tools and marketing - [Homepage](https://ogkit.akr.moe/index.md) - [/scan](https://ogkit.akr.moe/scan.md) - [/rescrape](https://ogkit.akr.moe/rescrape.md) - [/consulting](https://ogkit.akr.moe/consulting.md) ## Also from Akara - [akr.moe](https://akr.moe) — Akara Chen's site (hub) - [2code](https://2code.akr.moe) — Terminal workstation for projects, worktrees, and agents - [Angel Engine](https://ag.akr.moe) — Local desktop for coding agents