En 2010, Facebook lanzó Open Graph con el fin de mejorar la pre­se­n­ta­ción de las páginas web externas en su propia pla­ta­fo­r­ma. Para lograrlo, los de­sa­rro­lla­do­res de la red social crearon un sistema muy in­te­re­sa­n­te: Open Graph Protocol (OGP) convierte las páginas web en objetos, lo que facilita a los usuarios de la pla­ta­fo­r­ma compartir contenido de fuentes externas en la red social. Esto es algo fu­n­da­me­n­tal para los ad­mi­ni­s­tra­do­res de páginas web pues, al fin y al cabo, lo normal es que todos quieran aumentar su vi­si­bi­li­dad.

Después de Facebook, otras redes sociales, como Twitter, LinkedIn o Xing, se han subido al tren de Open Graph y lo han im­ple­me­n­ta­do. Por ello, este protocolo se ha co­n­ve­r­ti­do en una he­rra­mie­n­ta muy im­po­r­ta­n­te en el ámbito del diseño web.

Crea una página web
MyWebsite ahora con funciones IA
  • Creador de páginas web rápido e intuitivo
  • Imágenes y textos im­pa­c­ta­n­tes, generados en un instante
  • Dominio, SSL y buzón de correo ele­c­tró­ni­co incluidos

¿Cómo funciona el Facebook Open Graph?

Si un usuario comparte una página web en las redes sociales, esta debe vi­sua­li­zar­se de alguna manera en dichas pla­ta­fo­r­mas. La imagen del enlace y el texto que la acompaña tienen que reflejar la página lo mejor posible y animar a otras personas a visitarla. Para que el contenido que aparece en el enlace a la página web no se muestre de cualquier forma, los di­se­ña­do­res web utilizan Open Graph.

Al incluir los tags de Open Graph en el código fuente de la página web, pueden controlar la apa­rie­n­cia que tendrá el enlace a la página en las redes sociales. Por este motivo, Open Graph también resulta in­te­re­sa­n­te para el marketing online. El protocolo permite a los pro­pie­ta­rios decidir cómo se presenta el contenido que comparten y preparar mejor la in­fo­r­ma­ción para los usuarios.

Las etiquetas co­rre­s­po­n­die­n­tes se in­tro­du­cen en el en­ca­be­za­do del documento HTML como meta property:

<meta property="og:title" content="Título de la página web tal y como debe aparecer en Facebook"/>

En primer lugar, se define el tipo de etiqueta y, a co­n­ti­nua­ción, se le asigna un valor o contenido.

Hecho

Twitter ha in­tro­du­ci­do sus propias etiquetas. Sin embargo, si el bot de Twitter no las encuentra cuando las busca por la página, también recurre a Open Graph.

Antes de comenzar a insertar las di­fe­re­n­tes meta pro­pe­r­ties, se debe es­pe­ci­fi­car el vo­ca­bu­la­rio en un prefijo.

<html prefix="og: http://ogp.me/ns#">

A co­n­ti­nua­ción, ya podemos in­tro­du­cir el título del documento.

Los pri­n­ci­pa­les Open Graph tags

Existen muchas etiquetas Open Graph que pueden in­tro­du­ci­r­se en las webs, aunque lo más im­po­r­ta­n­te son los datos que figuran a co­n­ti­nua­ción. Conviene añadirlos en todas y cada una de las páginas web de­s­ti­na­das a ser co­m­pa­r­ti­das en las redes sociales.

Title

Al compartir una página web en las redes sociales ¿qué título debe aparecer en el enlace? La etiqueta title permite es­pe­ci­fi­car­lo. En Facebook, el título nunca debería superar una longitud de 95 ca­ra­c­te­res. Ten en cuenta que, después de unos 50 ca­ra­c­te­res, hay un salto de línea, lo que también influye en cómo reac­cio­nan los usuarios al enlace.

<meta property="og:title" content="Título de la página web"/>

Cualquier documento web ya tiene una etiqueta title, que desempeña un papel im­po­r­ta­n­te en los na­ve­ga­do­res y en los motores de búsqueda, entre otras funciones. En principio, este título puede repetirse en el tag de Open Graph, aunque el protocolo de Facebook también permite a los ad­mi­ni­s­tra­do­res de la página web in­tro­du­cir otro más adaptado a las redes sociales. Por ejemplo, es posible que la longitud permitida por Facebook se aproveche mejor con un título pe­r­so­na­li­za­do que uti­li­za­n­do la etiqueta estándar que aparece en los motores de búsqueda. Además, in­se­r­ta­n­do otra etiqueta title se puede adaptar el título al público objetivo de las redes sociales con mayor precisión.

De­s­cri­p­tion

La de­s­cri­p­ción del contenido de la página web también es una parte integral de todos los do­cu­me­n­tos HTML. Con la co­rre­s­po­n­die­n­te etiqueta de Open Graph, los di­se­ña­do­res web adaptan esta de­s­cri­p­ción a las redes sociales. Para ello, Facebook pro­po­r­cio­na un espacio de unos 300 ca­ra­c­te­res. De­pe­n­die­n­do del título o el URL, este espacio podría reducirse, por lo que lo ideal es ir sobre seguro y limitarse a un máximo de 200 ca­ra­c­te­res.

<meta property="og:description" content="Descripción de la página web"/>
Consejo

Al contrario que la de­s­cri­p­ción de HTML, la versión de Open Graph no es relevante en términos de SEO, de modo que las palabras clave no tienen ninguna im­po­r­ta­n­cia en este sentido.

Image

Además del título y la de­s­cri­p­ción, también hay una imagen que forma parte del enlace a la página. Con el tag de Open Graph, los ad­mi­ni­s­tra­do­res de la página web evitan que Facebook y otras pla­ta­fo­r­mas de redes sociales muestren en la pu­bli­ca­ción una de las imágenes que aparecen en la página de forma más o menos aleatoria, algo que puede llegar a ser de­sas­tro­so si, por ejemplo, se muestra la imagen de un banner pu­bli­ci­ta­rio en lugar de una imagen del artículo en sí.

<meta property="og:image" content="http://www.ejemplo.org/imágenes/vistaprevia.jpeg"/>

Es re­co­me­n­da­ble co­n­fi­gu­rar la imagen del enlace para que obtenga la mayor tasa de clics posible. Para ello, debes prestar atención no solo al contenido de la imagen, sino también al formato. Combinar imagen y texto suele dar buenos re­su­l­ta­dos –en este caso, debes colocar el texto lo más centrado posible, ya que a veces Facebook corta los bordes de la imagen. El formato óptimo es de 1200 x 627 píxeles. Co­n­fi­gu­ra­n­do así el tamaño, Facebook muestra la imagen encima del título y la de­s­cri­p­ción. Con un formato más pequeño, es posible que la imagen se desplace en forma de vista previa al lado del texto.

En la etiqueta image se puede in­co­r­po­rar más in­fo­r­ma­ción para que la imagen se vea impecable:

<meta property="og:image" content="http://www.ejemplo.org/imágenes/vistaprevia.jpeg"/>
<meta property="og:image:secure_url" content="https://www.ejemplo.org/imágenes/vistaprevia.jpeg"/>
<meta property="og:image:type" content="image/jpeg"/>
<meta property="og:image:width" content="1200"/>
<meta property="og:image:height" content="627"/>
<meta property="og:image:alt" content="Cascada tropical"/>
  • secure_url: si la web requiere HTTPS, esta etiqueta pro­po­r­cio­na una al­te­r­na­ti­va adecuada.
  • type: el tipo de medio siempre es image para una imagen, aunque en esta línea también se indica el formato. La IANA ha creado una lista de todos los tipos de medios di­s­po­ni­bles.
  • width: esta entrada indica el ancho de la imagen en píxeles.
  • hight: esta entrada indica la altura de la imagen en píxeles.
  • alt: el texto al­te­r­na­ti­vo, al igual que en HTML, describe el contenido de la imagen cuando no es posible mostrarla por el motivo que sea.

URL

Con la etiqueta URL se establece la dirección web de la página co­m­pa­r­ti­da. Puede parecer un poco re­du­n­da­n­te, porque el URL se conoce de todos modos. Sin embargo, algunos ad­mi­ni­s­tra­do­res de páginas web tienen varios URL para el mismo contenido, lo que puede servir, por ejemplo, para mejorar los procesos de se­gui­mie­n­to. El tag de Open Graph garantiza que el vínculo siempre se co­rre­s­po­n­da con la página web correcta.

<meta property="og:url" content="http://www.ejemplo.org/artículos/id3498/"/>
Nota

Facebook no muestra el URL completo en la vista previa, sino solo el dominio.

Type

La etiqueta type indica el tipo de contenido del enlace. Para la mayoría de las páginas web, los tipos “website”, “blog” o “article” suelen ser adecuados. Además de estos, hay otras po­si­bi­li­da­des:

  • website
  • article
  • blog
  • profile
  • book
  • video
    • video.movie
    • video.episode
    • video.tv_show
    • video.other
  • music
    • music.song
    • music.album
    • music.playlist
    • music.radio_station
Nota

Para poder utilizar el tipo “music” co­rre­c­ta­me­n­te, Facebook debe habilitar en primer lugar el operador de la página web co­rre­s­po­n­die­n­te. En la lista blanca figuran pri­n­ci­pa­l­me­n­te grandes empresas como Spotify.

En la práctica, también existen otros tipos que están re­co­pi­la­dos en una lista de schema.org. Todos los tipos que pre­se­n­ta­mos en este artículo se es­pe­ci­fi­can en la web oficial de Open Graph.

Hecho

Muchos tipos permiten añadir otras es­pe­ci­fi­ca­cio­nes, que se in­tro­du­cen como meta-pro­pe­r­ties es­pe­cia­les una vez es­ta­ble­ci­do el tipo. Aquí uti­li­za­mos un artículo a modo de ejemplo. Para el resto de tipos en­co­n­tra­rás más es­pe­ci­fi­ca­cio­nes en la web de Open Graph.

<meta property="og:type" content="article">
<meta property="article:published_time" content="2019-04-25">
<meta property="article:section" content="Multimedia">

En este ejemplo, el código no solo indica a la red social que el objeto es un artículo, sino también cuándo ha sido publicado y en qué categoría aparece.

Resumen de los tags de Open Graph

Además de los pri­n­ci­pa­les tags pre­se­n­ta­dos más arriba, existen muchos otros que puedes in­tro­du­cir en el código fuente de tu página web para adaptar el contenido aún mejor a las redes sociales.

Cada tag de Open Graph incluye un contenido que debe pre­se­n­tar­se en el lugar adecuado de la red social y que, además, debe estar en el formato correcto. La etiqueta og:title, por ejemplo, requiere una o más palabras, es decir, un string. También es posible in­tro­du­cir los si­guie­n­tes valores:

  • Boolean: valor de lógica binaria (verdadero, falso, 1, 0)
  • DateTime: fecha y hora en formato yyyy-mm-ddThh:mm:ss
  • Enum: conjunto de datos es­ta­ble­ci­dos (como hombre, mujer)
  • Float: número de coma flotante de 64 bits
  • Integer: número entero de 32 bits
  • String: secuencia de ca­ra­c­te­res Unicode
  • URL: URL operativo que utiliza los pro­to­co­los HTTP o HTTPS
  • Array: conjunto de valores
Etiqueta De­s­cri­p­ción Contenido
og:title Título de la web String
og:de­te­r­mi­ner Artículo gra­ma­ti­cal antes del título Enum
og:de­s­cri­p­tion De­s­cri­p­ción de la web String
og:site_name Nombre con el que aparece en línea String
og:url URL canónico URL
og:locale País e idioma String (language_TERRITORY)
og:locale:alternate Otros datos del país Array
og:type Tipo de contenido String
og:image Fuente de la imagen URL
og:image:secure_url URL seguro y al­te­r­na­ti­vo (HTTPS) URL
og:image:type Tipo de medio de la imagen String
og:image:width Ancho en píxeles Integer
og:image:height Altura en píxeles Integer
og:image:alt Texto al­te­r­na­ti­vo de la imagen String
og:audio Fuente del archivo de audio URL
og:audio:secure_url URL seguro y al­te­r­na­ti­vo (HTTPS) URL
og:audio:type Tipo de medio del archivo de audio String
og:audio:alt Texto al­te­r­na­ti­vo del archivo de audio String
og:video Fuente del vídeo URL
og:video:secure_url URL seguro y al­te­r­na­ti­vo (HTTPS) URL
og:video:type Tipo de medio del vídeo String
og:video:width Ancho del vídeo en píxeles Integer
og:video:height Altura del vídeo en pixeles Integer

Tags de Open Graph para di­fe­re­n­tes tipos de objetos:

Etiqueta De­s­cri­p­ción Contenido
music:duration Duración de la canción en segundos Integer (>=1)
music:album Álbum de la canción Array (music.album)
music:album:disc Disco (CD, cara de LP) de la canción Integer (>=1)
music:album:track Número de la canción en el álbum Integer (>=1)
music:musician Nombre del artista Array (profile)
music:song Canción del álbum String (music.song)
music:song:disc Disco (CD, cara de LP) de la canción Integer (>=1)
music:song:track Número de la canción en el álbum Integer (>=1)
music:release_date Fecha de la­n­za­mie­n­to del álbum DateTime
music:creator Creador de la lista de re­pro­du­c­ción o la emisora de radio Array (profile)
video:actor Miembro del reparto Array (profile)
video:actor:role Papel del miembro del reparto String
video:director Director de la película Array (profile)
video:writer Guionista de la película Array (profile)
video:duration Duración de la película en segundos Integer (>=1)
video:release_date Fecha de estreno de la película DateTime
video:tag Palabras clave del vídeo Array (String)
video:series Serie a la que pertenece el episodio String (video.tv_show)
article:published_time Fecha de pu­bli­ca­ción del artículo DateTime
article:modified_time Última mo­di­fi­ca­ción del artículo DateTime
article:ex­pi­ra­tion_time Fecha de retirada del artículo DateTime
article:author Autor del artículo Array (profile)
article:section Categoría del artículo String
article:tag Palabras clave del artículo Array (String)
book:author Autor del libro Array (profile)
book:isbn ISBN del libro String
book:release_date Fecha de pu­bli­ca­ción del libro DateTime
book:tag Palabras clave del libro Array (String)
profile:first_name Nombre de la persona String
profile:last_name Apellido de la persona String
profile:username Seudónimo de la persona String
profile:gender Género de la persona Enum

Cómo utilizar Open Graph: código de ejemplo

El siguiente ejemplo muestra un documento HTML muy simple preparado para las redes sociales con tags de Open Graph:

<!DOCTYPE html>
<html>
<html prefix="og: http://ogp.me/ns#">
<head>
<title>First Article</title>
<meta property="og:type" content="article">
<meta property="og:title" content="My first article">
<meta property="og:description" content="This is a very cool article.">
<meta property="og:site_name" content="Our Website">
<meta property="og:url" content="http://www.example.org/ogp_test.html">
<meta property="og:image" content="http://www.example.org/teddy.png">
<meta property="og:image:type" content="image/jpg"/>
<meta property="og:image:width" content="1200"/>
<meta property="og:image:height" content="627"/>
<meta property="og:image:alt" content="A teddy bear"/>
<meta property="article:published_time" content="2019-04-25">
<meta property="article:author" content="Carl">
</head>
<body>
<h1>My First Article</h1>
<p>This is a test.</p>
</body>
</html>

En este código, el documento se es­pe­ci­fi­ca como artículo, se indican el título, la de­s­cri­p­ción y el URL, y se establece una imagen adecuada. Además, se pro­po­r­cio­na más in­fo­r­ma­ción tanto sobre el artículo en sí como sobre la imagen.

Para verificar que también Facebook in­te­r­pre­ta­rá co­rre­c­ta­me­n­te el código, no hay que esperar a que alguien comparta el contenido: Facebook ofrece el Sharing Debugger, una he­rra­mie­n­ta que comprueba si hay problemas en el código fuente y que presenta toda la in­fo­r­ma­ción re­co­pi­la­da. Además, esta he­rra­mie­n­ta muestra cómo aparecerá el enlace en Facebook.

Para utilizar el Debugger solo necesitas disponer de una cuenta de Facebook. Asimismo, el sitio que vaya a revisarse ya debe estar di­s­po­ni­ble en línea.

Ir al menú principal