Missing OG tags in server-rendered HTML
Notion’s crawler does not execute JavaScript. If your OG tags are injected client-side by React, Vue, or similar, they’re invisible to the crawler.
Diagnosis checklist
- Check server-side rendering –
curlyour URL and verify meta tags are in the HTML, not JavaScript-injected. - Check for
og:title– search the page source. If missing, add it. - Check HTTP status – must return
200 OK. - Check authentication – pages behind login walls won’t generate previews.
- Check that the crawler isn’t blocked – requests with “Notion” in the user agent should be allowed.
- Try re-creating the bookmark – delete and re-paste to force a fresh fetch.
SPA fix
If your site is a SPA, your options:
- SSR – render full HTML on the server
- Pre-rendering – serve static HTML to crawlers
- Static meta tags – add essential tags to the HTML template before JavaScript runs
Testing your fix
curl -A "Notion" https://yoursite.com/page | grep -i "og:title"Tag visible? Delete the Notion bookmark and re-create it.