dede tag标签如何做静态化提升SEO效果?

99ANYc3cd6
预计阅读时长 20 分钟
位置: 首页 DEDE建站 正文

第一部分:Dede Tag 标签静态化详解

默认情况下,DedeCMS 的 Tag 标签页是动态的,URL 类似于 tags.php?/关键词/,这种 URL 对搜索引擎不友好,且不利于权重传递,将其改为静态化(如 /tags/关键词.html)是首要任务。

dede tag标签静态 seo
(图片来源网络,侵删)

为什么需要静态化?

  1. SEO 友好:静态 URL 结构清晰,包含关键词,更容易被搜索引擎理解和抓取。
  2. 用户体验:用户看到 .html 后缀,会认为这是一个固定、权威的页面,信任度更高。
  3. 权重集中:静态页面可以被搜索引擎正常收录,并将相关权重传递给该标签下的所有文章。
  4. 便于分享:简洁的 URL 更易于复制和分享。

如何实现 Tag 标签静态化?

主要有两种方法:官方插件法(推荐)手动修改法


使用官方插件(最简单、最安全)

这是最推荐的方法,因为官方插件经过测试,兼容性好,且不会破坏核心文件。

  1. 下载插件

    • 访问 DedeCMS 官方论坛或插件下载中心。
    • 搜索并下载 “tag静态化”“tag伪静态” 相关的插件,通常会有一个名为 taghtml.zip 或类似名称的压缩包。
  2. 上传并安装

    dede tag标签静态 seo
    (图片来源网络,侵删)
    • 将下载的插件包解压。
    • 将解压后的文件夹通过 FTP 上传到你的网站根目录 /dede/ 下。
    • 登录你的 DedeCMS 后台,进入 “插件” -> “插件管理”
    • 你应该能看到新上传的插件,点击 “安装”“启用”
  3. 生成规则

    • 安装插件后,系统会自动或提示你生成 Tag 静态规则。
    • 进入后台 “系统” -> “系统基本参数” -> “核心设置”
    • 找到 “是否使用标签静态” 选项,将其设置为 “是”
    • 找到 “标签命名规则”,通常插件会自动设置好,tags/{tag}.html,你可以根据需要修改,但一般无需改动。
    • 保存设置。
  4. 重新生成

    • 进入 “生成” -> “更新Tag缓存”,点击执行。
    • 然后进入 “批量更新文档”,选择所有栏目,重新生成 HTML,这一步至关重要,因为文章页中的 Tag 链接需要被更新。

完成以上步骤后,你的 Tag 页面 URL 就会变成 /tags/关键词.html 的静态形式。


手动修改代码(适合有一定技术基础的用户)

如果你不想使用插件,或者找不到合适的插件,可以手动修改。

dede tag标签静态 seo
(图片来源网络,侵删)

重要提示:修改前务必备份原文件!以防出错导致网站无法访问。

  1. 修改 arc.taglist.class.php 文件

    • 路径:/include/arc.taglist.class.php
    • 打开该文件,找到 GetTags() 函数(大约在第 258 行)。
    • 将原来的代码:
      return $this->MakeTag($tag);
    • 修改为:
      // 生成静态链接
      $tagurl = $GLOBALS['cfg_cmsurl']."/tags/".urlencode($tag).".html";
      return "<a href='".$tagurl."' target='_blank'>".$tag."</a>";
    • 注意urlencode() 函数可以处理中文等特殊字符,确保链接正确。
  2. 修改 taglib/tag.lib.php 文件

    • 路径:/include/taglib/tag.lib.php
    • 打开该文件,找到 lib_tag() 函数(大约在第 35 行)。
    • 将原来的代码:
      $row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";
    • 修改为:
      // 生成静态链接
      $row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
  3. 修改 tags.php 文件(可选,但推荐)

    • 路径:/tags.php
    • 为了防止动态页面被收录,或者将动态请求 301 重定向到静态页面,你可以修改此文件。
    • 方案A:直接跳转(推荐) 在文件开头 require_once(dirname(__FILE__)."/include/common.inc.php"); 之后,添加以下代码:
      if (!empty($_GET['tag'])) {
          $tag = trim($_GET['tag']);
          $static_url = $cfg_cmsurl."/tags/".urlencode($tag).".html";
          header("HTTP/1.1 301 Moved Permanently");
          header("Location: $static_url");
          exit();
      }
    • 方案B:直接404 如果你想彻底废弃动态页面,可以直接在文件开头加上 header("HTTP/1.1 404 Not Found"); exit();,让所有访问 tags.php 的请求都返回 404。
  4. 重新生成

    • 和插件方法一样,进入后台 “生成” -> “更新Tag缓存”“批量更新文档”,重新生成所有相关页面。

第二部分:Tag 标签 SEO 优化策略

静态化只是第一步,要让 Tag 页面真正为 SEO 做出贡献,还需要进行更深度的优化。

URL 结构优化

  • 简洁明了/tags/关键词.html 是最佳实践。
  • 包含关键词:URL 中必须包含核心关键词。
  • 统一格式:确保全站所有 Tag 页面 URL 格式一致。

Title、Keywords、Description 优化

这是 SEO 的核心,Tag 页面应该自动生成符合该标签特性的 SEO 信息。

  • 修改文件/include/arc.taglist.class.php
  • 找到函数ParseTempletsFirst(),这是解析模板并填充数据的函数。
  • 添加/修改代码:在该函数中,你可以找到 $this->Fields 数组,这是传递给模板的变量,我们需要手动为它添加 SEO 标签。

ParseTempletsFirst() 函数内,适当位置添加以下代码:

// 为Tag列表页添加SEO信息
$this->Fields['title'] = $this->TagInfos['tagname'] . '_标签页_' . $GLOBALS['cfg_webname'];
$this->Fields['keywords'] = $this->TagInfos['tagname'];
// 描述可以组合标签名和文章数
$art_count = $this->TotalResult;
$this->Fields['description'] = '' . $this->TagInfos['tagname'] . '”的相关文章,共有' . $art_count . '篇,为您精选了最新的' . $this->TagInfos['tagname'] . '相关资讯和知识。';

代码解释

  • Title:格式为 标签名_标签站名,清晰明了。
  • Keywords:直接使用标签名作为关键词。
  • Description:生成一段描述性文字,包含标签名和该标签下的文章总数,更具吸引力。

模板 (Template) 优化

Tag 页面的模板文件是 /templets/default/taglist.htm,你需要自定义这个模板,使其对 SEO 更友好。

优化建议

  • H1 标签:在页面的显著位置(通常是顶部)使用 <h1> 标签包裹当前标签名。
    <h1>{dede:field.title/}</h1>
  • 面包屑导航:添加面包屑,告诉用户和搜索引擎他们在网站中的位置。
    <div class="breadcrumb">
        <a href='{dede:global.cfg_cmsurl/}/'>首页</a> > <a href='/tags/'>标签</a> > {dede:field.title/}
    </div>
  • 分页优化:确保分页链接是静态的,DedeCMS 默认在静态化 Tag 后,分页链接已经是静态的(如 /tags/关键词-2.html),无需额外操作。
  • 内容摘要:默认情况下,Tag 页会显示文章的全文,为了页面加载速度和避免内容重复,建议只显示文章摘要。
    • taglist.htm 中找到 {dede:list}
    • 将调用文章内容的部分(如 [field:body/])替换为调用摘要 [field:description/],并限制字数。
      {dede:list pagesize='20'}
      <li>
      <a href="[field:arcurl/]">[field:title/]</a>
      <span class="date">([field:pubdate function="MyDate('Y-m-d',@me)"/])</span>
      <p>[field:description function="cn_substr(@me,200)"]...</p>
      </li>
      {/dede:list}
  • nofollow 属性:对于“下一页”等分页链接,可以加上 rel="nofollow",以避免权重分散。
    <a href='{dede:pagelist listitem='next'/}' rel="nofollow">下一页</a>

内容质量与内链策略

  • 内容聚合:Tag 页面的价值在于它是一个特定主题的内容聚合页,确保这个页面有足够多的、高质量的相关文章。
  • 内部链接
    • 中,合理地加粗或链接到相关的其他 Tag。
    • 在网站的侧边栏、页脚等位置,可以设置一个“热门标签”模块,链接到重要的 Tag 页面,增加这些页面的内链权重。
  • 避免重复内容:如果多个 Tag 页面内容高度重合(电脑”和“计算机”),需要考虑合并或规范标签,或在模板中通过逻辑判断来区分。

网站地图 (Sitemap) 包含

确保你的网站地图(无论是 sitemap.xml 还是 sitemap.html)中包含了所有 Tag 页面的链接,这样搜索引擎就能发现并抓取到这些聚合页面。


优化项目 具体操作 目的
URL 静态化 使用官方插件或手动修改 arc.taglist.class.phptaglib/tag.lib.php 提升用户体验,利于 SEO 收录
SEO 标签优化 arc.taglist.class.phpParseTempletsFirst() 函数中动态设置 title, keywords, description 为每个 Tag 页面定制精准的 SEO 信息
模板优化 自定义 taglist.htm,使用 H1、面包屑、内容摘要、优化分页 提升页面结构清晰度和加载速度
网站地图 将 Tag 页面 URL 加入 Sitemap 帮助搜索引擎发现所有聚合页

通过以上步骤,你的 DedeCMS Tag 标签系统将从一个简单的功能模块,转变为一个强大的 SEO 工具,能有效提升网站的整体关键词排名和流量。

-- 展开阅读全文 --
头像
dede type 调用栏目图片
« 上一篇 2025-12-24
dede orderby发布时间如何正确设置?
下一篇 » 2025-12-24

相关文章

取消
微信二维码
支付宝二维码