一、利用 文檔關鍵詞維護->分析系統內的關鍵字->檢測已有的關鍵字 功能,自動獲取關鍵字鏈接網址,修改如下:找到 dede\article_keywords_make.php 80行
4、找到specialtopic.lib.php第51行中的default改為id即可。
foreach($wsnew as $k=>$v)
{
if(strlen($k)>20)
{
continue;
}
$dsql->SetQuery("Insert Into `dede_keywords`(keyword,rank,sta,rpurl) Values('".addslashes($k)."','$v','1','')"); $dsql->Execute();
}
將上面的代碼修改為:
foreach($wsnew as $k=>$v)
{
$rpurl="";
$myrow = $dsql->GetOne("SELECT distinct concat(replace(b.sitepath,'{cmspath}',''),'/',(case a.filename when '' then a.id else a.filename end),'.html') rpurl FROM dede_archives a,dede_arctype b where a.typeid=b.id And (a.keywords='$k' or a.keywords like'$k,%' or a.keywords like'%,$k'or a.keywords like'%,$k,%') ");
if(is_array($myrow))
{
//注意:$GLOBALS['cfg_basehost'] 樣式類似為 http://www.hnmnh.com,後面沒有反斜槓;
$rpurl = $GLOBALS['cfg_basehost'].trim($myrow['rpurl']);
}
$dsql->SetQuery("Insert Into `dede_keywords`(keyword,rank,sta,rpurl) Values('".addslashes($k)."','$v','1','$rpurl')"); $dsql->Execute();
}
二、在templets\default\目錄下新建 keywords.htm 模板文件(如果已自定義模板路徑,此處選擇對應的目錄);keywords.html模板頁面的源碼保存為
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>DedeCms關鍵詞記錄單</title>
</head>
<body>
<div>
<dl>
<dt>DedeCms關鍵詞記錄單:</dt>
<dd>
<ul>
{dede:sql sql='Select * from dede_keywords order by aid} <li>[field:aid/] - <a href='[field:rpurl/]' target='_blank'>[field:keyword/]</a></li> {/dede:sql}
</ul>
</dd>
</dl>
</div>
</body>
</html>
三、進入DedeCms後台管理界面:
生成->HTML更新->更新主頁HTML,進入“主頁更新向導:”頁面,
設置“選擇主頁模板:”為“default/keywords.htm”;
設置“主頁位置:”為“../keywords.html”;
設置“相關選項:”為“不保存當前選項”;
最後點擊“預覽主頁”或“更新主頁HTML”
即可生成“DedeCms文檔關鍵詞列表頁”
必須說明的是,DeDeCMS系統從文檔中提煉出的關鍵詞未必非常精准,而且有時候往往偏離站點主題,如果為這些非主題關鍵詞插入超鏈接,則會導致站內鏈接相關性降低,不利於SEO,因此,我們需要進行一定程度的人工維護,對非主題關鍵詞不要插入超鏈接。DeDeCMS文檔關鍵詞列表頁完全可以作為站內關鍵詞的網站地圖頁,你可以引導搜索蜘蛛主動爬行該頁面,對關鍵詞排名會有一些幫助。
*