3 days ago I updated description within the meta tag of facebook, but change does not reflect when sharing link on facebook. Instead old description still appears. According to Facebook, it scrapes your page every 24 hours to ensure the description (and other share data) are up to date. However, one can manually refresh it by entering the post URL into the Facebook URL Linter
I did manually refresh it as well as now waited for 3 days. When i see debugging output from linter, it shows the correct up-to-date description, but old description still shown when sharing a link.
How to reproduce:
This is our website: https://www.tradeinsports.se/#tis1 (It's in swedish so bear with me please). If you go to above link and click on any of the two available products, and then share on facebook, you can see the difference in description from the one which appears in linter debugging output.
Any help would be appreciated.
Go to this page: https://developers.facebook.com/tools/debug/
Enter the url and click 'debug'.
Click 'fetch new scrape information'.
There's a lot of good data on that page that's helpful for the social media aspects of your site.
If you're implementing a Facebook Share or Facebook Like button, and your og: meta tags are being ignored, it's probably Facebook's overzealous cache.
The quickest way to clear Facebook's cache, and force Facebook to use the info from your og: meta tags, is to Lint the URL.
Enter the URL of the webpage that contains the og: meta tags in the Linter, and Facebook will clear its cache for that page. Your Share or Like button should then start pulling the correct info from your og: meta tags.
I was having this issue too. The scraper shows the right information, but the share url was still populated with old data.
The way I got around this was to use the feed method, instead of share, and then populate the data manually (which isn't exposed with the share method)
Something like this:
shareToFB = () => {
window.FB.ui({
method: 'feed',
link: `signup.mydomain.com/?referrer=${this.props.subscriber.sid}`,
name: 'THIS WILL OVERRIDE OG:TITLE TAG',
description: 'THIS WILL OVERRIDE OG:DESCRIPTION TAG',
caption: 'THIS WILL OVERRIDE THE OG:URL TAG'
});
};
Related
I've successfully added a Share button to my website using the following code:
https://developers.facebook.com/docs/plugins/share-button
It produces a popup with a link to the og:url along with the title of the linked page and a picture from it, which I can then post, and it shows up on my Facebook.
I am having 3 issues with this:
I've update the og:url and data-href after page load, using jquery, but the new values get ignored when I Share.
the og:title, og:description, and og:image don't appear to be used at all.
Sometimes I'd like to Share some custom text (and images if possible) without any url.
I'm aware that Facebook provide other tools/APIs that provide more versatility but it seems that would mean my site would have to go through a review process, and I'd have to code for security. This is not an option and I want to stick to the popup method.
Hope someone can help. Many thanks.
If the tags do not change when posting, refresh (and test) the tags in the debugger: https://developers.facebook.com/tools/debug/sharing/
Dynamically created Open Graph tags (with JavaScript) will be ignored, the tags have to be in the original page source.
I have inserted the OG meta tags in my pages and also have provided a simple link to help users share the contents on the Facebook using the
https://www.facebook.com/sharer/sharer.php?u=[the-urlencoded-link-to-my-page]
link. But I have two problems:
When attempting to share the content for the first time, the
Facebook sharer page only displays a preview box which only contains
the name of the site, and makes me use the Facebook's Object
Debugger to
fetch the meta tags. How can I automate this process?
And secondly, while the Object Debugger report says that it has
found the og:url, og:type, og:title, og:locale,
og:image:width, og:image:height, og:image and the
og:description raw tags on the page, but the image doesn't get
displayed in neither the preview box of the page nor on the shared
status. What I have missed? What's wrong?
To make things clear, sharing on google+ works perfectly (the image gets displayed, the title and the descriptions are in place.)
Thanks in advance :)
I'm sharing posts on facebook and it's not using my updated OG and meta tags. How long does it take for the changes to make affect.
You can refresh the OG tags in the Facebook debugger: https://developers.facebook.com/tools/debug/
You can also take a look at this thread with the same question: Share Cache Timeout
Answer from the Like Button docs:
Why and when does Facebook scrape my page?
Facebook needs to scrape your page to know how to display it around
the site. This happens every 24 hours to ensure the properties are up
to date. The page is also scraped when the URL is entered into the
Debugger Tool.
Btw, there is a nice way to update many pages at once in this thread: Facebook Open Graph not clearing cache
I have a website where news articles get posted through CMS and there is no option to add Facebook META OG tags to <head>. I could only add them manually to <body> but that won't work I assume?
Is there another solution where you can tell Facebook which image should be picked when using like/share buttons?
This depends how you make the share. You can use the FB.Ui to request a "Post to a wall" where you can specify the specifics of what appears on the share.
https://developers.facebook.com/docs/reference/dialogs/feed/
If you are sharing the URL only it will read your meta tags as you state. I have not tried making that image the first within the HTML as this may also make that the default.
you can use this link to debug your meta tags and test your sharing if you are sharing a URL.
https://developers.facebook.com/tools/debug/
Apparently Facebook Share doesn't pick up the title / description meta tags that are changed (via JavaScript) after the page load. It basically use the meta tags that are available upon load.
This is a simple example.
The link will change the title / description meta tags upon click. You can confirm that using Firebug.
Click the f|Share button: Facebook still always shows "A title that is available upon page load." and "A description that is available upon page load."
Anybody knows how to fix this?
This is a quote from Facebook. They scrape the page's meta tags when someone shares that page, and every 24 hours onwards (and not on page-load as you suggested). If you change the meta tags, you need to get FB to "lint" your page again using the URL Linter.
When does Facebook scrape my page?
Facebook needs to scrape your page to know how to display it around the site.
Facebook scrapes your page every 24 hours to ensure the properties are up to date. The page is also scraped when an admin for the Open Graph page clicks the Like button and when the URL is entered into the Facebook URL Linter. Facebook observes cache headers on your URLs - it will look at "Expires" and "Cache-Control" in order of preference. However, even if you specify a longer time, Facebook will scrape your page every 24 hours.
Source
Because the facebook server hits the URL you submit and looks for meta tags. It will always default to the original tags.
I assume that Facebook servers do not execute javascript when they scrape your page.
You could use server-side logic to detect the Facebook user agent and modify the outputted HTML accordingly.
According to the bottom of this page ( http://developers.facebook.com/docs/opengraph/ ), the user agent is currently:
facebookexternalhit/1.0
Its none of Facebook business. They just provide an api for it. And api takes meta tags as parameter. So you set your meta tags to facebook sharing.