facebook - siguientes - la propiedad og image de la url proporcionada no es válida
Error de gráfico abierto de Facebook-Propiedad inferida (5)
Estoy tratando de implementar el protocolo OpenGRaph de Facebook en mis páginas de productos.
En cada página tengo esto arriba de la sección de la cabeza:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
Luego, dentro de la sección principal, tengo:
<meta property="og:title" content="This Page Title"/>
<meta property="og:type" content="product"/>
<meta property="og:url" content="http://www.mywebaddress.com"/>
<meta property="og:image" content="http://www.myimage.jpg"/>
<meta property="og:site_name" content="My Site Name"/>
<meta property="fb:admins" content="10101010101"/>
<meta property="og:email" content="[email protected]"/>
<meta property="og:description" content="Description of my product."/>
Entonces tengo un botón ''me gusta'' con este código:
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, ''script'', ''facebook-jssdk''));</script>
<div class="fb-like" data-href="http://thispagesurl" data-send="true" data-width="350" data-show-faces="false"></div>
A mi juicio, todo parece replicar lo que se puede encontrar en la página de Desarrolladores de Facebook, pero cuando me gusta, aparentemente Facebook solo está recogiendo el título de la página y la información general.
He intentado ''depurar'' la página usando su depurador de Objetos, y recibo estas advertencias:
Inferred Property The og:url property should be explicitly provided, even if a value can be inferred from other tags.
Inferred Property The og:title property should be explicitly provided, even if a value can be inferred from other tags.
Inferred Property The og:image property should be explicitly provided, even if a value can be inferred from other tags.
Inferred Property The og:locale property should be explicitly provided, even if a value can be inferred from other tags.
Por lo que puedo decir, he seguido las instrucciones de Facebook al pie de la letra, pero no me agrada. ¿Alguien puede señalar si estoy haciendo algo mal?
Gracias de antemano, Dan
¿Están esas etiquetas en ''http://www.mywebaddress.com''?
Tenga en cuenta que linter seguirá la etiqueta og: url ya que esta etiqueta debe apuntar a la URL canónica del contenido, por lo tanto, si tiene una página, p. Ej., "Http://mywebaddress.com/article1" con un og:url
etiqueta og:url
apunta a ''http://mywebaddress.com'', Facebook irá allí y leerá las etiquetas también allí.
En su defecto, la razón más común que he visto para que las etiquetas aparentemente correctas no sean detectadas por el linter es la detección del agente de usuario que devuelve contenido diferente al rastreador de Facebook que el contenido que está viendo cuando comprueba manualmente
En caso de que ayude a alguien, tuve el mismo error. Resultó que mi página no había sido eliminada por Facebook en un tiempo y era un viejo error. Hubo un botón de raspar otra vez en la página que lo arregló.
Existe cierta confusión sobre toneladas de herramientas y documentación de Facebook. Muchas personas probablemente utilicen la herramienta Sharing Debugger para verificar su marcado de OpenGraph: https://developers.facebook.com/tools/debug/sharing/
Pero solo recupera la información sobre su sitio de la memoria caché de Facebook . Esto significa que después de cambiar el marcado ogp en su sitio, Sharing Debugger seguirá utilizando los datos almacenados en caché. Además, si no hay datos almacenados en caché en el servidor de Facebook, entonces el Depurador Compartido le mostrará el error: This URL hasn''t been shared on Facebook before.
Entonces, la solución es usar otra herramienta - Open Graph Object Debugger : https://developers.facebook.com/tools/debug/og/object/
Le permite obtener nueva información de raspado y actualizar la memoria caché de Facebook:
Honestamente, no sé cómo encontrar esta herramienta explorando la sección Herramientas y Soporte de developers.facebook.com - No puedo encontrar ningún enlace y menciones. Solo tengo esta herramienta en mis marcadores. Eso es Facebook :)
Use ''property''-attrs
También noté que algunos desarrolladores usan el atributo de name
lugar de la property
. Es probable que muchos analizadores procesen dichas etiquetas correctamente, pero de acuerdo con el protocolo Open Graph , deberíamos usar property
, not name
:
<meta property="og:url" content="http://www.mywebaddress.com"/>
Use URL completas
La última recomendación es especificar URL completas. Por ejemplo, Facebook se queja cuando usa la URL relativa en og:image
. Entonces usa el completo:
<meta property="og:image" content="http://www.mywebaddress.com/myimage.jpg"/>
Necesitas un espacio después del conjunto final de comillas
<meta property="og:url" content="http://www.mywebaddress.com"/>
Debería ser ... me gusta este
<meta property="og:url" content="http://www.mywebaddress.com" />
Podría ayudar a algunas personas que están luchando para que Facebook lea Open Graph muy bien ...
Eche un vistazo al código fuente que genera el navegador usando Firefox, Chrome u otro navegador de escritorio (muchos dispositivos móviles no verán el código fuente) y asegúrese de que no haya líneas en blanco antes de la línea doctype o la etiqueta principal ... Si hay ¡Facebook tendrá una rabieta completa y arrojará sus juguetes fuera del cochecito! (¡La mejor descripción!) Eliminar línea en blanco - feliz Facebook ... ¡me tomó aproximadamente 1.5 - 2 horas para detectar esto!