织梦dedecms默认网站地图sitemap.html优化

网站地图对于网站优化很重要,搜索引擎就是靠网站地图去收录网站页面,本文主要讲解优化织梦自带的网站地图功能。
织梦自带的网站地图使用方法:织梦后台——生成——HTML更新——更新网站地图,可以在data目录下生成sitemap.html 。
缺点很明显:
1、生成的地图太简单,sitemap.html里面只有网站栏目列表,没有网站文章列表
2、sitemap.html生成的位置在data文件夹中,而data文件夹一般情况下为了安全是禁止访问的。
所以我们优化的工作就是让sitemap.html生成文章列表,并且生成在网站根目录。
以DEDECMS5.7为例:网站地图的模板sitemap.htm 在/templets/plus/目录里,就算在sitemap.htm中添加了织梦文章列表相关标签,也不能调用文章列表。
这是因为makehtml_map.php不能解析织梦的相关调用标签,我们可以稍作修改。让他实现调用任意标签。
备注:makehtml_map.php所在位置“根目录/dede/makehtml_map.php”
修改makehtml_map.php如下:
(1)把
require_once(DEDEINC."/dedetag.class.php");
改成
require_once(DEDEINC."/arc.partview.class.php");
(2)把
$dtp = new DedeTagParse();
$dtp->LoadTemplet($tmpfile);
$dtp->SaveTo($cfg_basedir.$murl);
改成
$dtp = new PartView();
$GLOBALS['_arclistEnv'] = 'index';
$dtp->SetTemplet($tmpfile);
$dtp->SaveToHtml($cfg_basedir.$murl);
(3)把
$dtp->Clear();
注释掉
//$dtp->Clear();
更新:
(4)26行 把
$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";
都改好之后就可以解析dedecms所有的标签了,包括文章列表标签。
要解释的是最后:
$cfg_basedir.$cfg_templets_dir."/plus/sitemap.htm"; 
改成
$cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/sitemap.htm";
更 改的用途是:原来网站地图模板的路径是固定在/plus/目录中的,即sitemap.htm的位置为“根目录/templets/plus /sitemap.htm”,更改之后sitemap.htm的位置改成网站模版所在目录,这样我们在自己的模版文件夹中新建个sitemap.htm文 件任意编辑成自己喜欢的网站地图模板就可以了。
懒鸟飞测试后发现,用这种方法做的网站地图有个小问题,就是文章列表没有分页效果,所以需要设置的文章显示数量多一点。懒鸟飞提供了个简单的模板,新建一个网站地图模板sitemap.htm ,模板中添加下面的代码:
<html>
<head>
<title>网站地图/{dede:global.cfg_webname/}</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<a href="{dede:global.cfg_indexurl/}">返回首页</a>
<br />
----------------------栏目列表----------------------
{dede:global name='maplist'/}
----------------------文章列表----------------------
<ul>
{dede:arclist typeid='' orderby=’pubdate’ row='999999' }
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</body>
</html> 
之后把sitemap.htm放到自己的模板文件夹中,再点击后台——生成——更新网站地图。查看:http://你的域名/sitemap.html ,就可以看到自己的sitemap.html了。

转载于:https://www.cnblogs.com/haihua85/p/8681680.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《WebForm开发系列之控件篇》Item2 ListBox

1. 属性列表&#xff1a; SelectionMode 组件中条目的选择类型&#xff0c;即多选(Multiple)、单选(Single) Rows 列表框中显示总共多少行 Selected 检测条目是否被选中 SelectedItem 返回的类型是ListItem&#xff0c;获得列表…

连接数据库的方法---ODBC

2012-12-10 11:50 (分类:计算机程序) 技术博客&#xff0c;对抗遗忘…… 1.ODBC Open Database Connectivity 1.1 简介&#xff1a;提供了一组对数据库访问的标准API&#xff08;应用程序编程接口&#xff09;&#xff0c;这些API利用SQL来完成其大部分任务。ODBC本身也提…

IDEA翻译插件Translate安装

1:安装插件 idea找到Plugins 输入Translate 点击installed 重启 2:翻译代码 选中代码&#xff0c;右键点击Translate 就能翻译了

代理类Proxy------ WeakHashMap----ReferenceQueue---- Reference

Proxy------ WeakHashMap----ReferenceQueue---- Reference转载于:https://www.cnblogs.com/yimian/p/7648544.html

看看你的网站有几个这样的链接?

为什么80%的码农都做不了架构师&#xff1f;>>> 这些要求都达到了&#xff0c;就是完美SEO的开始 1.pr大于3的链接 2.外链页面相关 3.永久型单向链接 4.外链必须是唯一的页面&#xff0c;不能是同一个ip下的 5.外链页面必须是静态页面 ..... 随机文章&#xff1a; …

UNICODE编程资料(转贴)

1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数&#xff1f;可以调用Microsoft Visual C的运行期库包含函数_mbslen来操作多字节&#xff08;既包括单字节也包括双字节&#xff09;字符串。调用strlen函数&#xff0c;无法真正了解字符串中究竟有多少字符…

状态压缩DP入门

什么是状压DP&#xff1a; 动态规划的状态有时候比较恶心&#xff0c;不容易表示出来&#xff0c;需要用一些编码技术&#xff0c;把状态压缩的用简单的方式表示出来。 典型方式&#xff1a;当需要表示一个集合有哪些元素时&#xff0c;往往利用2进制用一个整数表示。 动态规…

InitializingBean、@PostConstruct、@Bean(initMethod = “init“)和构造方法 执行优先级比较

InitializingBean 1、InitializingBean接口为bean提供了初始化方法的方式&#xff0c;它只包括afterPropertiesSet方法&#xff0c;凡是继承该接口的类&#xff0c;在初始化bean的时候都会执行该方法。 2、spring初始化bean的时候&#xff0c;如果bean实现了InitializingBean接…

Windows 7 镜像制作过程

首先准备两台电脑&#xff0c;一台作为样机&#xff0c;一台作为技术人员电脑&#xff0c;技术人员电脑安装了Windows AIK第一部分、系统安装配置1、安装Windows 7 操作系统&#xff0c;步骤略过2、启用Administrator&#xff0c;使用Administrator登陆&#xff0c;然后在控制面…

论文笔记——Deep Model Compression Distilling Knowledge from Noisy Teachers

论文地址&#xff1a;https://arxiv.org/abs/1610.09650 主要思想 这篇文章就是用teacher-student模型&#xff0c;用一个teacher模型来训练一个student模型&#xff0c;同时对teacher模型的输出结果加以噪声&#xff0c;然后来模拟多个teacher&#xff0c;这也是一种正则化的方…

mysql清空全表数据建议直接用truncate,效率上truncate远高于delete

如果是清空全表数据建议直接用truncate&#xff0c;效率上truncate远高于delete&#xff0c;应为truncate不走事务&#xff0c;不会锁表&#xff0c;也不会生产大量日志写入日志文件&#xff1b;truncate table table_name 后立刻释放磁盘空间&#xff0c;并重置auto_increment…

[你必须知道的css系列]第一回:丰富的利器终结篇:选择符的组合关系及选择符总结...

介绍了这么多选择符&#xff0c;其实选择符的使用最大的优势不是单枪匹马奋斗&#xff0c;而应该是针对不同的页面结构组合成各种方阵。其主要方式体现在针对性使用类选择符或者 ID选择符、选择符群组及选择符组合这3种方式。一、针对性使用类选择符或者 ID选择符主要作用于类选…

剑指offer之 旋转数组的最小数字

package Problem8; public class MinInReversingList { /* * 题目描述&#xff1a;把一个数组最开始的若干个元素搬到数组的末尾&#xff0c;我们称之为数组的旋转。 * 输入一个递增排序的数组的一个旋转&#xff0c;输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}…

SQL中delete和update后加 Limit是个好习惯

在业务场景要求高的数据库中&#xff0c;对于单条删除和更新操作&#xff0c;在 delete 和 update 后面加 limit 1 绝对是个好习惯。比如&#xff0c;在删除执行中&#xff0c;第一条就命中了删除行&#xff0c;如果 SQL 中有 limit 1&#xff1b;这时就 return 了&#xff0c;…

一个javascript框架应有的功能

一个人学许多东西&#xff0c;不等于他会很多东西&#xff0c;学了也会忘的&#xff0c;学了也不等于会运用&#xff0c;这时我们应该整一个很复杂的东西出来&#xff0c;那么就知道自己到底去到什么程度。基于这样的理由&#xff0c;我开始搞框架了&#xff0c;像我群里面的许…

appcan UI

appcan UI 公共类 &#xff08;[appcanUI框架地址:](http://newdocx.appcan.cn/UI/source&#xff09; .ub {display: -webkit-box !important;display: box !important;position: relative; }.ub-rev {-webkit-box-direction: reverse;box-direction: reverse; }.ub-fh {width…

sql表字段类型尽量使用数值替代字符串类型

尽量使用数值替代字符串类型 比如性别&#xff08;sex&#xff09;&#xff1a;0代表女&#xff0c;1代表男&#xff1b;数据库没有布尔类型&#xff0c; mysql 推荐使用 tinyint 1:因为引擎在处理查询和连接时会逐个比较字符串中每一个字符&#xff1b; 2:而对于数字型而言只…

问题步骤记录器——“懒教师”的好帮手

场景&#xff1a;电话响&#xff0c;接通电话&#xff0c;电话另一端&#xff1a;我的电脑又怎么怎么了&#xff0c;为什么我的***弄不出那样的效果&#xff1f;请问***要怎样操作&#xff1f;感悟&#xff1a;虽然不是大虾&#xff0c;但由于众多同学当中&#xff0c;我仍然靠…