POST TIME:2018-09-02 13:27
DEDECMS有個文檔關鍵詞維護功能,這個功能可以把文章里的關鍵詞鏈向各個地方,就是內鏈優化,作為SEO人員用dedecms系統必須解決的問題,dedecms 文檔關鍵詞維護,這個之前也用過,只不過有點小BUG,在網上搜了搜,終于解決了,dedecms文檔關鍵詞維護官方默認規則是:
1.文檔關鍵詞維護添加關鍵詞和url對應表
2.文章內容出現改關鍵詞
3.文章的關鍵詞出現這個詞(就是這里<meta name=”keywords” content=”" />)
顯然第3條規則有問題,如果能去掉第3條規則就完美了。
織夢(dedecms)官方默認規則是:
1.添加關鍵詞和關鍵詞的鏈接地址
設置步驟:進入后臺 核心->批量維護->文檔關鍵詞維護
2.文章內容出現該關鍵詞
3.文章的關鍵詞出現這個詞(就是這里<meta name="keywords" content="" />) //這個是在發布文章的時候填寫的
第三條規則使得關鍵詞內鏈不盡完美,所以得修改文件取消掉第三條規則,達到我們想要的效果,即文章內出現該關鍵詞即鏈向指定的URL
在Dedecms5.5,5.6下測試有效
一、開打include/arc.archives.class.php 文件
二、查找 function ReplaceKeyword($kw,&$body)
三、往下找到下面這段代碼,刪除或注釋掉
foreach($kws as $k)
{
$k = trim($k);
if($k!="")
{
if($i > $maxkey)
{
break;
}
$myrow = $this->dsql->GetOne("select * from dede_keywords where keyword=’$k’ And rpurl<>” ");
if(is_array($myrow))
{
$karr[] = $k;
$GLOBALS['replaced'][$k] = 0;
$kaarr[] = "<a href="{$myrow["><span style="text-decoration: underline;">$k</span></a>";
}
$i++;
}
}
四、并在注釋或刪除的代碼下面加入以下代碼:
$dsql = new DedeSql(false);
$query="select * from dede_keywords where rpurl<>'' ";
$dsql->SetQuery($query);
$dsql->Execute();
while($row = $dsql->GetArray())
{
$key = trim($row['keyword']);
$rul=trim($row['rpurl']);
if($rul!="")
if(!in_array($key, $kw))
if(!in_array($kw,$key))
if(substr_count($body,$key)<20)
{
$karr[] = $key;
$kaarr[] = "<a href=’$rul’>$key</a>";
}
}
五、OK,已經修改完成了。直接復制上面代碼,文章內同樣的關鍵詞只會出現一個鏈接。