当前位置:首页 > 行业动态 > 正文

dede 网站地图 调用文章

在 dede 后台,通过“系统”-“HTML 更新”可更新全站 HTML,包括能被搜索引擎索引的文章页面,利于生成网站地图。

在当今数字化时代,网站地图对于网站的 SEO 优化和用户体验至关重要,Dede(织梦)作为一款流行的网站管理系统,其自带的网站地图功能虽然方便,但在默认情况下可能无法完全满足需求,特别是不能直接调用文章列表,本文将详细介绍如何在 Dede 中修改网站地图模板,以实现调用文章的功能,并生成符合 SEO 标准的 sitemap.html 文件。

一、修改前的准备工作

1、备份相关文件:在进行任何修改之前,务必备份 Dede 系统中的以下文件:/templets/plus/sitemap.htm(网站地图模板文件)、/dede/makehtml_map.php(生成网站地图的 PHP 脚本),这是为了防止修改过程中出现意外情况导致数据丢失或系统出错。

2、了解文件作用sitemap.htm 是网站地图的模板文件,它决定了网站地图的 HTML 结构和显示样式;makehtml_map.php 则是负责生成网站地图的脚本文件,它读取模板文件并根据一定的规则生成最终的网站地图页面。

二、修改步骤

1、修改sitemap.htm 模板文件

定位文件路径:找到/templets/plus/sitemap.htm 文件,使用文本编辑器打开它。

添加文章调用标签:在合适的位置(通常是在显示栏目列表之后),添加用于调用文章列表的标签,可以使用{dede:arclist typeid='' row='999999' orderby='pubdate'} 标签来调用所有栏目下的文章,其中typeid 表示栏目 ID,这里留空表示调用所有栏目;row='999999' 是为了确保尽可能多地调用文章,避免因数量限制而遗漏;orderby='pubdate' 表示按照发布时间排序,具体的标签可以根据实际需求进行调整,比如可以指定特定的栏目 ID 来调用该栏目下的文章。

保存修改:完成标签添加后,保存对sitemap.htm 文件的修改。

2、修改makehtml_map.php 文件

定位文件路径:找到/dede/makehtml_map.php 文件,同样使用文本编辑器打开。

替换标签解析类:将文件中的require_once(DEDEINC."/dedetag.class.php"); 替换为require_once(DEDEINC."/arc.partview.class.php");,这是因为默认情况下,makehtml_map.php 使用的是DedeTagParse 类来解析标签,但这个类无法解析文章列表相关的标签,而PartView 类可以解析更多的标签类型,包括文章列表标签。

dede 网站地图 调用文章

修改标签处理代码:找到以下代码片段:

$dtp = new DedeTagParse();
$dtp->LoadTemplet($tmpfile);
$dtp->SaveTo($cfg_basedir.$murl);
$dtp->Clear();

将其替换为:

$dtp = new PartView();
$GLOBALS['_arclistEnv'] = 'index';
$dtp->SetTemplet($tmpfile);
$dtp->SaveToHtml($cfg_basedir.$murl);
// $dtp->Clear(); // 注释掉这行代码

这里的修改主要是创建了一个PartView 对象,并设置了一些必要的环境变量,以便正确解析模板中的标签,注释掉了$dtp->Clear(); 这一行代码,因为在新的标签解析方式下,可能不需要执行这步操作。

修改文件路径相关代码:找到以下代码:

$murl = $cfg_cmspath."/data/sitemap.html";
$tmpfile = $cfg_basedir.$cfg_templets_dir."/plus/sitemap.htm";

将其修改为:

$murl = $cfg_cmspath."/sitemap.html";
$tmpfile = $cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/sitemap.htm";

这一步的目的是将生成的网站地图文件路径从/data/ 目录下改为网站根目录,并将模板文件路径指向正确的位置(根据实际使用的模板风格目录),这样可以使生成的网站地图更容易被搜索引擎访问到,提高网站的 SEO 效果。

保存修改:完成上述修改后,保存对makehtml_map.php 文件的修改。

dede 网站地图 调用文章

三、更新网站地图

1、登录 Dede 后台:使用管理员账号登录 Dede 网站的后台管理系统。

2、生成网站地图:在后台找到“生成”菜单,点击“HTML 更新”,然后选择“更新网站地图”,系统会根据修改后的模板和脚本文件生成新的网站地图,并将其放置在网站根目录下(即/sitemap.html)。

3、检查网站地图:在浏览器中访问http://你的域名/sitemap.html,查看生成的网站地图是否符合预期,如果文章列表能够正确显示,并且没有出现错误或异常,则说明修改成功。

四、注意事项

1、测试与验证:在修改完成后,务必仔细测试网站地图的生成和显示情况,可以通过不同的浏览器和设备进行访问,检查文章列表是否完整、链接是否正确等,还可以使用一些在线工具来验证网站地图的格式是否符合标准,以确保搜索引擎能够正确识别和收录。

2、性能影响:如果网站的文章数量非常多,调用大量的文章可能会对服务器性能产生一定的影响,在设置调用文章的数量时,需要根据实际情况进行权衡,如果发现性能问题,可以适当减少调用的文章数量或者优化服务器配置。

3、版本兼容性:不同版本的 Dede 系统可能在文件结构和代码实现上略有差异,上述修改方法是基于常见的版本进行的说明,如果你使用的 Dede 版本较新或较旧,可能需要根据实际情况对修改步骤进行适当的调整,建议在进行修改之前,先了解自己使用的 Dede 版本,并参考相关的文档或社区资源。

4、SEO 优化:除了生成包含文章列表的网站地图外,还可以进一步对网站地图进行 SEO 优化,为每个文章链接添加适当的属性(如rel="nofollow" 等),以提高搜索引擎对网站地图的重视程度和收录效率,定期更新网站地图也有助于搜索引擎及时了解网站的最新内容变化。

dede 网站地图 调用文章

五、FAQs

1、问:修改后网站地图中的文章内容显示不全怎么办?

答:可能是由于在sitemap.htm 模板文件中设置的调用文章数量限制过低导致的,可以检查{dede:arclist} 标签中的row 属性值,适当增大该数值,以确保足够的文章被调用显示,也有可能是数据库查询出现问题,可以检查数据库连接是否正常以及相关的查询语句是否有误。

2、问:修改文件后点击更新网站地图没有任何反应,也没有生成新的文件,是什么原因?

答:检查文件权限是否正确设置,确保makehtml_map.php 文件具有可写权限,因为该文件需要在运行时生成新的网站地图文件,查看错误日志,查找是否有相关的错误信息提示,可能是由于代码修改错误导致脚本执行失败,根据错误信息进行排查和修复,还需要确认是否正确登录了后台,并且在生成网站地图的操作流程中没有出现其他问题。

六、小编有话说

通过以上步骤,我们成功地实现了在 Dede 系统中修改网站地图模板以调用文章的功能,并生成了符合 SEO 标准的 sitemap.html 文件,这不仅有助于提高网站的搜索引擎可见性,还能为用户提供更好的导航体验,需要注意的是,网站地图只是网站优化的一部分,要想获得更好的排名和流量,还需要综合考虑网站的内容质量、关键词优化、外部链接建设等多个方面,希望本文能为广大 Dede 用户提供一些帮助和启示,让大家更好地利用 Dede 系统打造高质量的网站。