SiteAssets SiteAssets
Company · FAQ 22 answers

Frequently asked questions.

How the checker reads your page, what the plans actually allow, and what happens to the images you render.

§01

Checking

What the checker reads, how scoring works and why a site can score below 100.

What exactly does the checker look at?

It fetches your page the way a crawler does, parses the HTML, validates the Open Graph and Twitter tags, checks the canonical link, resolves the OG image and then runs 15 weighted checks. It never renders your page in a browser, so client-side injected tags are not visible to it — that is intentional, because crawlers do not run your JavaScript either.

How is the score calculated?

Every check carries a weight and reports one of three states: pass, warning or fail. Passing earns the full weight, warnings earn partial credit, failures earn nothing. The score is the weighted sum scaled to 100. Checks that could not be verified — for example because a request timed out — withhold their weight instead of scoring zero.

Why is my score not 100 even though the preview looks fine?

Preview rendering and scoring are separate. A card can look acceptable while still missing og:image:width, og:image:alt, a matching twitter:image or a canonical URL that matches og:url. The report lists every check with its status and weight, so you can see exactly which points are missing rather than guessing.

Read the 100-point checklist →

Do you follow redirects and run JavaScript?

Redirects are followed manually, up to five hops, and every hop is re-validated against the same safety rules. JavaScript is never executed: only the server-rendered HTML is inspected. If your tags are injected at runtime, they are invisible to social crawlers as well.

Which platforms do you preview?

Seven: X, Facebook, LinkedIn, Discord, WhatsApp, Slack and Telegram. Each preview uses that platform’s real card geometry, including the crops that compact and square layouts apply.

§02

Accounts & limits

Anonymous versus signed-in usage, plan limits and what happens when you hit a ceiling.

Do I need an account?

No. Anonymous checks run without signing up and are rate limited per IP address. Creating a free account adds check history, persistent reports and the dashboard, with a small monthly allowance.

What are the limits?

Anonymous usage is rate limited per IP and returns a 429 with a Retry-After header when you exceed it. The free plan covers a small monthly allowance of checks and generator renders. Pro raises those ceilings substantially and unlocks the REST API and MCP. Current numbers are always published on the pricing page.

See current limits →

What happens when I hit my limit?

Requests are paused, not billed. You get a 429 with a reason explaining which limit was reached, and the allowance resets on your billing period. Nothing is charged automatically for overage.

How long do reports last?

Anonymous results live in an in-memory cache for 10 minutes and are not persisted. Reports saved to a signed-in account persist for the default retention window of 30 days; Pro storage supports longer retention on request.

Can I delete my data?

Yes. Delete an individual report from your dashboard, or delete the account and everything attached to it. See the privacy policy for the exact list of what is stored and how long it is kept.

Read the privacy policy →
§03

Image generator

Templates, formats, brand colours and how the rendered asset relates to your tags.

What size are generated images?

Always 1200 × 630 — the 1.91:1 ratio every major platform renders as a large card. All critical content sits inside a centred 1024 × 512 safe area so the same file survives square and compact crops.

Which formats can I export?

PNG, WebP and SVG. They are rendered server-side from one parameter set, so the composition is identical across formats. PNG is the safest default, WebP is smaller, and SVG stays crisp at any size and is trivially diffable.

What are the templates?

Four: minimal, gradient, dark and brand. Brand uses your hex colour as the background and picks the foreground automatically from the background luminance, so contrast holds on both light and dark brand colours.

Can I use my own logo and fonts?

Pass a public logoUrl and the generator renders it at 72 × 72 with a rounded corner; if the image cannot be fetched it falls back to initials instead of failing the render. Type is set in Inter for consistent metrics across platforms.

Can I generate many images at once?

Yes — the generator is an API endpoint, so a script can render a whole set from a parameters file. Keep one source of truth for the parameters and emit both the image and the meta tags from it.

Bulk generation guide →
§04

API & MCP

Keys, authentication, editor integrations and how to automate checks in CI.

How do I get an API key?

Create one in the dashboard. Keys are prefixed with sk_live_ and shown exactly once — store it as an environment variable rather than in a tracked file. Revoke a key at any time from the same screen.

How does authentication work?

Send the key as a Bearer token in the Authorization header. Requests with a missing, revoked or malformed key return 401 before any work is done.

API reference →

Is there an MCP server?

Yes. It exposes check_open_graph, suggest_open_graph_fix and generate_og_image, and works in Claude Code, Cursor, Windsurf and VS Code. The same engine backs the website, the API and the MCP tools, so scores never disagree.

MCP setup →

Can I run checks in CI?

That is the intended use. Call the check endpoint against your deployed preview URL and fail the job when the score drops below your threshold. Because scoring is deterministic, the same URL always produces the same result for the same HTML.

See the pre-push example →
§05

Billing

Plans, payment handling and how to change or cancel a subscription.

How much does Pro cost?

Pro is $9 per month. Payments are handled by our merchant of record, so card details never touch our servers. The Developer plan for agencies and high-volume consumers is on the waitlist.

Can I cancel at any time?

Yes. Cancelling stops the renewal at the end of the current period; you keep access until then. Nothing is pro-rated or refunded mid-cycle, and there are no cancellation fees.

Do you offer refunds?

If something failed on our side, contact support and we will make it right. See the terms of service for the full billing policy.

Terms of service →

Still stuck?

Send the scanned URL and the timestamp. If it is an API problem, include the status code and the X-Request-Id header and we can trace the exact run.

Contact support