discuz的門戶的“發布文章”功能中,沒有自動添加keywords字段,結果在文章頁面中的meta的keywords中只顯示標題,這樣對於seo及其不利,今天整理了添加keywords字段方法。
一、首先在數據中找到"XX_portal_article_title"表,XX是表的前綴,這個因人而異,是在安裝discuz時設置的,在這個表中增加一個字段"diy_keywords",類型varchar(64),默認為空。
二、在項目的目錄“/template/default/portal”找到模板portalcp_article.htm,打開模板后,找到如下這個位置,並添加html標簽
添加html標簽后,在發布文章的頁面,我們可以看到如下顯示:
三、模板中的表單字段添加完畢后,我們需要做入庫操作了。在項目目錄的“/source/include/portalcp”下找到portalcp_article.php,在文件的中找到$setarr數組,增加一個變量如下圖,增加這個變量后,發文和編輯文章的功能中diy_keywrods都能正常入庫
四、以上操作完成后,通過測試,diy_keyword可以正常入庫
五、接下來就是如何讓發布后的文章在meta的keywords中如何顯示剛才添加的diy_keyword,打開項目目錄“/template/default/common”的header_common.htm,
在meta的keyword上進行修改:
<meta name="keywords" content="{if !empty($article[diy_keyword])}{echo dhtmlspecialchars($article[diy_keyword])}{elseif !empty($metakeywords)}{echo dhtmlspecialchars($metakeywords)}{/if}" />
由於discuz的head是公用的一個模板,所以為了保持頻道列表也能正常顯示后台設置的keywod,我只增加了一個條件判斷,不影響頻道列表的keyword設置。