Forzar la actualización de la caché de Open Graph de Facebook
Puedes forzar la actualización de la caché de Open Graph de Facebook, porque Facebook — el único entre las principales plataformas — expone una forma programática de solicitarlo. Puedes usar el botón Scrape Again del Sharing Debugger para un enlace concreto, o llamar al endpoint de scrape de la Graph API con un token de acceso de la aplicación. No hay forma de forzar WhatsApp, LinkedIn o X: no publican una API de este tipo, para nadie.
Lo que hace tropezar a todo el mundo
Meta almacena en caché una vista previa del enlace clave basada en la URL de la página y guarda su propia copia de la imagen. No vuelve a leer tu página para darse cuenta de que og:image ahora apunta a otro sitio.
Por lo tanto, este flujo de trabajo falla, y es el que la mayoría de la gente intenta:
Cambiar la imagen de portada → la URL de
og:imagees nueva → asumir que Facebook la detectará → no lo hace.
Una URL de imagen nueva invalida la CDN de imágenes. No hace nada con la caché de Meta clave por página. Para mover a Facebook, debes decirle a Meta que la página ha cambiado.
| Caché | Clave basada en | Se limpia con |
|---|---|---|
| Tu caché de página / CDN | la URL de la página | purgándola |
| La caché de vista previa de enlaces de Meta | la URL de la página | el endpoint de scraping o el Sharing Debugger |
| La copia de la imagen de Meta | la URL de la imagen | una URL de imagen nueva |
| Tu CDN de imágenes | la URL de la imagen | una URL de imagen nueva |
Opción 1: el Sharing Debugger (una página, manual)
Abre developers.facebook.com/tools/debug, pega la URL de la página y pulsa Scrape Again. Meta vuelve a obtener la página y reconstruye su vista previa en caché.
También es el mejor validador gratuito que tienes, porque informa de lo que Meta realmente encontró, no de lo que esperabas que hubiera: og:image faltantes o duplicados, imágenes inaccesibles, formatos no compatibles. Dos cosas que no hará: no puede tocar WhatsApp (caché separada, en la aplicación del destinatario) y no es una herramienta de catálogo: es una URL a la vez, con límite de peticiones y con una persona delante.
Opción 2: la Graph API (esto es lo que llama un plugin)
El equivalente programático que usa FastOG es un POST a la Graph API con scrape=true:
curl -X POST \
"https://graph.facebook.com/v21.0/?id=$(python3 -c 'import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1],safe=""))' 'https://your-store.com/product/example')&scrape=true&access_token=${APP_ID}|${APP_SECRET}"
Cuatro detalles que importan:
ides la URL de la página, no la URL de la imagen. Meta almacena en caché según la página, así que hacer ping a la dirección de la imagen no refresca nada.- Se requiere un token: Meta exige uno en este endpoint desde octubre de 2017. Un token de acceso de aplicación con la forma
{app_id}|{app_secret}es suficiente y no necesita inicio de sesión de usuario, que es justo lo que hace posible la llamada desde un trabajo en segundo plano. - Las versiones de la Graph API cambian. FastOG fija una versión probada de la Graph API; consulta la documentación y el changelog actuales de Meta antes de fijar una versión en tu propio código.
- Trátalo como un esfuerzo de mejor intención. Meta limita la tasa de llamadas de scrape, y una negativa solo significa que Facebook refresca según su propio calendario en lugar de hacerlo de inmediato: las etiquetas de tu página ya son correctas.
Como tiene límite de tasa, no lo dispares en línea en cada guardado de un catálogo grande. Ponlo en cola y deduplica por URL para que los guardados repetidos del mismo producto sin cambios no gasten el límite de tasa.
Opción 3: un plugin que lo hace por ti
Los plugins comercializados como "refresco de caché de Open Graph" se dividen en dos grupos, y solo uno de ellos puede arreglar Facebook:
| Mecanismo | Qué limpia | ¿Arregla una vista previa obsoleta de Facebook? |
|---|---|---|
Añade una cadena de consulta cambiante a la URL de la imagen (?v=timestamp) |
tu CDN de imágenes | No: la caché de Meta está vinculada a la página |
| Llama al endpoint de scrape para la URL de la página | la caché de vista previa de Meta | Sí |
Antes de instalar uno, averigua de cuál se trata. Un parámetro de marca de tiempo es una solución real para una imagen obsoleta y una no-solución para una tarjeta de Facebook obsoleta.
FastOG para WooCommerce hace lo segundo, y no configuras nada. El plugin registra los webhooks nativos de productos de WooCommerce, así que guardar un producto dispara un re-scrape de Meta para el permalink de ese producto — en cola, deduplicado dentro de una ventana corta, y de mejor esfuerzo por diseño, de modo que una negativa nunca falle el guardado. Se aplica a las páginas de producto (product.created / product.updated); las ediciones de categorías y blogs no están cubiertas.
El lado de la imagen se gestiona por separado, y de forma diferente a todos los competidores: como una URL de portada de FastOG contiene los valores que la produjeron, editar el precio o la foto acuña una nueva URL de portada. Meta no puede volver a servir una imagen cuya dirección ya no existe.
Cuando Facebook no es suficiente
| Plataforma | ¿Puedes forzar una actualización? | Qué ocurre realmente |
|---|---|---|
Sí — depurador o scrape=true |
Solicita un nuevo rastreo; el tiempo de propagación varía | |
| No | La vista previa se almacena en caché en la app del destinatario; no existe ninguna API | |
| No existe una API programática documentada | Vuelve a leer según su propio calendario; no se garantiza aquí ningún tiempo público | |
| X / Twitter | No existe una API programática documentada | Vuelve a leer según su propio calendario; no se garantiza aquí ningún tiempo público |
| Slack, Discord | No | Cachés de corta duración que se limpian solas en minutos u horas |
Si una vista previa está desactualizada en WhatsApp, la respuesta no es una herramienta de Facebook — es hacer bien la parte de la tienda para que la siguiente lectura sea correcta.
Cuando todavía se muestra la imagen antigua tras un scrape correcto
Recorre esta lista, en orden:
- ¿La página sigue sirviendo la etiqueta antigua?
curl -s https://your-store.com/product/example | grep -i 'og:image'— una página HTML en caché con unog:imageobsoleto anula el scrape por completo. Purgua la caché de la página. - ¿La página imprime más de un
og:image? Si dos plugins emiten cada uno el suyo, el crawler toma el primero que lee. Cuéntalos. - ¿La imagen es accesible y no está bloqueada?
curl -I <image-url>debería devolver200con una imagenContent-Type. Los crawlers sociales respetanrobots.txt, así que una imagen en una rutaDisallow:falla de una forma que parece un archivo corrupto — ycurlnunca lo reproducirá, porquecurlignorarobots.txt. - ¿La URL de la imagen cambió realmente? Si no cambió, el contenido tampoco cambió — comprueba que la edición de precio/foto llegó a la fuente de la que se extrae la tarjeta.
- Revisa el depurador otra vez. Si ahora muestra la imagen nueva y Facebook sigue mostrando la tarjeta antigua, lo que ves es la propagación propia de Facebook, no tus etiquetas.
FAQ
¿Existe una API oficial para limpiar la caché de Open Graph de Facebook?
FastOG utiliza el endpoint de scrape (POST https://graph.facebook.com/{version}/?id={page-url}&scrape=true&access_token={token}). Meta documenta el Sharing Debugger y el flujo de rastreo programático; la forma exacta del endpoint y la versión de la API de Graph pueden cambiar, así que verifícalos contra la documentación actual de Meta antes de implementarlo por tu cuenta.
¿El Sharing Debugger necesita una app o un token?
No. Es una herramienta pública y funciona con cualquier URL pública. Lo que no puede hacer es ejecutarse con una programación ni cubrir un catálogo.
¿Volver a hacer scrape me costará un render de FastOG?
Normalmente no. Una URL de portada se deriva del contenido, así que si el contenido no cambió, la URL tampoco, y la petición es un acierto de caché que no cuesta ningún render. Si el precio cambió, la URL cambió: eso es un render nuevo, y es el render que querías.
¿Volver a hacer scrape en Facebook arregla mi vista previa de WhatsApp?
No. Son cachés separadas. El depurador de Facebook sigue mereciendo la pena como validador: obtiene la página igual que hará WhatsApp e informa de lo que encontró, pero no puede refrescar WhatsApp.
¿Cuánto tiempo conserva Facebook una vista previa si nunca hago ping?
Meta documenta un período estándar de re-scrape de unas 24 horas, pero el tiempo exacto de propagación puede variar. Por eso existen el depurador y la ruta de rastreo programático.
¿Tengo que hacer ping a cada producto después de una importación de catálogo?
Para eso está la cola. Enviar una petición por producto de forma inline alcanzará el límite de tasa de Meta y ralentizará la petición del comercio; en cola y desduplicada, un barrido del catálogo se drena sin problemas.
¿Y si Meta rechaza la petición?
No se rompe nada. Un ping rechazado o limitado por tasa significa que Facebook se actualiza según su propia programación en lugar de hacerlo de inmediato: las etiquetas de la página ya son correctas, por eso la llamada es de mejor esfuerzo y no una dependencia estricta.
Relacionado
- Actualización instantánea de imagen de WhatsApp para WooCommerce
- Guía de caché de vista previa social: Facebook, WhatsApp, LinkedIn, X, Slack y Discord
- ¿No aparece og:image? Cómo solucionarlo
- ¿No aparece la vista previa de WhatsApp? Arregla el og:image
- Cómo almacenar en caché imágenes OG
- Sincronización de precios de WooCommerce en la vista previa de WhatsApp
- Integración con WooCommerce: FastOG para WooCommerce
Pruébalo gratis: no se requiere registro
Previsualiza y prueba imágenes OG dinámicas en segundos.
Abrir el probador gratuito de imágenes OG