ShipworkSite inspection
Social preview

Crawlability

PaginationAre paginated pages set up right?Internal searchIs site search eating crawl budget?URL parametersAre parameters creating duplicates?Log analyserWhat does Googlebot actually crawl?Robots builderNeed a robots.txt file?Soft 404sAre pages “not found” but returning 200?JavaScriptCan crawlers see it without running JS?FreshnessIs my site quietly going stale?Robots.txtDoes robots.txt say what I think?

Indexing

Sitemap lastmodAre my sitemap dates valid?SitemapIs my sitemap actually fetchable?IndexingIs Google allowed to index my pages?CanonicalsIs Google indexing the wrong URL?Index signalsDo sitemap and index signals agree?Sitemap generatorNeed a sitemap.xml for my site?Bulk URL statusWhere does each of these URLs really land?Redirect builderNeed the redirect rules?RedirectsAre my URLs answering directly, over HTTPS?

On-page

Keyword ideasWhat are people searching for?SERP previewHow does my page look in Google?Content qualityAre your pages too thin or too alike?Image weightAre images slowing the page?CannibalizationAre pages competing with each other?On-page checkDoes the page use its target phrase?ImagesAre my images accessible and loading?Meta tag builderWhat should my title and share tags say?DuplicatesDo my pages compete for one query?

Links

Orphan pagesWhich pages can no link reach?Link graphHow deep do your pages sit?Anchor textDo links say what they point at?Outbound linksAre external links still alive?Broken linksAre internal links sending visitors nowhere?

Structured data

Rich resultsIs my markup eligible for a rich result?Structured dataIs my product schema valid?Schema coverageDo my key pages carry structured data?Social previewHow does my page look when shared?Schema vs pageDoes markup match the page price?Schema builderNeed valid JSON-LD?

International

Hreflang sitemapDo page and sitemap hreflang agree?HreflangDo my language versions link back?Hreflang builderNeed the hreflang tags?Page DoctorWhy is this page not doing well?Redirect planMy site has dead links — what redirects do I write?Sitemap diffIs anything missing from my sitemap?Robots simulatorWhat does my robots.txt actually block?Can Googlebot?Can Googlebot fetch this URL?
Every error, explainedGuides
Pricing Learn Error guides Run free audit

+1 free check

Welcome to Shipwork

Sign in free and your next check this month is on us.

Continue with GoogleContinue with email

We email you a 6-digit code. No password.

No card needed. Reports and watches follow you to any device.

How does your page look when someone shares it?

Every link you post to social, chat or email is rendered from your Open Graph tags. A missing or broken og:image leaves a blank thumbnail, and a missing title leaves the platform to guess, costing you clicks you already earned.

Reads the Open Graph and Twitter tags on a set of key pages and checks that the preview image actually loads. Saved to your account if you are signed in to a paid plan.

How this check works

Shipwork reads the og:title, og:description, og:image and twitter:card tags on a set of your pages, then fetches the preview image to confirm it really loads. A preview image that 404s is invisible until someone shares the link.

What the social preview check reads

The check inspects Open Graph title, description and image values, plus the Twitter Card declaration, on HTML pages in the discovered sample. If og:image is present and hosted on the same registrable domain, it sends a HEAD request to check whether the image responds. It reports missing title or description, missing image, a failed same-site image response, and missing twitter:card.

This checks the metadata delivered in raw HTML and the response to an image probe. It does not render every social platform’s card or guarantee a particular preview; platforms may cache metadata or apply their own display rules. An external image is not probed by this lens, so a remote URL may need manual verification.

  • og:title and og:description presence.
  • og:image presence and same-site image reachability via HEAD.
  • twitter:card presence.
  • Findings for the sampled pages; clean results do not cover every URL on the site.

How to read social preview findings

If Open Graph title or description is missing, a sharing platform may choose other page text. If og:image is absent, the shared URL may have no thumbnail. A same-site image that returns an error may fail to display. If twitter:card is missing, the page lacks an explicit card type for X. These are signals in your page markup, not a screenshot of what each platform will ultimately render.

After correcting tags, social networks may continue to show an old preview because they cache fetched metadata. Re-fetch or refresh the share preview using the platform’s current debugging tools where available. Confirm that the image URL is publicly accessible, returns an image response and does not require cookies or a login.

  • Use a title and description that accurately summarize the specific page.
  • Set an absolute og:image URL to a crawlable image with useful dimensions.
  • Check the returned page source rather than relying only on a browser inspector.
  • Re-scrape the URL in the sharing platform after publishing changes.

Add Open Graph tags for a page

Add page-specific metadata to the document head. The values should describe the page visitors will land on, not repeat a generic site-wide slogan. Use an absolute image URL that a crawler can fetch. Keep social metadata consistent with the page title and visible content so the preview does not promise something the destination does not contain.

  • <meta property="og:title" content="Blue linen shirt | Example Store">
  • <meta property="og:description" content="A lightweight linen shirt in blue, available in sizes S–XL.">
  • <meta property="og:image" content="https://example.com/images/blue-shirt-share.jpg">
  • <meta name="twitter:card" content="summary_large_image">
  • Use the meta tag generator for draft metadata, then verify the live page.

When to check a social preview

Run the check after publishing a new landing page, product page, article or campaign URL, and after changing a theme or SEO app that writes head tags. It can catch missing metadata across the discovered pages before someone shares them. If a preview looks stale after a fix, check the platform cache as well as the page’s current HTML.

Social preview tags are separate from Product JSON-LD and search result snippets. Open Graph fields do not validate structured data, while a good search title does not automatically create the intended social card. Use the relevant tool for each format.

Errors this check finds, and their fixes

Questions

What controls how my link looks when shared?
Open Graph tags (og:title, og:description, og:image) for most platforms, and twitter:card for X/Twitter.
Why is my preview image blank?
Usually the og:image is missing, points at an image behind a login, or returns an error. This check fetches the image to confirm.
Do I need a separate Twitter card?
Most platforms fall back to Open Graph, but X/Twitter works best with an explicit twitter:card and twitter:image.
How do I check my website’s social media preview?
Inspect the page’s Open Graph tags in the raw HTML, especially og:title, og:description and og:image, and check its Twitter Card declaration. Then use the social platform’s current preview or sharing debugger to see how it renders and whether cached data is stale. Shipwork checks metadata on discovered pages and probes same-site og:image URLs, but does not render every platform card.
Why is my link preview image not showing?
The og:image tag may be missing, point to a private or broken URL, or return an error to the sharing crawler. Some platforms also cache older metadata. Confirm the image URL is absolute and publicly reachable, inspect the live page source, then refresh the platform’s cached preview if it offers that control. Shipwork probes only same-site og:image URLs.
What Open Graph tags do I need for a link preview?
The common tags are og:title, og:description and og:image; an appropriate page URL and site identity can also help platforms describe the share. X uses a twitter:card value to select a card style. Exact rendering rules vary by platform, so make values accurate and test the published URL in the destination platform’s current preview debugger.
What is the difference between Open Graph and Twitter Card tags?
Open Graph tags provide shared-page metadata such as title, description and image for many social and messaging services. twitter:card tells X which card format to use. Some fields can be inferred or fall back to Open Graph, but explicit metadata gives crawlers a clearer source. Check current platform documentation because rendering and fallback behavior can change.
Why does my social preview still show the old title after I changed it?
Sharing platforms often cache metadata for a URL. The live page may have the new tags while the service continues to display an earlier fetch. Verify the public HTML first, then ask the platform to re-scrape or refresh the URL using its current debugging controls. A URL variant, redirect or access block can also cause the platform to fetch a different page.

Keep reading

What this reads

  • Reads public pages from outside your network, the way a crawler does.
  • No signup, and nothing is stored on the free checks.
  • One of 83 checks across discovery, content, markup, trust and catalogue data.
83checks
0signups needed
0stored on free checks
Cool, just ran an audit and got some insights! Let’s see if I can fix them :)
Tenta Dev, @DevTenta
Whoah! this site is crazy, nothing to roast at all
Ainreek, @AinreekAI
cool as heck, tried it on my blog and the insights it gave are helpful and not bluff.
Refaat 🍉 (Mouse), @1Mouse__