原因分析:現在為了節省一些流量,在檢視原始碼的時候,只有管理員可以看到頁面中的 keyword 和 description,而其他普通會員和遊客是看不到的,但是蜘蛛是可以看到的,不相信的朋友可以模擬蜘蛛看看結果。
問題所在:目前發現的問題是如果開啟了遊客快取,那麼遊客觸發快取後,會造成蜘蛛爬行的時候也讀了快取,那麼就會造成蜘蛛找不到 keyword 與
description 了,所以可以做如下修改,如下修改後,遊客也可以看到這兩項了,如果開啟了遊客快取,則需要將遊客快取刪除一下才會生效。

修改檔案:source/function/function_core.php

查詢:

  1. if($descriptiontext && (IS_ROBOT || $_G['adminid'] == 1)) {

替換為:

  1. if($descriptiontext && (CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1)) {

查詢:

  1. if($keywordstext && (IS_ROBOT || $_G['adminid'] == 1)) {

替換為

  1. if($keywordstext && (CURSCRIPT == 'forum' ||IS_ROBOT || $_G['adminid'] == 1)) {

如果沒有開啟遊客快取,可以不做修改。
如果想要完全放開 SEO 設定給遊客看,那麼可以

  1.                 if($descriptiontext && (CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1)) {
  2.                         $seodescription = strreplace_strip_split($searchs, $replaces, $descriptiontext);
  3.                 }
  4.                 if($keywordstext && (CURSCRIPT == 'forum' || IS_ROBOT || $_G['adminid'] == 1)) {
  5.                         $seokeywords = strreplace_strip_split($searchs, $replaces, $keywordstext);
  6.                 }

修改為:

  1.                 if($descriptiontext) {
  2.                         $seodescription = strreplace_strip_split($searchs, $replaces, $descriptiontext);
  3.                 }
  4.                 if($keywordstext) {
  5.                         $seokeywords = strreplace_strip_split($searchs, $replaces, $keywordstext);
  6.                 }

另外:帖子內容頁  如果沒有單獨設定 對應的 SEO 描述,那麼此處:
遊客與會員看到的是: 帖子標題
蜘蛛與管理員看到的是:摘要+標題

如果需要讓會員也看到的這個描述以表安慰的話,可以做如下修改:
找到  source/module/forum/forum_viewthread.php 搜尋:

  1. if(IS_ROBOT ||
    $_G['adminid'] == 1) $summary = str_replace(array("
    ", "
    "), '',
    messagecutstr(strip_tags($post['message']), 160));

修改為:

  1. $summary = str_replace(array("
    ", "
    "), '', messagecutstr(strip_tags($post['message']), 160));