Troubleshooting
How to fix link previews on Facebook and WhatsApp
If, when you share a URL on Facebook or WhatsApp, the image does not appear, the title is wrong or an old version is kept, first check what data that page publishes and whether it can be downloaded without logging in.
The preview usually uses the Open Graph tags in the HTML. Changing only the image you see inside the page may not change the image it declares for sharing.
First, tell the problems apart
| What happens | Where to start |
|---|---|
| WhatsApp does not generate a preview for any link | Check WhatsApp's privacy settings and try again with a known URL. |
| Only one page of your site fails | Check its HTML and its image URL. |
| It shows an old image or title | Check the published content and the caches; then request a new scrape on Facebook. |
| It works on Facebook but not on WhatsApp | Check WhatsApp separately: the Facebook debugger does not validate its result. |
WhatsApp lets you turn off link previews. If you have that option on, a preview not being generated when you send a link does not prove a fault on the website.
1. Check the Open Graph tags
Open the exact URL you are sharing and view its source code. In <head> there should be data equivalent to this, adapted to that page:
<meta property="og:type" content="website"> <meta property="og:url" content="https://yourdomain.com/articulo"> <meta property="og:title" content="Page title"> <meta property="og:description" content="Description of the shared page."> <meta property="og:image" content="https://yourdomain.com/imagenes/compartir.jpg">
The og:image URL must be absolute. Check that it does not point to an image from another page, to a test environment or to a file that no longer exists. Publish the tags in the initial HTML: do not rely on them appearing after JavaScript runs.
In WordPress, your SEO plugin can manage the social title, description and image. Check the final HTML to rule out the theme and another plugin generating conflicting tags. If you declare several images, put the one you want to prioritise first.
2. Check that the image can be downloaded
Open the og:image URL in a private window. It should show the image directly over HTTPS, with no login, required cookies or anti-bot challenge.
Use a landscape image with legible text; for example, you can prepare one at 1200 × 630 pixels. Compress the file and check how it looks in both apps: dimensions alone do not guarantee a preview. Avoid serving a huge image when a lightweight version gives the same result.
If you get a 403, 404, certificate error or a login page, fix that response first. Review the firewall, CDN or hotlink protection rules that affect the file.
3. Request a new scrape on Facebook
Open the Facebook Sharing Debugger, enter the exact URL and review the information retrieved. After fixing the source, use the scrape again option to request another read.
If old data still appears, clear the application and CDN cache and check the public source code again. When you change the file of a social image, a new name lets you tell the published version apart from an old copy; update og:image too.
The debugger works on Facebook. It does not clear WhatsApp's cache or prove which image will be shown there.
4. Test the link on WhatsApp
Paste the full URL into a chat box, without sending it, and wait for the preview to form. First check that you have not turned it off in the settings. A preview that has already been sent is not a reliable test of the page's current state.
If it only fails on WhatsApp, check the image, the public response and the initial HTML again. Note which device and app version you use so you can compare the behaviour.
Checking from the terminal
If you need to inspect the HTTP response, these commands download using the Facebook crawler's user agent:
curl -L --compressed -A 'facebookexternalhit/1.1' https://yourdomain.com/articulo curl -L --compressed -A 'facebookexternalhit/1.1' -o /dev/null -w '%{http_code} %{content_type} %{size_download}\n' https://yourdomain.com/imagenes/compartir.jpg
The first one should contain the correct tags. The second one shows the HTTP code, content type and downloaded size. A 200 with text/html on the image URL may mean you have received an error page or a challenge.
These tests run from your connection: changing the user agent does not reproduce the IP, cache or all the conditions of the real crawler. Compare the result with the debugger and the server logs.
What to send support if it persists
If your website is hosted with Hostsuar, tell us the shared URL, the og:image URL, the time of the test and where it fails. We can check access errors or blocks on the hosting. There is no need to change server if the cause is in your theme's tags or the application settings.
You may also find useful
- "An error occurred while sending the message" in the PrestaShop contact form Diagnose the contact form rejection and fix an old override only when it does not send contactform's...
- 404 errors on static files slow down browsing Detect missing static resources that trigger PHP and use CPU, serve them as lightweight 404s and gui...
- Composer installs a global package but cannot find its command Check that the global Composer binary exists, get its real directory and add it to PATH only when th...
- Debug errors in Joomla Get Joomla's exact error with its named reporting levels, without using numeric masks that depend on...
Something wrong or out of date? Tell us and we will review it.