Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Cómo añadir metadatos Open Graph de Facebook en temas de WordPress

Nota editorial: Ganamos una comisión de los enlaces de socios en WPBeginner. Las comisiones no afectan a las opiniones o evaluaciones de nuestros editores. Más información sobre Proceso editorial.

¿Quieres añadir los metadatos Open Graph de Facebook a tus temas de WordPress?

Los metadatos Open Graph ayudan a Facebook y a otros sitios web de medios sociales a obtener información acerca de tus entradas y páginas de WordPress. También te permite controlar cómo aparece tu contenido cuando se comparte en Facebook.

En este artículo, te mostraremos cómo añadir fácilmente los metadatos Open Graph de Facebook en temas de WordPress.

Add Facebook open graph meta data in any WordPress theme

Vamos a compartir tres métodos diferentes para que pueda elegir el que mejor se adapte a su sitio web WordPress:

Método 1: Añadir metadatos Open Graph de Facebook con AIOSEO

All in One SEO es un popular plugin SEO para WordPress utilizado por más de 3 millones de sitios web. Le permite optimizar fácilmente su sitio web para los motores de búsqueda, así como plataformas sociales como Facebook y Twitter.

En primer lugar, debe instalar y activar el plugin gratuito All in One SEO. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

Una vez activado, tienes que visitar la página All in One SEO ” Redes Sociales. Aquí, puede introducir la URL de su página de Facebook y todas sus otras redes sociales.

AIOSEO social network settings

A continuación, haz clic en la pestaña Facebook de la parte superior de la página y verás que Open Graph Markup está activado por defecto.

Puedes hacer clic en el botón “Subir o seleccionar imagen” para elegir una imagen por defecto de Facebook OG si un artículo no tiene una imagen de Open Graph.

Set default Open Graph image

Si se desplaza hacia abajo, podrá personalizar el nombre de su sitio, la descripción y otros ajustes. No olvides hacer clic en el botón azul “Guardar cambios” cuando hayas terminado.

Ahora que ha establecido los metatags de Open Graph para todo el sitio, el siguiente paso es añadir metadatos de Open Graph para entradas y páginas individuales.

Por defecto, AIOSEO utilizará el título y la descripción de tu entrada para el título y la descripción de Open Graph. También puedes establecer manualmente la miniatura de Facebook para cada página y entrada.

Simplemente edita la entrada o página y desplázate hasta la sección “Ajustes de AIOSEO” debajo del editor. Desde aquí, cambia a la pestaña Social y verás una vista previa de tu miniatura.

AIOSEO Facebook preview

Aquí puedes establecer la imagen de los medios sociales, así como el título y la descripción.

Desplácese hasta el campo “Fuente de la imagen”. Puede elegir utilizar la imagen destacada, subir una imagen personalizada u otras opciones.

Choose which WordPress image to use as your Facebook thumbnail

Método 2: Establecer los metadatos Open Graph de Facebook con Yoast SEO

Yoast SEO es otro plugin SEO para WordPress que puedes utilizar para añadir metadatos Open Graph de Facebook a cualquier sitio WordPress.

Lo primero que tienes que hacer es instalar y activar el plugin Yoast SEO. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

Una vez activado, debe ir a SEO ” Social y seleccionar la opción “Activado” en “Añadir metadatos Open Graph”.

Enable Facebook Open Graph

Puedes guardar tus ajustes o continuar y configurar otras opciones sociales de Facebook.

Puedes proporcionar un ID de aplicación de Facebook si utilizas uno para tu página de Facebook e insights. También puedes cambiar el meta title, la meta description y la imagen de Open Graph de tu página de inicio.

Por último, puede establecer una imagen por defecto que se utilizará cuando no se haya establecido ninguna imagen para una entrada o página.

Yoast SEO también te permite establecer metadatos Open Graph para entradas y páginas individuales. Solo tienes que editar una entrada o página y desplazarte hasta la sección “Yoast SEO” situada debajo del editor.

Set open graph meta data for post and pages

Desde aquí, puedes establecer una miniatura de Facebook para esa entrada o página en particular. Si no estableces el título o la descripción de la entrada, el plugin utilizará tu meta title y description de SEO.

Ahora puedes guardar tu entrada o página, y el plugin almacenará tus metadatos Open Graph de Facebook.

Método 3: Añadir metadatos Open Graph de Facebook mediante código

Este método requiere que edite los archivos de su tema, así que asegúrese de hacer una copia de seguridad de los archivos de su tema antes de realizar cualquier cambio.

Después, simplemente copie y pegue este código en el archivo functions. php de su tema o añada el fragmento de código utilizando el plugin WPCode (recomendado).

Primero, instala y activa el plugin gratuito WPCode. Para más detalles, consulta nuestra guía sobre cómo instalar un plugin de WordPress.

Una vez activado, puede ir a Fragmentos de código ” + Añadir fragmento desde su escritorio de WordPress. Debe pasar el cursor por encima del primer fragmento de código denominado “Añada su código personalizado (nuevo fragmento de código)” y hacer clic en el botón “Usar fragmento de código”.

Adding Your Custom Code in WPCode

Esto creará un nuevo fragmento de código donde tendrás que escribir un título y seleccionar el tipo de código ‘PHP Snippet’. Después de eso, usted necesita para publicar el siguiente código en la sección ‘Vista previa del código’:

//Adding the Open Graph in the Language Attributes
function add_opengraph_doctype( $output ) {
        return $output . ' xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"';
    }
add_filter('language_attributes', 'add_opengraph_doctype');
 
//Lets add Open Graph Meta Info
 
function insert_fb_in_head() {
    global $post;
    if ( !is_singular()) //if it is not a post or a page
        return;
        echo '<meta property="fb:app_id" content="Your Facebook App ID" />';
        echo '<meta property="og:title" content="' . get_the_title() . '"/>';
        echo '<meta property="og:type" content="article"/>';
        echo '<meta property="og:url" content="' . get_permalink() . '"/>';
        echo '<meta property="og:site_name" content="Your Site Name Goes Here"/>';
    if(!has_post_thumbnail( $post->ID )) { //the post does not have featured image, use a default image
        $default_image="http://example.com/image.jpg"; //replace this with a default image on your server or an image in your media library
        echo '<meta property="og:image" content="' . $default_image . '"/>';
    }
    else{
        $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' );
        echo '<meta property="og:image" content="' . esc_attr( $thumbnail_src[0] ) . '"/>';
    }
    echo "
";
}
add_action( 'wp_head', 'insert_fb_in_head', 5 );

Recuerde añadir el nombre de su sitio en la línea 17, donde dice “El nombre de su sitio va aquí”. A continuación, cambie la URL de imagen por defecto en la línea 19 por una de sus propias URL de imagen.

Te recomendamos que pongas una imagen con tu logo ahí, de modo que si tu entrada no tiene miniatura, entonces tire del logo de tu sitio.

También tienes que añadir tu propio ID de aplicación de Facebook en la línea 13. Si no tienes una aplicación de Facebook, puedes eliminar la línea 13 del código.

The New Code Snippet in WPCode

Una vez que hayas terminado de actualizar el código, tienes que activar el fragmento de código y hacer clic en el botón “Guardar fragmento de código”. Tu tema empezará a mostrar los metadatos de Facebook Open Graph en la cabecera de WordPress.

Guías de expertos sobre Facebook y WordPress

Ahora que ya sabes cómo añadir los metadatos Open Graph de Facebook, puede que te interese ver otras guías relacionadas con el uso de Facebook en WordPress:

Esperamos que este artículo te haya ayudado a añadir los metadatos Open Graph de Facebook en WordPress. También puedes consultar nuestra guía sobre cómo organizar un sorteo o concurso en WordPress o nuestra selección de los mejores plugins de Facebook para hacer crecer tu blog.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Descargo: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, podemos ganar una comisión. Vea cómo se financia WPBeginner , por qué es importante, y cómo puede apoyarnos. Aquí está nuestro proceso editorial .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

El último kit de herramientas de WordPress

Obtenga acceso GRATUITO a nuestro kit de herramientas - una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Reader Interactions

222 comentariosDeja una respuesta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. wpbeginner says

    @SteveJoseph@joshuatj Josh not sure when you last checked the plugin, but our plugin has full support for the og:description. It has been there since version 0.1.2. Here is the changelog:http://wordpress.org/extend/plugins/facebook-open-graph-meta-in-wordpress/changelog/In version 0.1.3, we improved the description code to actually look for Yoast’s plugin’s description code, and if that doesn’t exist then it pulls the post excerpt if that exists.

  3. SteveJoseph says

    @joshuatj Good point and thanks again for the links and your help. It’s much appreciated. Between Linter and the Yoast plugin I should be ok. All the best.

  4. SteveJoseph says

    @joshuatj I tried linter before but that only fixed the 1st post. The rest still display the old copy. I just realized however that if I lint each unique page then it shows the correct information which is what you’ve posted above. Annoying but I guess this is what I’ll need to use for now or check out the link you provided and see if that plugin works for me. Much thanks mate! Cheers.

  5. joshuatj says

    @SteveJoseph Oops, you’re right, I did make a typo mistake there. I meant “Yoast”. http://yoast.com/wordpress/seo/But in actual fact, Yoast does more than just solving the og-description issue, so it might not be what you want. I just used URL Linter (http://developers.facebook.com/tools/lint/) for your site. It seem to be displaying this description “Future Tomorrow is the collective online moniker, portfolio site and blog of Steve Joseph. With over 14yrs creative experience across several disciplines and knowledge that far extends beyond “just being a creative”, there is much to share but still more to learn.”. Is that what you want in the description field? Try “sharing on Facebook” again?

  6. SteveJoseph says

    @joshuatj Thanks for the response joshuatj. Unfortunately a search of “Yeost Facebook Plugin” or “Yeost Plugin” didn’t return any helpful results in guiding me to this possible solution. Do you have a direct link?

    I also tried searching “Yoast” thinking there may have been a typo in your response and that still didn’t lead me to a solution. Any further help would be greatly appreciated. Thanks for your time.

  7. SteveJoseph says

    Hi,

    I tried both your plug-in and code method and neither worked. When clicking “share this on Facebook” from my blog, my title is correct, URL is correct, image is correct but the description is old and incorrect. Is there an update to the code or plug-in where the “description” is properly displayed?Thanks in advance.

    Cheers,

    Steve

  8. joshuatj says

    The plugin is awesome! Thanks wpbeginner! However it’ll be awesome if we can also add the “description” content for the <meta property=”og:description” content=””> meta tag

  9. ExpandSM says

    Thanks for this plugin! I have a blog that is also a Buddypress site and I can’t get it to pull the post excerpt. Any suggestions?

  10. jaffa says

    @wpbeginner Thank you for your reply.

    I realise I’m turning into the biggest pain on this thread and this will be my last question:

    I use the catch that image and tim thumb function on my site and was wondering how or if I could implement that into this function to replace the code that looks for a featured image?

    Sometimes I don’t use the featured image so it would be handy if the script could just look for the first image in the post and if that is not there then use the default.

    Thanks in advance :)

  11. dbrabyn says

    @wpbeginner @dbrabyn Fair enough. I’ve just tried it and for a post with no featured image but a post image, FB Lint tells me “The image url is not compliant with RFC2396 and will not be displayed correctly.” The absence of a default image is a problem too. Thanks anyway.

  12. wpbeginner says

    @jaffa If you don’t have these meta tags, and the user LIKES a post using the like button on your blog (FB will pick a random image for them)….Now if they put the link on their Facebook profile (then they will get option)… Most of the time folks click on the like button then actually copying the link and pasting on their facebook status box. This plugin actually fixes that issue.

  13. wpbeginner says

    @dbrabyn The plugin that we have in the repository actually does that. It looks for the featured image and if no featured image is found it falls back to the first image of the post… The snippet in this post doesn’t do that. Just use the plugin.

  14. jaffa says

    Finally got this working with the help of wpbeginner!

    I have a question though, when I share a page that doesn’t have any images in the content the default image is used. Is it possible to specify more than one default image?

    Also, I noticed if I share the homepage of the website, I have a choice of all the images on the page to pick from but when sharing a normal page I am forced to use the default only. Is there a way to see all images on the page?

    Thanks

  15. dbrabyn says

    Any way to make this function grab the first image from the post, then the featured image, then the default image? Just like get_the_image does.

  16. wpbeginner says

    @jaffa If you send us an email using the contact form, we can definitely look into it and help you get this working.

  17. jaffa says

    @wpbeginner It is not that I am not satisfied with the article here, it’s just I can’t seem to get it working. I always visit this site as it has helped me greatly and allowed me to learn a lot about wp.

    I couldn’t get the opengraph to work and then started looking elsewhere online which lead me to other articles that just confused me really. I then came back here to try again. Maybe I have done something incorrect or there is something not right in my theme that is preventing it from working. That’s what I meant by ‘I’ll figure it out’

    I appreciate your replies and help.

    Thank you.

  18. wpbeginner says

    @jaffa You don’t need an app if you don’t want it. You can still retrieve analytics for your like buttons through your personal account. There is nothing to figure out because the article explains everything, but if you still are not satisfied then sure do further research.

  19. jaffa says

    @wpbeginner ok, thanks!

    Other articles suggested an app needed to be created which is why I was confused. Nevermind, I’ll figure it out.

    :)

  20. wpbeginner says

    @jaffa You DO NOT have to create a facebook application for this tutorial. It will work regardless. We have the app on our page for other reasons that does not relate to the tutorial mentioned in this article….

  21. jaffa says

    @wpbeginner thanks for your reply. I was getting very confused :s

    Do I need to create a facebook application for this open graph to work correctly? I just checked the source code for this page and you have an ‘fb:app_id’ field which isn’t included in the code above?

    I apologise for all the questions, if anyone can direct me to some documentation about open graph I will happily try to find some answers and come back and share any info I may find.

    Thanks

    :)

  22. wpbeginner says

    @jbjb3077 Look at our article about showing custom fields anywhere on the site. Custom Fields 101 article covers that on our site :)

  23. jaffa says

    this may seem like a very silly question but in order for this to work do you have to create a facebook application first? I just have a regular facebook page and nothing else and I have tried this code many times but still cannot get it to work. When I run it through the linter tool I get the error: invalid app ID.

    Is the example of the USER ID above the same as an app ID or not?

  24. mark.bravura says

    Thanks again for your quick response. And that is the heart of my question… the Facebook Open Graph Meta For WordPress plugin is pulling in all of the meta data correctly, except for no excerpt/description data. Hence why I am wondering how to manually tweak it. Any suggestions?

  25. wpbeginner says

    @mark.bravura Your post title is being pulled as the title. Your excerpt is being pulled as the description. Your featured image (thumbnail) is being pulled as the thumbnail. Modify any of those, and you can modify the og data.

  26. mark.bravura says

    Thanks for the quick reply. So is there a reasonably easy way to manually fine tune (access/modify) the OG data?

  27. Liverpoolfcblog says

    Hey there wpbeginner @wpbeginner , the code is working fine. Thanks for that.

    Just have a question. I ran individual articles through facebook’s linter and all appeared fine. However, when I ran my home page through it says this:

    Required Property Missing og:title is required

    Required Property Missing og:type is required

    Required Property Missing og:url is required

    Required Property Missing og:image is required

    I noticed this in the code: if ( !is_singular()) //if it is not a post or a page return;

    Does adding the above four affect how facebook sees my site? For instance, will it categorize as a website and show the Title?

    Cheers.

    • Editorial Staff says

      You can remove the is_singular item and show this on the homepage… Most if not all WordPress blogs are only shared from the single post page. That is also the page where the Like button is prominent.

      Administrador

  28. jbjb3077 says

    hello my post images are in custom field (thumb) i had a hack with previous version but now cant figure it out how to add that. please help me. this is the code i have replaced

    if ( get_post_meta($post->ID, ‘thumb’, true) ) { //the post does have featured image $thumbnail_src = get_post_meta($post->ID, “thumb”, true); echo ‘<meta property=”og:image” content=”‘ . esc_attr( $thumbnail_src[0] ) . ‘”/>’; } else{ echo ‘<meta property=”og:image” content=”mysite image in a path.jpg”/>’; } echo “n”;

  29. jaffa says

    Thanks Daniel, adding that did help remove the errors I was receiving before but now it’s telling me the title, url, image and type are missing even though they are there.

    It is also showing the wrong image, it doesn’t seem to be picking up the image from the article rather a random image from the page.

    I have no idea why I can’t get this to work, I wanted to avoid using the plugin but maybe that’s the way I need to go.

    :(

    Thanks guys for your help.

  30. jaffa says

    I added the code to my functions file and then followed your article on how to add the Like and Send button and all seemed to be fine but today as my client posted a link on the FB wall to the latest article there was no option to select an image to go with the article.

    I can’t understand what went wrong or how to go about fixing it. I am assuming it is the FB code I added that has caused this as I have made no other changes.

    Any idea’s what could be the problem?

      • jaffa says

        Thank you for your reply.

        I didn’t realise it took that option away. But I still don’t understand why it didn’t display the thumbnail when I have included a thumbnail image. There just wasn’t an image there at all.

        When I view the source I can see a link to the image in the og:image field.

        I wish I could get it to work, might have to try the plugin.

        Just one other thing, I have defined a number of different thumbnail sizes in my theme to use in various places, so instead of it calling the ‘medium’ sized image do I need to set it so it calls one of my defined thumbnails??

        Sorry for the long and confusing comment, newbie here!

        :-)

        • Elliott the web design guy says

          Facebook will scrape your site every 24hrs or so… so if you’ve made any changes on your site facebook will need to catch up – 24hrs or so later. But, you can force facebook to re-scrape your site by using the linter tool. Before testing the Send button again run anyone of your url’s through http://developers.facebook.com/tools/lint/ to force Facebook to refresh the details, hopefully this should resolve the image issue ;-)

        • jaffa says

          Thanks Elliott, the Linter tool you provided a link to was quite helpful.

          After passing a url through it, the error message I got was:

          fb:admins field contained some invalid ids, I noticed that my page ID is 15 characters long but the one used in the example above is only 10.

          The other message I got was:
          You put App ID in the fb:admins field. It should be in fb:app_id

          Should there be an extra field for app_id in the code above?

          I’m slightly confused now…

        • Daniel Chenery says

          Sorry, I thought the code tag might keep the tags, turns out not. Let me try and post that again
          <meta property=”fb:app_id” content=”Your_App_ID”/>
          <meta property=”fb:admins” content=”Your_Profile_ID”/>

    • Editorial Staff says

      We updated the plugin to fix a bug with the default image issue. Now, it is checking if your post has a thumbnail… If it doesn’t, then it picks the first image from your post. We do have plans on bringing the default image feature back soon.

      Administrador

  31. Ovidiu says

    I am curios about this part of the code: add_opengraph_doctype the problem is that that function doesn’t seem to do anything on my install :-( the rest is working fine but this add_opengraph_doctype doesn’t.

    is it necessary and why do you think my themes doesn’t trigger that?

  32. Sheryl says

    I installed the open graph plug-in to wordpress. I configured the settings swapping my business name out for the name on the URL you posted.

    Now what?? What do I do next to get the send button under my like button?

  33. Preston says

    This is great. Any guidance on how to modify this so that Facebook draws an excerpt from the written content? The plug-in doesn’t go to content but takes author name, categories, and date. Thoughts?

  34. Chris Bracco says

    This code only adds the OG tags to single posts and pages. I’d like to have the tags appear on all of my pages, and I can’t figure out a simple way to accomplish this. Any ideas?

    • Editorial Staff says

      You have individual like / send buttons on your archive, category, tags pages??? Like buttons are only good on single posts / pages which is why the code adds that. The only other like button added on the site is the (Like Box) for the Facebook page of the site. Which doesn’t require this information.

      But if you must, then remove the !is_singular conditional statement.

      Administrador

    • Editorial Staff says

      You can hard code it into the header.php but that is a multiple step process as you have to edit doctype, then add the other meta tags… This is a one step process. Paste, and Done. Or install the plugin, and done. If you use the plugin, then you are even better of because the tags stay even when you change the themes.

      Administrador

Deja tu comentario

Gracias por elegir dejar un comentario. Tenga en cuenta que todos los comentarios son moderados de acuerdo con nuestros política de comentarios, y su dirección de correo electrónico NO será publicada. Por favor, NO utilice palabras clave en el campo de nombre. Tengamos una conversación personal y significativa.