facebook

Facebook bouton like hashbang escaped_fragment:



Dans le header

<link rel="canonical" href="">


<?php
//if(stristr($_SERVER["HTTP_USER_AGENT"],'facebook'))
//{
?>

<meta property="fb:admins" content="ADMIN_ID" />
<meta property="fb:app_id" content="APP_ID" />
<meta property="og:type" content="activity" />

<!--
<meta property="og:title" content="" />
<meta property="og:url" content="" />
<meta property="og:description" content="" />
-->
<meta property="og:image" content=""http://lesite.fr/www/img/image.png' />
<meta property="og:locale" content="fr_FR" />

 <?php
// }
 ?>



Dans le html a généré via ajax

<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 = "https://connect.facebook.net/fr_FR/all.js#xfbml=1&appId=APP_ID";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));
</script>


<div class="fb-like" data-href="http://lesite.fr/#%21page1" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false"></div>

Dans javascript créer une fonction

function trouveHashbang ()
{
var lien = String(document.location);
param = lien.split('#!')[0];
return param;
}

Dans le javascript ajax

var urlok = trouveHashbang();
var page = "page1";
var pagelike = urlok + "#%21" + page;
var urlimage = "http://" + window.location.hostname + "/www/img/image.png";

$('meta[property=og\\:description]').attr('content', texte);
$('meta[property=og\\:title]').attr('content', titrepage);
$('meta[property=og\\:url]').attr('content', pagelike);
                        
$('link[rel=canonical]').attr('href', urlok + "#!" + page); 

Dans le javascript endehors de l'ajax

$.getScript('//connect.facebook.net/fr_FR/all.js#xfbml=1&appId=131047970376783', function() {
try{
  FB.XFBML.parse();
} catch(ex) {}
});



Dans le .htaccess

Après RewriteEngine on
# pour facebook
RewriteCond %{QUERY_STRING} ^([^&]*)_escaped_fragment_=([^&]*)&fb_action_ids=([^&]*) [NC]
RewriteRule ^(.*) http://%{HTTP_HOST}/$1#!%2? [R=301,L,NE]

Le bouton like de facebook affichera le lien http://lesite.fr/?_escaped_fragment_=page1&etc....
1- aller sur le debugger:
https://developers.facebook.com/tools/debug/
2 - exécuter le debug avec l'adresse: http://lesite.fr/#!page1

Les liens facebook http://lesite.fr/?_escaped_fragment_=page1&etc .. redirigeront vers http://lesite.fr/#!page1
Comments