如何在Google+(Google Plus)分享時,正確抓取WordPress內文?

這幾天恰巧在研究Google+抓取文章內文時,在網路上爬了一些文章,剛好看到重灌狂人分享的一篇文章出現了一堆解法,雖然我的網站結構在Google+中抓取內文時並不會出現多餘的一些文字,不過偶而會出現每篇文章摘要長短不一的情況,這二天看了一下,阿湯也分享我的解法給大家參考(僅適用Wordpress網站),如果你的WP網站也在Google+中抓取不是太正確的話,可以試試,這方法也適用修正Facebook。

如何在Google+中正確抓取Wordpress內文?

以Wordpress來說內文頁面大多是不會宣告description這一項meta,如你有安裝All in One SEO Pack,這支外掛會幫你自動截取內文摘要來宣告description,不過不見得會很正確抓取到相同的字數,可能也會造成每篇文章長短不一的情況,有時可能會因為某些符號就整個截斷,導致連結丟去Google+時,摘要可能只有幾個字。

以下面這張圖來看,同樣是自動抓內文,不過很明顯的看的出來,下面那一篇遇到了空格時,後面全斷了,為了解決這樣的問題,只好手動修改宣告description。

01

直接在header.php中,<head>與</head>之間加入以下程式碼即可。

其中的「300」是控制字數,不過要自動除以2,這個300是指字元數,每個中文字是2個字元,半形符號1個字元,全形符號2個字元。

另外再解釋一下is_singular(),有人會問說為什麼不是用is_single(),single是指文章內頁,那如果你有內容是「分頁」就不在這個範圍,所以改用singular,只要是內頁都算數。

<?php

if ( is_singular() ) {

$description = mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"...");

printf('<meta name="description" content="%s" />', $description);

}

?>

再去看看自己的內文源始碼,就會多了一段description的meta,這樣一來在Google+或Facebook就會正確了。

02

另外要再提醒大家,如果已經讓Google+或Facebook抓取過的文章,不會再重新抓取過,應該是有快取住了,所以如果修改完要測試的話,請用新文章或是還沒有抓取過的。

  1. 謝謝ㄚ湯的解答,我的確很久沒有發新的文章了,我還以為我的設定那裡出了問題。謝謝你啊。

    阿湯說:

    不客氣

  2. 我改了超過兩個禮拜了說,不知道那邊出了問題,因為我在google+分享的是正常的

    阿湯說:

    才二週~你發表過的文章應該之前都讓fb抓過了吧~那個都會快取住~你發一篇新文章去抓就知了

  3. 對不起請問一下,我已經在header.php加入description,以下是我一篇文章的連結:http://goodiessharer.com/arts-design/312/
    當我分享到fb的塗鴨牆時,description卻沒有顯現出來, 請問是什麼原因呢?下面是我的網頁原始碼:

    阿湯說:

    你的語法什麼時候改的呢?

  4. 恩~就是搜尋時候的那一小段文字!

    阿湯說:

    「原則」上是抓desc,但內文也是會抓~要看keyword,不一定哪一個一定優先,但desc沒意外比重比較大

  5. 是不是搜尋引擎只會抓description??還是優先抓description?
    我有點搞不懂了~麻煩阿湯解惑^^

    阿湯說:

    你是指文章內容?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *