Tutorial: Maximiza el alcance en redes sociales con Open Graph y Twitter Cards

batcher Seguir

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 May 2014
Mensajes
14
Para mejorar como se comparte el contenido en facebook, twitter y g+, ya sea de los "me gusta" o los "tuits" o directamente compartiendo la url del artículo en concreto tenemos que utilizar las herramientas que nos proporcionan los sitios oficiales, para este caso el protocolo de open graph que sirve para facebook y g+ y las twitter cards de twitter.

Protocolo Open Graph para facebook y g+

Para implementar este sistema en nuestra web tenemos que colocar el siguiente código entre las etiquetas <head> ... </head> de nuestra página.

HTML:
<meta property="og:title" content="el título de nuestro artículo" />
<meta property="og:type" content="el tipo de contenido a compartir" />
<meta property="og:description" content="descripción" />
<meta property="og:url" content="el link del artículo" />
<meta property="og:image" content="la imagen que queremos destacar para compartir" />

Podemos añadir más etiquetas meta para definir más el contenido, pero estas son las mínimas exigidas por facebook para compartir. Se entiende que la explicación lo has de cambiar por tus datos y, muy importante, la imagen a destacar ha de ser de 200 x 200 mínimo para que la lea correctamente.

Podemos implementar este sistema en nuestros artículos de WordPress muy facilemente, por ejemplo en el single.php ponemos,

HTML:
<?php $postid = get_the_ID(); ?> 
<meta property="og:title" content="<?php echo get_the_title( $postid ); ?> " />
<meta property="og:type" content="<?php echo get_post_type( $postid ) ?>" />
<meta property="og:description" content="<?php the_excerpt( $postid ); ?>" />
<meta property="og:url" content="<?php echo get_permalink( $postid ); ?>" />
<meta property="og:image" content="<?php wp_get_attachment_url( $postid ); ?>" />

Nota: hace tiempo que no trabajo con wp y no se si ha cambiado como se usan las funciones, creo recordar que si no pones la variable $postid, wp automaticamente utiliza la del post que se esta visualizando en ese momento y recoge los datos de la misma manera. Corregidme si me equivoco :p7:

También podemos implementar el sistema en blogger (no he trabajo con blogger, pero os lo he buscado :encouragement:)

HTML:
<meta property='og:title' expr:content='data:blog.pageName' />
<meta property='og:title' expr:content='data:blog.title' />
<b:if cond='data:blog.metaDescription'><meta property='og:description' expr:content='data:blog.metaDescription' /></b:if>
<meta property='og:url' expr:content='data:blog.canonicalUrl' />
<b:if cond='data:blog.postImageThumbnailUrl'><meta property='og:image' expr:content='data:blog.postImageThumbnailUrl' /></b:if>

Podemos probar si nuestro código funciona en el debugger que nos proporciona facebook en está página. (vamos a "tools" y luego "Open Graph Debugger"). Nos hemos de loggear con nuestra cuenta de facebook.

Para las Twitter Cards

Las Twitter Cards es una manera de destacar contenido en los tuits que se publican, de la misma manera que antes hay que añadir el código entre las etiquetas <head> ... </head>, pero el código es especial para twitter. Hay varios tipos de card y tenemos que elegir el que más nos convenga, yo he elegido un articulo (summary card), pero podemos ver todos los tipos aquí.

HTML:
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="el usuario de twitter de la web">
<meta name="twitter:creator" content="el usuario de twitter del que ha creado el contenido">
<meta name="twitter:title" content="titulo del articulo">
<meta name="twitter:description" content="descripción">
<meta name="twitter:image" content="link de la imágen a destacar">

Como antes solo hemos de sustituir lo que esta explicado por tus datos, vamos ahora a implementarlo en WordPress y luego en Blogger:

HTML:
<?php $postid = get_the_ID(); ?>
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@usuario" />
<meta name="twitter:creator" content="@usuario" />
<meta name="twitter:title" content="<?php echo get_the_title( $postid ); ?>" />
<meta name="twitter:description" content="<?php the_excerpt( $postid ); ?>" />
<meta name="twitter:image" content="<?php wp_get_attachment_url( $postid ); ?>" />

HTML:
<meta name='twitter:site' content='@usuario'/>
<meta name='twitter:card' content='summary'/>
   <b:if cond='data:blog.postImageThumbnailUrl'>
      <meta name='twitter:image' expr:content='data:blog.postImageThumbnailUrl'/> 
   </b:if>
</b:if>
<meta name='twitter:title' expr:content='data:blog.pageName'/>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
   <meta name='twitter:description' expr:content='data:post.snippet'/>
<b:else/>
   <meta name='twitter:description' content='descripción de nuestro sitio'/>     
</b:if>

Twitter también tiene un validador como el debugger de facebook para probar si todo esta correcto.

Una última cosa, ahora mismo no tengo ningún wp ni blogger para poder probarlo, si alguién se decide a hacerlo que nos diga el resultado, que soy humano y me puedo equivocar, aunque debería funcionar :confused:

Créditos

 

visitardubai

1
Ro
Verificación en dos pasos activada
Verificado por Whatsapp
Suscripción a IA
Desde
27 Feb 2013
Mensajes
8.159
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Gracias por el tutorial
 

4mer

Dseda
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
8 May 2014
Mensajes
1.097
Por lo que veo en la imagen de Twitter, lo que hace esto es algo así como mostrar un preview del contenido de tu web, dentro del tweet?

De ser así es un excelente aporte.

:celular:
 

Carlos Arreola

Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Excelente comerciante!
Suscripción a IA
Desde
6 Abr 2009
Mensajes
12.377
Muchas gracias, ¿podrías explicar un poco mejor que es lo que hace insertado en la web o cómo nos ayudan estas herramientas?
 

4mer

Dseda
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
8 May 2014
Mensajes
1.097
Para blogger Twitter

HTML:
<meta name='twitter:site' content= [MENTION=27453]USUARIO[/MENTION]'/>
<meta name='twitter:card' content='summary'/>
   <b:if cond='data:blog.postImageThumbnailUrl'>
      <meta name='twitter:image' expr:content='data:blog.postImageThumbnailUrl'/> 
   </b:if>
</b:if>
<meta name='twitter:title' expr:content='data:blog.pageName'/>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
   <meta name='twitter:description' expr:content='data:post.snippet'/>
<b:else/>
   <meta name='twitter:description' content='descripción de nuestro sitio'/>     
</b:if>

En ese código, que partes se deben editar poniendo nuestra información?

Donde dice 'descripción del sitio' se pone la desc. Y en [MENTION=27453]USUARIO[/MENTION] imagino q se pone el usuario de tw del blog. Pero hay que cambiar otra cosa o ya con poner esos 2,datos basta?


:celular:
 

batcher

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 May 2014
Mensajes
14
Por lo que veo en la imagen de Twitter, lo que hace esto es algo así como mostrar un preview del contenido de tu web, dentro del tweet?

De ser así es un excelente aporte.

Exactamente, es como la preview de facebook pero en twitter, si vas al link que he dejado abajo "Twitter Cards" mira cualquiera de esos tipos de cartas y veras como quedan en el tuit. Varía dependiendo el modelo que elijas.

Muchas gracias, ¿podrías explicar un poco mejor que es lo que hace insertado en la web o cómo nos ayudan estas herramientas?

De acuerdo, ahora me pongo a ello :encouragement:

---------- Post agregado el 15-may-2014 hora: 18:21 ----------

En ese código, que partes se deben editar poniendo nuestra información?

Donde dice 'descripción del sitio' se pone la desc. Y en [MENTION=27453]USUARIO[/MENTION] imagino q se pone el usuario de tw del blog. Pero hay que cambiar otra cosa o ya con poner esos 2,datos basta?

Solo hay que poner esas dos cosas, por que lo otro esta rellenado con las funciones propias de blogger y, teóricamente, blogger ya se encargará de poner ahí la información de forma automática, como lo hacen las funciones de WordPress. En los dos sitios que comentas pones tu usuario de twitter o el de tu sitio web y esto hará que cuando alguien tuitee en su tuit te haga mención a ti, es decir en su tuit saldrá @tu_usuario y en lo de descripción de nuestro sitio pues eso, añades la descripción de tu sitio por que en el caso de compartir algo que no tenga un resumen hecho pues indicará esa descripción que tu has escrito ahí. Ahora hago un poco de resumen e intentare poner un par de imágenes para que quede un poco más claro.
 
Última edición:

batcher

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 May 2014
Mensajes
14
Adjunto tres imágenes para ver claro que hace cada parte del código, tanto en twitter, facebook y g+. Cada texto en rojo pertence a la parte del código que lo define y lo que muestra es lo que indicamos dentro de content = " ".

En facebook se comparte de la siguiente manera, cuando ponemos el link en la casilla del estado o cuando damos un me gusta para publicarlo en nuestro muro.

explicación fb og.png


En google plus lo hace muy similar. Aunque no aparace el campo de url es importante definirlo.

explicación g+ og.png


Y por último en twitter, en este caso varía si eliges otro tipo de carta, en la imagen es un "summary" el que he utilizado para el ejemplo. En el recuadro rojo se ve el tuit normal y el resto de información pertenece a la carta.

explicación twit card.png

Nota: la diferencia, en twitter, entre twitter : site y twitter : creator es la siguiente. Para site es el usuario del sitio, por ejemplo @ forobeta y para creator es el usuario de la persona que ha hecho el artículo, en este caso @ batcher. Si en tu blog solo escribes tu, ambas cosas seran el mismo usuario.
 
Última edición:
Arriba