Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
WordPress Plugins
View all Guides

How to Add Facebook Open Graph Meta Data in WordPress Themes

Last updated on by
Elegant Themes
How to Add Facebook Open Graph Meta Data in WordPress Themes

We shared with you how to add the facebook like button in WordPress. Then we wrote about how to add the facebook send button in WordPress. Now usually, Facebook is really smart in pulling in the right data for your posts when they are shared on Facebook. However recently, we have been hearing reports of Facebook not pulling the right thumbnail image when someone clicks Like, not pulling the right page title, etc. Well in this article, we will share how you can add facebook open graph meta information in WordPress themes which will solve all of those issues.

We have two methods. One for users who actually want to deal with codes. The other method is installing the simple plugin that we created.

Facebook Open Graph Meta for WordPress

Simply Install and Activate our plugin: Facebook Open Graph Meta for WordPress. Then go under Settings » Facebook OG Meta.

Enter your Facebook ID, Site Name, and Default Image, and you are good to go.

Code Method

Open your theme’s functions.php file, and paste the following code within the PHP tags:

//Adding the Open Graph in the Language Attributes
function add_opengraph_doctype( $output ) {
		return $output . ' xmlns:og="" xmlns:fb=""';
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
        echo '<meta property="fb:admins" content="YOUR USER 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=""; //replace this with a default image on your server or an image in your media library
		echo '<meta property="og:image" content="' . $default_image . '"/>';
		$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 );

Note: Remember to change the Site Name where it says “Your Site Name Goes Here”. Also change the default image URL with the image of yours. We would recommend putting an image with your logo there, so if your post does not have a thumbnail, then it pulls your site’s logo. Studies show that posts shared without a thumbnail are less effective than those with thumbnails. Also don’t forget to add your USER ID. You can find your Facebook user ID by going to this URL: (Just replace syedbalkhi with your own username).

Remember, if you don’t want to deal with the codes, then simply download our plugin: Facebook Open Graph Meta for WordPress. There is a options panel under Settings Tab which lets you make the changes.

Now you are probably wondering why you are entering your USER ID? Subscribe to our email newsletter (blogging tips interest) because we will be sharing with you a method where you can find out hidden analytics data about your website on Facebook.

Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »


  1. damian says:

    What about og:description?

  2. Musadiq says:


    How can I include a facebook in the code above? So it can directly publish an article to our profile timeline and also to our facebook page. Thank you

  3. Hassan says:

    its not working for me when i share my posts on face book its only shows my last instagram pics

  4. Loes Liemburg says:

    Hi, I installed this plug-in, but can’t see the OG-options in my settings menu. I’ve refreshed and waited, but still nothing. What has gone wrong?

  5. Manuel Gomez says:

    This line means that the image will use the medium size?

    $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), ‘medium’ );

    If i replace for “big” will use the big image? i would like to see the link post with the new format in facebook, because i can get more clics.


  6. Alexandra says:

    Thank you! the code worked perfectly!

    • M says:

      Unfortunately this did not work for me, I can’t even see it being output in the WP head source code. I’m using the code method as I don’t want to add any plugins to the site.

      I’ve checked the htaccess file and that is not causing any issues since it’s blank except for the perma link declaration.

      Its also not a caching plugin either since I dont have one in place. Any ideas?

      • M says:

        Actually sorry this did work, but unfortunately using the debugger tool it still seems that posting a link on my timeline still does not show the og:image.

        Even if it’s there in the json. Its really bizarre. The debugger shows the post but without any image in the share preview. Any ideas anyone?

  7. Attila says:

    Hello Syed,
    I have use many plugins to extract my graph meta info since I’ve started to use WordPress and Facebook and I can say that “Facebook Open Graph Meta for WordPress” is the most simple yet professional plugin so far.

    I have a minor issue tough…when debugging my posts link with the the Facebook debugger, my Raw Open Graph Document Information does not show up properly. I have special characters included as my content is in Hungarian language.

    Here is an example:
    Meta Tag:

    I would appreciate if someone could tell me how to fix this.

    Thanks in advance and keep up the good work.

    Best Regards

  8. Jim says:

    Works well – thanks. This is still the best way to integrate without a plugin, yes?

  9. ally says:

    I’ve been using this code for a long time but recently there’s been problems, it doesn’t always pull the image. I used the linter and found this errror:

    Inferred Property The ‘og:description’ property should be explicitly provided, even if a value can be inferred from other tags.

    So I added the description tag and that seems to have resolved the image issue but now it no longer displays the article content.

    Any idea’s how to resolve this? I just need to show the first few lines of content.


    • Editorial Staff says:

      Just use Yoast’s SEO plugin and it has this built-in.

      • Goob says:

        Yoast’s SEO Plugin doesn’t seem to have single page og:descriptions built-in.

        • Editorial Staff says:

          Yes it does have it built-in. By default it pulls your meta description, but it also has the option for you to modify the description from the Yoast SEO meta box.

  10. Theo says:

    Hi there,

    I was just wondering whether it is possible to have a different “og:type” for a post and a page. As it stands (well from what I understand) is that for everything in WordPress, this sets the “og:type” to article.

    What if I want to set “og:type” of page to say “website” and for a post “article”?

    Any suggestions or help much appreciated :)


  11. zoomingjapan says:

    Hello again.
    I entered the code into my function.php
    I replaced everything with my own data.

    However, when I know want to share one of my blog posts on Facebook I still have the same problem as before. No meta information is being dragged out of my posts, also no thumbnail.
    Does this only affect posts that I will write from now on and not my old posts?

    If it should also affect my old posts, then I wonder why it’s still not working at all :(

  12. zoomingjapan says:

    I’m using the Yoast WordPress SEO plugin and it has an option to check “Add OpenGraph meta data”. I did, but when I share one of my blog post’s links, nothing but the link shows up. No description, no thumbnail, nothing.
    Of course, I filled out all the fields in the post (meta data such as title, description etc.)
    I read you guide about that plugin, but you didn’t mention anything about it, so I thought just checking the option would be enough.

    Do I need to install this plugin you mention here as well for it to work?

  13. Editorial Staff says:

    You have to attach the post thumbnail using the featured image function.

  14. seitanist says:

    Can someone explain why

    global $post;

    is needed and where it falls in the generated code?

    • wpbeginner says:

      @seitanist Yes the reason why global $post is added because this code is being added outside the Loop in the section of the page. In order to pull the right information, we must call global $post which makes all those tags work.

  15. seitanist says:

    This worked great! Thanks!!!

  16. Editorial Staff says:

    You can try disabling the social feature in Yoast’s plugin and download Otto’s Simple Facebook Connect plugin. Just activate it and the base would take care of it.

  17. Cno says:

    Hello, everything worked! When i put the link of my specific blog post on my facebook wall, I have the right thumbnail, description and site name. But the post on facebook also automatically shows the complete url of my site (right under the blog title). Instead I want it to show the permalink of the specific blog post – not the url of my site. This way i can integrate the ‘likes’ for that particular post in wordpress. Please! Anyone?

  18. StephanePerez says:

    Hi, i tried to insall the plugin but can’t activate it because of a fatal error : Cannot redeclare add_opengraph_doctype()…/fbogmeta.php on line 24

    What i’m supposed to do?


  19. techhogger says:

    Hi pasted this codes as per the instruction on my blog but still issue does not seem to resolve. I can see my adsense codes in the description area. Kindly help.

    • waqaslone says:

      @techhogger same problem with…let me know if u find any solution.

      • wpbeginner says:

        @waqaslone@techhogger For the description to appear, you have to use the excerpts. Alternatively, you can use Otto’s Simple Facebook Connect plugin and just turn the Base on. That would take care of everything for you.

        • techhogger says:


          I did everything. Even tried the plugin you said. Just try to share any post from my blog and you will know what exactly is happening. To some extend I was able to remove codes appearing from the description section. But now I can’t see description and thumbails of the post while sharing it on fb. Will be thankful if I get your help.

        • wpbeginner says:

          @techhogger@waqaslone We are using the method shared on this page on our own website. Everything works. We are using SFC on List25 and it works perfectly fine. Not sure why you are having these issues. SFC has a very smart way to parse through your content and pull out description. So I know for a fact that it pulls out description. It also pulls out all images. This most likely means that there is another plugin that is interfering on your site.Do you have a WP plugin to add the like box or the like button? or any other FB plugin?

        • techhogger says:

          @wpbeginner@waqaslone I tried to share again after your last reply. And the same happens. I can see only post title with description as my blog’s description instead of post description and no thumbnail. I am using Digg Digg plugin for social sharing .

        • wpbeginner says:

          @techhogger@waqaslone Please turn on Otto’s Simple Facebook Connect plugin. Remove the code that you have added in your functions.php …

        • techhogger says:

          @wpbeginner@waqaslone I think its working now. I downloaded and configured the plugin again. And now it seems to be working. Can you have a look and let me know if everything is fine now.

  20. ChristopherJosephDowney says:

    I am used to putting meta tags in the HTML on Blogger. Switching to WordPress has been a headache in this aspect, as I have no HTML to edit and am not used to CSS. This plug-in is a dream, but it doesn’t seem to be working correctly. My question is this: It appears I have 3 different ID’s: My facebook profile, my facebook fan page (the one my blog links to) and my OG debugger ID that appears on the developer debugger page; which ID do I need to use for the plug-in? No matter which one I put in the plug-in when I click “debug” the thumbnail does not update and is always one of the advertisement’s gif’s. Can I have more than one default thumbnail like I would using megatags in HTML?

  21. RobKara says:

    When a user hits my wordpress page “object” then how do i get the facebook userid if its a facebook user viewing the page? Does facebook send a signed_request or facebook userid via the querystring?

    • wpbeginner says:

      @RobKara This question should be asked in the Open Graph forum because it is beyond the scope of this article.

  22. MetalPhil says:

    So I installed this stuff on my website ( and it doesn’t work. I have *no* clue why. I am beyond frustrated and super confused. If you could please, please, please, please, pleeeease help me that would be awesome.

  23. lizbizz says:

    This solved my problem for the Share on Facebook button, but now when I try to share a post from my site to Facebook using Hootsuite’s Hootlet, the description text box is empty. It shows the correct thumbnail and URL but no article preview text. It worked before and still works for other sites, so I think it happened when I installed the plugin…help?

  24. SaijoGeorge says:

    @wpbeginner Facepalm … Thanks for the quick replay mate :)

  25. wpbeginner says:

    @SaijoGeorge It will only output your post’s defined excerpt. If you don’t specify an excerpt, then nothing will be displayed.

  26. SaijoGeorge says:

    Great plugin .. the only issue I seem to be having is that the meta property=”og:description” spits out some random data :( . Thr url for a sample post is similar issue on another blog ( here og:description comes out to be blank ) I am using thesis variations on both of those sites .. was wondering if any of you guys have come across this issue

    It’s also worth noting that meta description tag on those pages seems to ouput the right data

  27. wpbeginner says:

    @CarlosDeGuzman It takes a while for the linter to update.

  28. CarlosDeGuzman says:

    Hi wpbeginner! I installed the plugin on my site, ww and it’s not working. I’m still getting these errors on the linter. Also no thumbnails are showing when you share a post on fb. Hope you can help :)

    Also its not showing the description


    Required Property Missingog:title is required

    Required Property Missingog:type is required

    Required Property Missingog:url is required

    Required Property Missingog:image is required

  29. wpbeginner says:

    @ReyCalantaol It has nothing to do with SEO…. the Open Graph data is for Facebook…..

  30. wpbeginner says:

    @arabsciences@Tia Peterson You have to add the Meta Description and our plugin does that for you…

  31. wpbeginner says:

    @arabsciences@Tia Peterson You have to add the Meta Description and our plugin does that for you…

  32. wpbeginner says:

    @Tia Peterson Yes, you would need to re-install through the repository.

  33. wpbeginner says:

    @Tia Peterson Yes, you would need to re-install through the repository.

  34. Tia Peterson says:

    @arabsciences@wpbeginner Nope. :)

  35. arabsciences says:


    How do pull description from aal in one seo plugin.?

    it it not working for me

  36. arabsciences says:

    @Tia Peterson@wpbeginner

    I use All in one seo plugin and could not pull the description to show in url linter

  37. arabsciences says:

    @Tia Peterson@wpbeginner

    I found a fix for that which shows first 300 characters of the post.

    just change og:description to :

    <meta property=”og:description” content=”<?php echo strip_tags(get_the_excerpt($post->ID)); ?>” />

  38. ClyoBeck says:

    Okay, I’ve gone back to the original theme files and uploaded the original functions.php file. No go. Still a blank screen. I’m thinking up upgrading the theme to see if that will help. I’m wondering if the code I put in the functions.php file, somehow, changed something else. Is that possible?

  39. wpbeginner says:

    @ClyoBeck Make sure that there are no extra spaces at the bottom of the functions.php file …

  40. ClyoBeck says:

    Hi guys,

    I should have just downloaded the plug-in. Instead I copied and pasted the code above into my functions.php file and now my blog has disappeared.

    I went into my server and, having made copies of the php file in notepad, uploaded the old file. Still no luck.

    Looks like I’m going to have to hire a programmer to fix this.

    Any advice?

  41. Livefyre says:

    @wpbeginner Thanks. I don’t think I got the update, though. Should I just download the plugin again from the WP plugin repository and re-install?

  42. wpbeginner says:

    @Tia Peterson Just uploaded the fix for this and another issue. It should be live within 15 minutes or sooner (whenever the SVN updates go through).

  43. wpbeginner says:

    @SteveJoseph@joshuatj Also with the linter (not sure exactly what the number is) but if your post has that many likes, then it won’t reset the description / title and such… If I am correct, then that number is not very high…

  44. SteveJoseph says:

    @wpbeginner@joshuatj Thanks for the response wpbeginner. I tried your plugin within the last 3 days so was fairly certain it was the latest version but that didn’t seem to work for me. I’m going to go with your suggestion that it will fix itself but the current solution is not the most ideal. It’s pulling the description from my blog “intro” section which is helpful in telling the audience about me but does very little to support why they should click on the article or shared item. Thankfully it does show the correct image and post headline just not the description from the post itself.

    Since Facebook hyped open graph so much you’d like to have imagined they would have made sure this was working and buttoned up pretty solid. Thanks again.

  45. Tia Peterson says:

    Hi! For some reason, the plugin doesn’t pull a description. At first, I figured out that it was pulling the description from the ‘excerpt’ field, so I started using that field every time. Now, it doesn’t even pull from that. Not sure why. I am using the latest version of the plugin, StudioPress News Child Theme for Genesis, and WordPress version 3.1.

    Here is our most recent post to show you that when you paste this URL into Facebook, only the image and title show up. In the source code, the description field for the open graph plugin is completely empty.

    Thanks for your help!

  46. wpbeginner says:

    @SteveJoseph Facebook takes a bit long to update older posts, but it will fix itself.

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.