第一步:了解Dedecms生成地图功能。
Dedecms自带的地图生成功能,默认生成的是HTML格式,这并不符合我们需求。此外,它仅生成栏目链接,而不包含文章链接。因此,我们需要对这一功能进行修改以满足要求。
第二步:修改模板文件。
在/templets/plus目录下找到两个文件:sitemap.htm和rssmap.htm。我们将分别对这两个文件进行修改,使其适配百度和谷歌的sitemap标准。
<?xml version="1.0" encoding="{dede:global.cfg_soft_lang /}"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>{dede:global.cfg_basehost/}</loc>
<changefreq>always</changefreq>
<priority>1.0</priority>
</url>
{dede:arclist row='10000' orderby='pubdate'}
<url>
<loc>[field:global.cfg_basehost/][field:arcurl/]</loc>
<lastmod>[field:pubdate function="GetDateMK(@me)"/]</lastmod>
</url>
{/dede:arclist}
{dede:channelartlist row='50'}
<url>
<loc>{dede:global.cfg_basehost/}{dede:field name='typeurl'/}</loc>
<lastmod>{dede:php}echo date('Y-m-d');{/dede:php}</lastmod>
</url>
{dede:channel type='son' row='8'}
<url>
<loc>[field:global.cfg_basehost/][field:typelink/]</loc>
<lastmod>[field:id runphp="yes"]@me=date('Y-m-d');[/field:id]</lastmod>
</url>
{/dede:channel}
{/dede:channelartlist}
</urlset>
第三步:调整rssmap.htm文件。
同样地,删除原有内容并替换为以下代码:
<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns='http://www.google.com/schemas/sitemap/0.84'>
{dede:arclist typeid='0' }
<url><loc>[field:global.cfg_basehost/][field:arcurl/]</loc><lastmod>[field:pubdate function="MyDate('Y-m-d',@me)"/]</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url>
{/dede:arclist}
{dede:channelartlist row=50}
<url><loc>{dede:global.cfg_basehost/}{dede:field name='typeurl'/}</loc><lastmod>{dede:php}echo date('Y-m-d');{/dede:php}</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url>
{dede:channel type='son' row='8'}
<url><loc>[field:global.cfg_basehost/][field:typelink/]</loc><lastmod>[field:id runphp="yes"]@me=date('Y-m-d');[/field:id]</lastmod><changefreq>daily</changefreq><priority>1.0</priority></url>
{/dede:channel}
{/dede:channelartlist}
</urlset>
第四步:修改后台生成逻辑。
进入Dedecms后台目录,找到makehtml_map.php文件。添加一句引用:require_once DEDEINC."/arc.partview.class.php";。接着搜索if($dopost=="site")部分,将其内部代码替换为上述示例代码。这样可以确保生成的sitemap文件正确无误,并放置在网站根目录下以提升搜索引擎抓取效率。 通过以上步骤,您可以成功配置Dedecms生成符合标准的sitemap文件,从而提高网站在搜索引擎中的表现。