You just built a beautiful website. You share it on LinkedIn to announce the launch. And the preview shows nothing. A blank card. No title, no description, no image. This is one of the most common and embarrassing problems facing JavaScript-heavy websites in 2026.
Why Social Media Previews Break
When you share a link on LinkedIn, Twitter/X, Slack, Discord, or Facebook, the platform sends a crawler to fetch your page. These crawlers look for Open Graph meta tags:
og:title: the title shown in the preview cardog:description: the description textog:image: the preview imageog:url: the canonical URL
The problem: social media crawlers don't execute JavaScript. When they visit a React SPA, they see the empty HTML shell, with no meta tags, no content, nothing to display in a preview card.
The Crawlers That Don't Execute JS
- facebookexternalhit: Facebook and Instagram link previews
- Twitterbot: Twitter/X card previews
- LinkedInBot: LinkedIn post and article previews
- Slackbot: Slack link unfurling
- DiscordBot: Discord link embeds
- WhatsApp: WhatsApp link previews
"But I Added react-helmet-async!"
You might have added proper OG tags using react-helmet-async or a similar library. The tags render perfectly in the browser. But they're still generated by JavaScript; they don't exist in the server's initial HTML response. Social crawlers never see them.
The Business Impact
Broken link previews make your brand look unprofessional. When a potential customer sees a blank preview card, they're less likely to click. When your competitors share links that display properly, they get the clicks you're missing.
How Prerendering Fixes This
A prerendering service like PrimeHTML detects social media crawlers and serves them the fully rendered HTML, including all OG meta tags. The result: perfect link previews on every platform, every time.
PrimeHTML detects all major social crawlers automatically. No configuration needed; it's included on every plan. Learn how it works →
