DEDE自动生成关键字列表页面

2010年1月19日 | 标签: , , ,

    网站,网页都要设置关键词,  这样有利于搜索引擎的收录, 这也是SEO优化网站的一个方法.

    也为了查找方便, 自己写了一个DEDE自动生成关键字列表的php文件, 直接放在根目录下运行,就能自动生成整站每篇文件的关键字列表, 并且链接到相关的文章, 这是自动生成关键字列表页面的代码:

<?php
    require_once (dirname(__FILE__) . "/include/common.inc.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $cfg_webname ?> – 关键词列表</title>
<style type="text/css">
<!–
body,td,th {
    font-size: 80%;
}
–>
</style>
</head>
<body>
<h3><a href=<?php echo $cfg_basehost ?> ><?php echo $cfg_webname ?></a></h3>
<?php
//生成关键字列表
require_once(DEDEINC."/arc.archives.class.php");  
require_once(DEDEINC."/channelunit.func.php");  
$dsql->Query("rs","select id  from `#@__arctiny`  where arcrank > -1 order by id desc");
while ($rs=$dsql->GetArray("rs")){  //循环出记录
     $arcid=$rs[id];
     $row = $dsql->GetOne("Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,
                       tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
                       from `#@__archives` arc left join `#@__arctype` tp on arc.typeid=tp.id
                        where arc.id=$arcid and arc.arcrank > -1 ");
         if($row){
             $url = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
                        $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
             //echo "print_r <pre>",print_r($row),"</pre>";
             $keywords=explode(",", $row['keywords']);
             if($keywords){$keywords[0]="<strong>".$keywords[0]."</strong>"; }
             echo "<p>[".$row['typename'].'] '.$row['title'];
             foreach($keywords as $keyword ){
                 echo " – "."<a href=$url taget='_blank'>$keyword</a>";
                 }
             echo "</p>
";
             }

}
?>
</body>
</html>

文件下载: winrar list_keywords.zip

   这是一个php文件,每次有新的内容加入, 都会自动更新.  这时是简单的罗列功能, 没有考虑过性能问题, 没有分页. 所以如果文章太多, 性能会有很大的影响. 请慎用, 而且一个页面的内部链接过多, 有被K的危险, 所在这个页面自己用不要公开最好.

  [2010-01-20] 更新了一下, 用了DEDE本身的数据库类, 代码简单了一点.

原创文章 转载请注明出处: 登高望远 [ http://www.dengor.com/archives/532.html ]

  1. 2010年1月19日19:49

    实用。
    另,“一个页面的内部链接过多, 有被K的危险”这我可是第一次听说,长见识了。

  2. 2010年1月19日22:04

    @午夜兰花手札
    我也是特意在网上找了内部链接方面的资料,很多说法,有的说首页不要超过100个链接, 有的说没有限制, 这种东西宁可信其有. 太多链接对用户来说是不好的体验,所以说搜索引擎忽略也是正常的.

  3. 2010年1月20日13:09

    超赞

  4. 2010年1月20日22:22

    对我很有吸引力

  5. 2010年3月30日15:25

    还是很不错的

  6. 2011年2月14日20:44

    能不能 加一个分页功能出来啊

    • 2011年2月15日17:07

      aqgege :

      能不能 加一个分页功能出来啊

      控制一下$dsql->Query的参数,很容易实现分页。

  7. 2011年2月16日10:58

    我不会啊 所以 请你帮我做一个啊 我不会编 只会html 可视设计

  8. 2011年2月16日21:56

    要不你加我 QQ 466249942 有尝给我做一个分页功能吧

本文的评论功能被关闭了.