在网站优化中,生成正确的sitemap文件对于SEO至关重要。本文将详细介绍如何使用Dedecms生成适合百度和谷歌的sitemap文件。
第一步:了解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文件,从而提高网站在搜索引擎中的表现。