all in one seo pack的description沒有產生

all-in-one-seo-pack是wordpress熱門插件排名第一的外掛,主要功能就是將頁面標籤優化,好讓搜尋引擎能方便抓取網頁,提高該頁的排名。但裝了它近一個月,今天才注意到,大部份的文章都沒有產生description標籤

就算有的頁面有description,也覺得怪怪的,才抓了幾個字,搞不清楚它規則在哪裡,也沒閒情去翻它的code來看…
(我猜大概是因為中文字的關係,外國人寫這種有切到字的外掛,規則應該只考量西語系國家)

索性改寫一下,2個步驟就完成,也不花時間:

1. 在All in One SEO的外掛設定頁面,取消自動產生說明文字auto generate description的勾選

2. 在佈景header.php檔案的<head></head>之間,加入代碼

<?php
if (is_single()) {   
//將文章內容去除html標籤和空格後,取前面100個字,做為description
  $description = mb_substr(preg_replace('|\s*|','',strip_tags($post->post_content)),0,100,'UTF-8');
  echo '<meta name="description" content="'.$description.'" />';
}
?>

註:看到is_single就該知道,此修改只適用文章內容頁面

您可能也會喜歡…

2 個回應

  1. loring表示:

    我使用後也是發現這個問題,只有英文字母開頭的文章它才會顯示出來,看到你的方法節省我不少時間,謝啦!
    好文章不管經過多久都還是好文章^^

  2. 表示:

    可以請問?我公司的網站中均無ABC…文字,但若搜尋我方公司網站均會出現ABC…敘述,這情況可以改善?

發佈留言

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