分享:文档关键词自动生成列表页的织梦教程
一、利用 文档关键词维护->分析系统内的关键字->检测已有的关键字 功能,自动获取关键字链接网址,修改如下:找到 dede\article_keywords_make.php 80行
1
foreach
(
$wsnew
as
$k
=>
$v
)
2
{
3
if
(
strlen
(
$k
)>20)
4
{
5
continue
;
6
}
7
$dsql
->SetQuery(
"Insert Into `dede_keywords`(keyword,rank,sta,rpurl) Values('"
.
addslashes
(
$k
).
"','$v','1','')"
);
$dsql
->Execute();
8
}
将上面的代码修改为:
01
foreach
(
$wsnew
as
$k
=>
$v
)
02
{
03
$rpurl
=
""
;
04
$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,%') "
);
05
if
(
is_array
(
$myrow
))
06
{
07
//注意:$GLOBALS['cfg_basehost'] 样式类似为 http://www.hnmnh.com,后面没有反斜杠;
08
$rpurl
=
$GLOBALS
[
'cfg_basehost'
].trim(
$myrow
[
'rpurl'
]);
09
}
10
$dsql
->SetQuery(
"Insert Into `dede_keywords`(keyword,rank,sta,rpurl) Values('"
.
addslashes
(
$k
).
"','$v','1','$rpurl')"
);
$dsql
->Execute();
11
}
二、在templets\default\目录下新建 keywords.htm 模板文件(如果已自定义模板路径,此处选择对应的目录);keywords.html模板页面的源码保存为
01
<html>
02
<head>
03
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=gb2312"
>
04
<title>DedeCms关键词记录单</title>
05
</head>
06
<body>
07
<div>
08
<dl>
09
<dt>DedeCms关键词记录单:</dt>
10
<dd>
11
<ul>
12
{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}
13
</ul>
14
</dd>
15
</dl>
16
</div>
17
</body>
18
</html>
三、进入DedeCms后台管理界面:
生成->HTML更新->更新主页HTML,进入“主页更新向导:”页面, 设置“选择主页模板:”为“default/keywords.htm”; 设置“主页位置:”为“../keywords.html”; 设置“相关选项:”为“不保存当前选项”; 最后点击“预览主页”或“更新主页HTML” 即可生成“DedeCms文档关键词列表页”必须说明的是,DeDeCMS系统从文档中提炼出的关键词未必非常精准,而且有时候往往偏离站点主题,如果为这些非主题关键词插入超链接,则会导致站内链接相关性降低,不利于SEO,因此,我们需要进行一定程度的人工维护,对非主题关键词不要插入超链接。DeDeCMS文档关键词列表页完全可以作为站内关键词的网站地图页,你可以引导搜索蜘蛛主动爬行该页面,对关键词排名会有一些帮助。