## Troubleshooting

### Common issues and solutions

Something not working? Here are the most common issues and how to fix them.

## Meta tags not appearing

Client Components don’t render meta tags on the server. Social crawlers (and OpenGraph+) only see server-rendered HTML.

Make sure your meta tags are set via:
- `generateMetadata` (async, dynamic)
- The static `metadata` export
- Both are server-side only

If you’re using the Pages Router, use `next/head` in `_app.tsx` or individual pages.

**Check:** View your page source, not DevTools. DevTools shows client-hydrated HTML. Page source shows what crawlers see.

## Wrong image showing

This is almost always a caching issue. Social platforms and OpenGraph+ both cache images.

1. Open the preview tool in your OpenGraph+ dashboard
2. Paste your URL to see what OpenGraph+ currently has
3. If the image is stale, purge it from the dashboard
4. Re-check with the preview tool

## Image shows wrong page content

Your pathname logic in `generateMetadata` may not be resolving correctly. Double-check:

1. The `x-invoke-path` header is available in your environment
2. Your middleware is forwarding the correct path
3. The connection URL plus pathname matches your actual page URL

Test by hardcoding a known path and checking if the correct image appears.

## Social platforms not updating

Twitter, LinkedIn, and Slack cache images aggressively on their end. After confirming the correct image appears in the OpenGraph+ preview tool:

- **Twitter:** Use the [Card Validator](https://cards-dev.twitter.com/validator) to force a refresh
- **LinkedIn:** Use the [Post Inspector](https://www.linkedin.com/post-inspector/) to clear their cache
- **Facebook:** Use the [Sharing Debugger](https://developers.facebook.com/tools/debug/) to scrape again

This is platform-side caching that OpenGraph+ cannot control.

## Purging cached images

1. Go to your website dashboard in OpenGraph+
2. Find the page you want to refresh
3. Click purge to clear the cached image

The next request from a social platform will trigger a fresh render.

## Testing

Use the preview tool in your OpenGraph+ dashboard to verify your setup before sharing URLs. This shows you exactly what social platforms will see.
