Facebook comments module doesn't show comments on desktop - facebook

I'm quite puzzled here. I have facebook comments on this site and I can see in the moderation section that comments are going through fine. However when I load the page on desktop (or tablet, we server the same version of the page to tablets) it says 0 comments.
If you load the page on mobile (or even simulate phone on Chrome), the comments show up fine.
I have no idea how to even start to debug this, any ideas?
Example page with comments: removed due to solved
Has anyone had a similar problem? I mean probably the problem is somewhere in the code, but I just can't pinpoint it for the life of me. I have all the FB meta tags that are needed, I have the
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=<?php echo($options["theme"]["facebook_app_id"]); ?>&version=v2.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
and then finally the form itself
<div class="fb-comments" data-href="<?php the_permalink(); ?>" data-width="100%" data-numposts="50"></div>
all these copied straight from the developer.facebook tools except the app_id (I have multiple sites that use the same code). I even tried to hard code the appids in place but that didn't help.
All help really appreciated.
edit: Thought that maybe it's just me and went ahead and installed Facebook Comments by Fat Panda plugin, but the problem persists. No comments on desktop, only works on mobile.

When I emulate a mobile device (I chose Google Nexus 4 at random) in Chrome, the data-href attribute of the <div class="fb-like"> element is set to
http://www.suomikiekko.com/2014/08/ilja-kovaltshuk-ei-nimea-jokereita-pietarin-skan-paavastustajaksi/
– same address as the article I’m viewing.
When I view the site in desktop mode however, the data-href attribute of the comments plugin is set to
http://www.suomikiekko.com/2014/09/tassa-on-jokerien-historiallisen-khl-kauden-kapteenisto/
– so that seems to be the URL to a completely different article. The URL in the address bar is still the first one though, and the content seems to be the same as in the mobile view as well.
And of course, different URLs mean different Open Graph objects that the comments are associated with.
I can not actually look at the source code when in mobile emulation mode, so that data-href value is only what I see in DOM inspector – but I would assume that it is not the comments plugin that messes with this, but rather that your site is doing some kind of desktop/mobile detection and delivering different HTML based on that. So I’d suggest you investigate further in that direction – try and figure out what could possibly make your CMS deliver a wrong data-href attribute when the page is viewed on desktop.

Related

facebook share button not reading og tags

I have this code to make Facebook share, but this doesn't read my og meta tags. Putting in the Facebook debugger it reads fine.
<h2 class="caixacsstitulo"><%# Eval("titulo") %>
<div class="fb-share-button" data-href="http://www.novaonda.no-ip.info:8080/detalhe_noticia.aspx?id=<%# Eval("id") %>" data-type="box_count">
</div>
<asp:Image ID="Image3" runat="server" Width="32px" ImageUrl='<%# Eval("destaque") %>' Height="32px" ImageAlign="Right" /></h2>
You can access it here
Facebook officially deprecated the share button in favor of the like button earlier this year. A few days ago, I realized that the share button no longer displays on sites I manage. Trying to figure out what could be wrong, I checked those sites using a different browser and it was the same. Still in doubt, I used a different PC and even checked other websites just to be sure.
Across the web, a certain version of Facebook share button stopped working. The Share Button has been deprecated already a while ago but not yet completely dead. If it stops working on your website or blog, you only need to update your code.
Facebook deprecated the Share button on February 28, which means they no longer recommend its use in applications or on external web sites. Also, a certain version of Facebook share button was deprecated several years ago, and Facebook switched to serving the new JS SDK in its place on Monday, July 16. Perhaps the old one will be brought back to life later, but then I guess it’s time to upgrade to the new version. Support has already been dropped for it so there’s no point complaining to Facebook.
How to fix your share button
I prefer using the share button because it lets me share to my fan pages, unlike the like button which Facebook now favors. I found three fixes to this which I think should do the trick.
1. Using the official JD SDK version
Search for http://ogp.me/ns/fb#” just after it. The resulting code should lok like this:
"
If this is already there, you don’t need to do it again.
- In the body of your website where you want the code to display, paste this:
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=YOUR_APP_ID"; // appId must be valid
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<fb:share-button type="box_count">
</fb:share-button>
Hey, make sure you change these parameters for the code to work:
* YOUR_APP_ID – You must create a facebook application for this code to work. Don’t know how? I explained it on steps 1 and 2 of this post.
* You can change box_count to button_count if you want a smaller button instead of the large one with counter.
Those who have copied the code and pasted on the web page we need to add the class attribute "class="fb-share-button" " to the div that will show the Share button. The automatically generated code from the Facebook is missing this attribute, and that is it does not display the facebook button.
Also, the button appears when the page is loaded or viewed from a web server. If you preview web page on the local computer the while designing it does not show up.
Third thing that you need to check is that there are no errors in loading the js "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5"//
I'm using bellow code, works well for me
<script src="//connect.facebook.net/zh_TW/sdk.js#xfbml=1&version=v2.8"></script>
using above code instead of Facebook share-button step 2:
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/zh_TW/sdk.js#xfbml=1&version=v2.8";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

fb like box intermittently does not load, tried everything

I'm trying get the Facebook Like box to show up on my site. So far, I haven't found anyone describe a problem quite like mine here. There appears to be some kind of pattern, but I can't figure out what it is. Here's what I have observed:
It does not matter if FB user is logged in or not. The box sometimes loads when logged in and sometimes when not and visa versa. There are no special demographics set for the page.
The browser does not matter, though Safari gets way more consistently working results than Chrome. Chrome, however, works almost every time so long as it's in Incognito.
It doesn't matter whether I use HTML5 or XFBML. Both produce the same results. And the IFRAME doesn't work at all--it only shows a little like button.
I've tried all the solutions I could find for problems like mine, but none of the solutions have made any impact on this.
This is what I've added immediately after opening the body tag:
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=408273115919487";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
This was added immediately after opening the head tag:
<html xmlns:fb="http://ogp.me/ns/fb#">
This is what I placed to show the like box:
<fb:like-box href="https://www.facebook.com/petruzzophotography" width="292" height="200" colorscheme="light" show_faces="true" header="false" stream="false" show_border="false"></fb:like-box>
This is working in a Wordpress environment, so it's possible that I've got some conflicting plugins or something. I've already disabled non-essentials without any success.
Can anyone recommend what to do next?
I find Facebook Like Box to be very glitchy and I stopped using it. I started using:
Facebook Members Widget - http://wordpress.org/plugins/facebook-members/
I hope this helps!

facebook like button not displaying :: FB.getLoginStatus() called before calling FB.init()

I just want a basic facebook like button on my site. I follow the instructions per facebooks site (http://developers.facebook.com/docs/reference/plugins/like/). I tried the HTML5, XFBML, and iFrame ways, no joy on either. So I thought maybe it's something with my site interfering. So I created a bare-bones html page like below and it still gives me the FB.getLoginStatus() called before calling FB.init() error.
<html>
<body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://www.facebook.com/[mypage]" data-send="false" data-width="450" data-show-faces="false"></div>
</body>
</html>
UPDATE: I removed all that stuff above went back to the iFrame only method and it works, but only in Firefox. Chrome and IE9 I still get nothing but no errors reported. Why is this line below only working in FireFox (obviously the [myPage] part is swapped out)?
<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F[myPage]&send=false&layout=standard&width=450&show_faces=false&action=like&colorscheme=light&font&height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>
Not sure the App ID is the problem here. I'm also experiencing this strange error message, and I'm just including standard code for FB Like Button social plugin, provided by FB developer page.
I then went again through the plugin configuration page and copied again code, which anyway was unchanged noticing little difference in the HTML part of generated code (was a <fb:like> tag, now is <div class="fb-like">).
Anyway error still persists.
Then I just realised that in a few weeks FB Like Button will migrate permanently to Built-in Like action for Open Graph, and if I got it correctly you have to create an App ID anyway.
At that point the error might just disappear. And it seems difficult that anyone will fix anything on something that's going to disappear in a few weeks.
HTH
Are you testing it locally? After debugging and searching quite a bit myself, I decided to test it on a webserver of mine, and voila, it worked! :)
On the Facebook Developer page where we obtain the script for the Like Button, Facebook says nothing of needing to implement the init() as well (which would presumably solve this problem, but what WOULD you use as the APP ID if you also called the init() function ??).
And an APP ID is not needed anyway for the Like Button to work. I believe that Facebook is just giving us the Like Button code -- even though the absence of the init() function is going to cause this js error (but apparently the init() is not actually needed!).
This seems like a shortcoming in FB's deployment of the Like Button API.

Adding Facebook plugin comments for dynamic products

I installed facebook comments on my website. My website is a dynamic website and pages are like this www.example.com/page?id=54, www.example.com/page?id=67.
If I post a comment in this page: www.site.com/page?id=54, it also appears in www.example.com/page?id=67. The comments are not unique for a page, but appear in every page
i saw the question : Facebook comments, for each page.
The answer in this question is that the problem is because of the "?" sign.
It seems that "?" sign in the URL make it broken for the Facebook plugin.
And I need to change form of URl writing.
Because my website is 7 years old have incoming links to it, I don’t want to change the method of the URl writing .
is there another way to fix it?
Firstly, copy comment div and script from Facebook, paste it to your product details page:
<div id="fb-root"></div>
<script>(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=114215202075258";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
and
<div class="fb-comments" data-href="http://example.com" data-width="470" data-num-posts="3"></div>
Finally, simply add this code:
<script>
$(".fb-comments").attr("data-href", window.location.href);
</script>
If you're using PHP this is the code which will request the URL of the current page and then link Facebook comments to it:
<?PHP
$url = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
echo "<div class='fb-comments' data-href='$url' data-num-posts='10' data-width='470'></div>";
?>
It works if your dynamic content has only one query string (for example ?product=). If it has more query strings for the same page, for example &sort= for sorting options, then it won't work properly as the Facebook comment which would appear on sorting option ascending wouldn't appear on the sorting option descending, for example.
You can solve this part by assigning a base URL for that product and then showing the FB comments for that URL on all dynamic pages with that product. For example, you're requesting FB comments for the page ?product=13&sort=asc&type=34 even if &sort and &type are different on that page.
When inserting the widget to your page you add something similar to the following code:
<div class="fb-comments" data-href="http://example.com" data-num-posts="2" data-width="470"></div>
You need to replace http://example.com each time for the new page, once with ?id=54 and another time with ?id=67 for each relevant page.
Hmm, I'm confused. You say the site is 7 years old and you cannot change it, but somehow you recently inserted the like plugin into an unchangeable web site. Now you want ways to fix this unchangeable website.
But, if you could change the website, here's what you're going to need to do:
Put in the required og meta tags into the <head> section of each web page as described on the like plugin documentation web site. You can do this programmatically via the query string parameter using your .asp coding skills.
Test/QA the OG meta tags are correctly specified at https://developers.facebook.com/tools/lint
Add the required html code for the plug in and ensure the href correctly and fully identified in the data-href parameter of the like plug
Test/QA the like button by viewing source on the page being sent down.
EDIT
Take a look at what Facebook sees for your url
http://developers.facebook.com/tools/debug/og/echo?q=http%3A%2F%2Fwww.winebar.co.il%2Fproduct.asp%3Fproductid%3D567%26CatCode%3D182
Notice the plugin code
BAD: data-href="http://winebar.co.il/product.asp?productid="
If should look like the URL in the user's browser bar:
GOOD: data-href="http://www.winebar.co.il/product.asp?productid=567&CatCode=182"

How to add a Facebook "Like" button with full functionality?

I'm trying to add a Facebook "Like" button and I'm using a free extension for it but it's giving me an error as they are not compatible with Magento version 1.5.
I'm trying to do it manually but a little help which I found was to get a Facebook developer code and paste in static URL etc.
...but I didn't understand that.
So can you kindly tell me how to do what I want? From where do I get which code and where to paste please?
Go to http://developers.facebook.com/docs/reference/plugins/like/ and obtain the proper code for your site. (It will generate iframe HTML code that you need to copy)
Determine where you want to show the like button, options are: all pages, product view, category view, etc...(your choice)
For example if you want it on product page, then you need to add the previously generated HTML to the catalog/product/view.phtml template.
If you want the url that needs to be liked to be fixed:
<iframe src="http://www.facebook.com/plugins/like.php?href=http://yoursite.com?other_params_go_here"></iframe>
If you want the url to be the current one:
<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo $this->helper('core/url')->getCurrentUrl(); ?>?other_params_go_here"></iframe>
you need login Facebook account panel & create your own code for your website
then you can paste code in any block template .
if you can not template you can login magento admin panel to enable development mode
I have written a full tutorial here that will show you the best way to add Like Buttons and automatically populate fb Open Graph meta tags with your Magento product information for every product (or category pages) using best practice methods with either XFBML or iFrames.
tested with all versions of Magento.
http://blog.gaiterjones.com/magento-social-media-marketing-facebook-like-button/
It is always advisable to use an module.
There is a 3-in-one module available for Social sharing. i.e. Google+1 Button, Facebook LIke and Twitter Share.
you can check it at magento connect
http://www.magentocommerce.com/magento-connect/Modulesoft/extension/7258/google_1_plus_button_with_facebook_and_tweet
Hope the information is helpful
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8&appId=157602984730324";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like"></div>
I added a Facebook plugin at a front page, see it here: http://www.boardcorner.se on the right side.
By adding a piece of code in the TinyMCE javascript it allows the Facebook iframe to be inserted by a standard copy & paste.
You'll find the piece of code needed here: Magento - How to allow certain tags (iframe, embed) in Magento's CMS editor?
Try this for product detail page
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js#appId=181097698614858&xfbml=1"></script>
<fb:like href="<?php echo $_product->getProductUrl() ?>" send="false" show_faces="false"></fb:like>