2013-04-14 20 views
0

我有我的網站的以下文件網址:如何提供Facebook Meta標籤鏈接到文件?

http://www.foo.com/download/1 

此下載與force_download函數的文件,使用download helper

我被要求提供這些文件的按鈕,這些文件顯示在網站的某個頁面上的html表格中。

因此,使用facebook like button tool我創建了以下按鈕:

<div class="fb-like" data-href="http://www.foo.com/download/1" data-send="false" data-width="450" data-show-faces="false"></div> 

然而,因爲這是一個直接鏈接到該文件,正確的Open Graph元數據不被接受例如描述是:「%PDF-1.3%AIO 1041 0 OBJ ..」

所以我的問題是我要如何提供連結到我的下載打開圖元數據?例如:

<meta property="og:type"   content="website" /> 
    <meta property="og:url"    content="http://foo.com/download/1" /> 
    <meta property="og:title"   content="Download 1" /> 
    <meta property="og:image"   content="bar.png" /> 
    <meta property="og:description"  content="File description" /> 

回答

1

的URL是在這裏你下載的文件本身你不能,因爲它是(可能)不是HTML頁面,即使是這樣,你就不會想要改變的內容該文件包含您自己的元數據。

你可以嘗試的是對下載文件的客戶端和Facebook的抓取工具使用的URL使用某種重定向,當然你也需要一個真正的下載URL。

在您的看法發送像和用戶:

<!-- meta tags --> 
<meta property="og:type" content="website" /> 
<meta property="og:url" content="http://foo.com/download/1" /> 
<!-- .... --> 
<body> 
    <script> 
    // imaginary real download url url 
    window.location = '<?php site_url('download/real_download/'.$download_id);?>'; 
    </script> 
</body> 

的Facebook也似乎不明白刷新meta標籤,所以你可以寫,避免使用JavaScript的:

<meta http-equiv="refresh" content="1;URL='<?php site_url('...')?>'"> 

免責聲明:我沒有發現任何來自Facebook的文檔描述了他們的抓取工具的理解,所以不能保證其中的任何工具都能繼續工作。我現在在類似的情況下使用JavaScript解決方案一年。