2014-04-21 14 views
0

我試圖在我們的應用中爲google +和facebook + 1啓用元數據,並且我沒有收到任何內容,頁面的url或{{pageDesc}}在帖子中。現在,我使用的是指令,動態地設置meta描述:如何在共享的angularJS頁面中顯示動態頁面描述(例如,通過google +1)

HTML:

<meta meta-description> 

指令:

app.directive('metaDescription', [ 'metaData', function(metaData){ 
    return { 
    restrict: 'A', 
    replace: true, 
    template: '<meta name="description" content="{{description}}">', 
    link: function(scope,element){ 
     scope.metaData = metaData; 
     scope.description = scope.metaData.pageDesc; 

    } 
    }; 
}]); 

在這樣做時,谷歌的API無法識別的標題和說明只需將當前頁面的網址和網站的網址設置爲標題/說明即可。

我正在用prerender.io打探,但我不得不禁用它,因爲它使+1插件崩潰。

回答

0

您必須在呈現文檔之前在HTML中設置這些值。抓取頁面的Facebook/Google /等bot通常不會執行JavaScript。

+0

好的一個問題,雖然我使用共享功能,是爬行機器人看着我的網站?在這種情況下,如果我阻止在robots.txt中進行抓取,他們將無法抓住頁面上的元數據?我試圖使用prerender.io來讓我們的應用程序更加友好,但現在我們阻止了漫遊器,所以測試一下有點困難。 –

+0

使用G +共享會導致Google服務器獲取並解析頁面。我不認爲抓取遵守robots.txt,因爲它不會抓取您的網站,而是請求特定頁面。 (我可能錯了)。您應該使用[Google數據測試工具](https://www.google.com/webmasters/tools/richsnippets)和[Facebook調試器](https://developers.facebook.com/tools/debug)進行測試測試你的標記。 – abraham

+0

如果您使用的是prerender.io,則元標記將呈現到頁面中,並以靜態HTML形式返回到搜尋器。 –

相關問題