基本的に、私は動的なog:imageプロパティを持つウェブサイトを作っています。 PHPで100個の画像を追加し、rand関数で画像を変更しました。 私が問題になっているのは、Facebookが自分のウェブサイトをキャッシュしており、ユーザーがURLを共有するたびに同じ画像が毎回表示されることです。リンクが投稿され、ランダムな画像が表示されるたびに、Facebookが再クロールするようにしたい。og:image facebookプロパティを動的に変更するサイトを開発するには?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
<meta name="twitter:card" value="summary">
<meta property="fb:app_id" content="xxxxxxxxxxxxx10" />
<meta property="og:description" content="Like it? Share with friends... "/>
<meta property="og:title" content="Your future company is" />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://justtodo.xyz/company/" />
<?php
$imageURL = 'http://justtodo.xyz/company/images/' . rand(1, 100) . '_260x135.jpg';
?>
<meta property="og:image" content="<?php echo($imageURL)?>" />
<meta property="og:image:type" content="image/jpeg" />
<meta property="og:image:width" content="200" />
<meta property="og:image:height" content="200" />
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-100487432-1', 'auto');
ga('send', 'pageview');
</script>
<script src="https://code.jquery.com/jquery-1.7.1.min.js" integrity="sha256-iBcUE/x23aI6syuqF7EeT/+JFBxjPs5zeFJEXxumwb0=" crossorigin="anonymous"></script>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'xxxxxxxxxxxxx10',
autoLogAppEvents : true,
xfbml : true,
version : 'v2.9'
});
FB.AppEvents.logPageView();
};
(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";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
FB.api('https://graph.facebook.com/', 'post', {
id: '<?php echo($imageURL)?>',
scrape: true
}, function(response) {
//console.log('rescrape!',response);
});
</script>
<title>Your future company...</title>
<META HTTP-EQUIV="REFRESH" CONTENT="0; URL=https://youtu.be/uqJNjb-zg3s">
<script>
setTimeout(function() {
window.location.href = "https://youtu.be/uqJNjb-zg3s";
},10);
</script>
</head>
<body>
<div style="text-align: center;font-size:2em;font-family:Consolas, Andale Mono, Lucida Console,Lucida Sans Typewriter, Monaco, Courier New, monospace">Loading your company...</div>
</body>
</html>
同じURLの代わりに一意のURLを共有する – WizKid