關於 web service, unity, blogger 等軟體工程筆記

讓 Google 不要針對網頁特定內容製作索引

Edit icon 沒有留言
Search engine optimization

遇到問題找解法,在測試部落格搜尋結果時,意外發現關鍵字跟部落格文章搭不起來。經過研究後,發現是「熱門文章」這一個小工具所產生的內容,造成 Google 搜尋引擎誤判,把不適合該文章的內容,拿去做為該文章的索引關鍵字。

關鍵字錯誤的結果

關鍵字錯誤的關連

解決方法

Google crawl 網頁時,會根據 googleon/googleoff 這些 tags,來控管該區塊的內容,是否要送去做索引關鍵字的處理。Tags 種類分成以下四種:

  • index:Tags 包夾內容不做索引
    wanna  
    <!--googleoff: index-->
    go to
    <!--googleon: index-->
    bed.
    go to 這兩個字不會建立索引
  • anchor:Tags 包夾的超連結內容,不會對其連結文字對該連結建立索引
    <!--googleoff: anchor-->
    <a href='sweet-bed.html'>bed</a>
    <!--googleon: anchor-->
    bet 不會成為 sweet-bed.html 連結網頁的索引關鍵字,此外該 sweet-bed.html 網頁會被 google crawler 建立索引
  • snippet:Tags 包夾的內容不會成為搜尋結果的摘錄片段
    <!--googleoff: snippet-->
    go to <a href='sweet-bed.html'>bed</a>
    <!--googleon: snippet-->
    go to 以及 bed 該文字會被建立索引,可搜尋,但不會成為搜尋結果的摘錄文字內容。sweet-bed.html 網頁會被 google crawler 建立索引
  • all:以上三種 index、anchor、snippet 的效果
    <!--googleoff: all-->
    my content
    <!--googleon: all-->

針對我的問題,最後使用 <!--googleoff: index--><!--googleon: index--> 包夾小工具就足夠了。

<!--googleoff: index-->
<b:section class='sidebar' id='sidebar' preferred='yes'>
   <b:widget id='PopularPosts2' locked='false' title='熱門文章' type='PopularPosts' mobile='no'>
      ...    
   </b:widget>
   <b:widget id='BlogArchive1' locked='false' title='網誌存檔' type='BlogArchive' mobile='yes'>
      ...
   </b:widget>
</b:section>
<!--googleon: index-->

另一種解決方法

搜尋引擎會忽略 Javascript 裡的內容,更不會針對執行 Javascript 後所產生的結果建立索引。除了上述加入 tags 方法外,把該熱門文章小工具改成用 Javascript 來動態產生內容,這樣也是一種解法。只是這解法不簡單,要找能做到相同功能的 Javascript 是挺麻煩的一件事。

其他搜尋引擎呢

目前只有看到 Google 搜尋引擎有提供這樣的設定,Bing 搜尋引擎似乎沒有這樣的控制選項,其他搜尋引擎就更不知道了。但若要滿足所有的搜尋引擎,能對於特定內容不建立索引關鍵字,我想只有使用 Javascript 來產生網頁內容了吧。

Reference

沒有留言: