Clicky

Cómo evitar duplicar en Joomla las etiquetas de Open Graph

Open Graph en Joomla

Instrucciones para las plantillas de GavickPro®

Desde hace unos días en uno de mis sitios web me venía dando un error al compartir una noticia en Google+ : no aparecía la imagen de cabecera del artículo. En su lugar se mostraba el widget de FeedBurner para suscribirse y que indica los 5 últimos artículos publicados.

Me he estado rompiendo la cabeza una semana desinstalando un plugin SEO que pensaba que era el culpable y no lo era. Tampoco la última versión de Joomla! que he reinstalado sin resultado, además de que en otros sitios web que publico, como este, no me daba ese error.

El culpable parece ser la plantilla de GavickPro® de Joomla! que utilizo en ese sitio (es algo antigua) y coloca automáticamente las <meta> de Open Graph en el código fuente. En este caso particular me insertaba detrás de la URL una línea (no se porqué) que redirigía al widget de FeedBurner que he comentado antes. Así como esta: https://www.vistaalmar.es/medio-ambiente/fenomenos-naturales/6154-miles-de-bolas-de-nieve-en-esta-playa-de-siberia-parecen-sacadas-de-un-cuento.html?utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+vistaalmar+%28Vista+al+Mar%29

Qué es Open Graph

Según su página web, "el protocolo Open Graph permite a cualquier página web convertirse en un objeto rico en un gráfico social. Por ejemplo, esto se utiliza en Facebook para permitir a cualquier página web tener la misma funcionalidad que cualquier otro objeto en Facebook.

Mientras que existen muchas tecnologías y esquemas diferentes y podrían combinarse juntos, no hay una única tecnología que proporcione suficiente información para representar ricamente cualquier página web en el gráfico social. El protocolo Open Graph se basa en estas tecnologías existentes y ofrece a los desarrolladores una cosa para poner en práctica. La simplicidad del desarrollador es un objetivo clave del protocolo Open Graph que ha informado a muchas de las decisiones de diseño técnico".

Un ejemplo de las <meta> de Open Graph:

<meta property="og:type" content="website" />
<meta property="og:title" content="Miles de bolas de nieve en esta playa de Siberia parecen sacadas de un cuento" />
<meta property="og:url" content="https://www.vistaalmar.es/medio-ambiente/fenomenos-naturales/6154-miles-de-bolas-de-nieve-en-esta-playa-de-siberia-parecen-sacadas-de-un-cuento.html" />
<meta property="og:description" content="Las brillantes bolas alcanzaron diámetros de hasta 25 centímetros" />
<meta property="og:image" content="https://www.vistaalmar.es/images/stories/fotos-64/bolas-nieve-siberia.jpg" />

La solución en la plantilla

Edita el archivo /templates/nombre-tu-template/html/com_content/article/default.php y comenta o borra estas lineas:

$doc->setMetaData( 'og:title', $og_title );
$doc->setMetaData( 'og:type', $og_type );
$doc->setMetaData( 'og:url', $og_url );
$doc->setMetaData( 'og:image', $og_image );
$doc->setMetaData( 'og:site_name', $og_site_name );
$doc->setMetaData( 'og:description', $og_desc );

De esta manera desaparecerán las <meta> de Open Graph que por defecto inserta la plantilla de GavickPro® y si tienes otro plugin o componente que las genera sólo quedarán las de él.

Si quisieras añadir de nuevo las <meta> de Open Graph, deberás echar mano de uno de los plugins que te proporciona Joomla!. En mi caso particular uso JB:SocialShare, que también me facilita los comentarios de Facebook y compartir en Google+, Twitter, Pinterest y alguno más.

Jesus_Caceres