dede手机模板链接如何正确设置与优化?

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

在 DedeCMS 中,手机模板和电脑模板是分开的,因此链接的处理也需要特别注意,以确保用户在手机端访问时,所有链接都正确指向手机版的页面,而不是跳转到电脑版。

核心问题:为什么需要特殊处理?

默认情况下,DedeCMS 的标签(如 {dede:arclist})生成的链接是电脑版的,如果你的网站开启了 “手机端自动跳转” 功能,当用户用手机访问电脑版链接时,系统会自动重定向到对应的手机版页面,但这种方式存在两个问题:

  1. 用户体验不佳:会经历一次页面跳转,加载速度变慢,且 URL 地址栏可能会先显示电脑版地址,然后才跳转到手机版地址。
  2. 不利于 SEO:搜索引擎在抓取时可能会认为这是两个重复的内容,不利于权重集中。

最佳实践是在手机模板中直接生成手机版的链接,避免不必要的跳转。


解决方案:使用手机专用标签

DedeCMS 从 V5.7 版本开始,引入了专门用于手机模板的标签,其核心是在普通标签后加上 mobile 参数。

文章/列表页链接 ({dede:arclist}{dede:list})

这是最常用的情况,在手机模板中,你需要使用 mobile='yes' 参数。

电脑版模板中的写法:

{dede:arclist titlelen='30' row='5'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:arclist}

这里的 [field:arcurl/] 会生成类似 https://www.yoursite.com/a/2025/1234.html 的电脑版链接。

手机版模板中的正确写法:

{dede:arclist titlelen='30' row='5' mobile='yes'}
    <li>
        <!-- 使用 [field:mobileurl/] 来获取手机版链接 -->
        <a href="[field:mobileurl/]">[field:title/]</a>
    </li>
{/dede:arclist}

这里的 [field:mobileurl/] 会直接生成类似 https://www.yoursite.com/m/a/2025/1234.html 的手机版链接。

标签解析:

  • {dede:arclist mobile='yes'}: 声明这是一个手机端的列表标签。
  • [field:mobileurl/]: 这是关键,它专门用于获取当前文章在手机版的 URL,如果文章没有对应的手机版页面,它可能会回退到电脑版链接或为空,具体取决于系统配置。

页链接 ({dede:field name='arcurl'})

页(article_article_m.htm),获取当前文章链接也需要使用手机版专用标签。

电脑版模板中的写法:

<a href="{dede:field name='arcurl'/}">分享本文</a>

手机版模板中的正确写法:

<a href="{dede:field name='mobileurl'/}">分享本文</a>

同样,{dede:field name='mobileurl'/} 用于获取当前手机文章页面的链接。

栏目链接 ({dede:type})

在栏目列表页或文章内容页,调用栏目链接时也需要使用手机版标签。

电脑版模板中的写法:

{dede:type}
    <a href="[field:typelink/]">[field:typename/]</a>
{/dede:type}

手机版模板中的正确写法:

{dede:type mobile='yes'}
    <!-- 使用 [field:mobiletypelink/] 来获取手机版栏目链接 -->
    <a href="[field:mobiletypelink/]">[field:typename/]</a>
{/dede:type}

分页链接 ({dede:pagelist})

列表页的分页也需要是手机版的。

电脑版模板中的写法:

{dede:pagelist listsize='4'/}

手机版模板中的正确写法:

{dede:pagelist listsize='4' mobile='yes'/}

加上 mobile='yes' 后,分页链接会自动指向手机版的列表页。


实际操作步骤

假设你已经配置好了手机模板(在后台“模板” -> “手机模板”中设置),现在需要修改你的手机模板文件(如 index_m.htm, list_article_m.htm, article_article_m.htm 等)。

  1. 打开手机模板文件:使用 FTP 或后台文件管理器,打开你需要修改的手机模板文件。
  2. 查找并替换链接标签
    • 找到所有 {dede:arclist} 标签,在其中添加 mobile='yes' 属性,并将 [field:arcurl/] 替换为 [field:mobileurl/]
    • 找到所有 {dede:list} 标签,在其中添加 mobile='yes' 属性。
    • 找到所有 {dede:field name='arcurl'},将其替换为 {dede:field name='mobileurl'}
    • 找到所有 {dede:type} 标签,在其中添加 mobile='yes' 属性,并将 [field:typelink/] 替换为 [field:mobiletypelink/]
    • 找到所有 {dede:pagelist} 标签,在其中添加 mobile='yes' 属性。
  3. 保存文件:保存修改后的手机模板文件。
  4. 更新缓存:登录 DedeCMS 后台,点击“系统” -> “一键更新网站” -> “更新HTML”,然后选择“更新手机主页”或“更新所有手机页面”,生成新的手机页面。

重要前提:确保手机端目录正确

为了让上述标签正常工作,你的 DedeCMS 必须正确配置了手机端目录。

  1. 后台设置

    • 登录 DedeCMS 后台。
    • 进入“系统” -> “系统基本参数” -> “核心设置”。
    • 找到 “手机版访问地址” 选项。
    • 确保它被正确设置,通常有两种格式:
      • 子目录形式(推荐)https://www.yoursite.com/m/
      • 二级域名形式https://m.yoursite.com/
    • 保存设置。
  2. 伪静态规则

    • 为了手机端有更好的 URL,通常会为手机目录(如 /m/)配置伪静态规则。
    • Nginx 伪静态规则示例
      location ~* ^/m {
          if (!-e $request_filename) {
              rewrite ^/m/(.*)$ /m/index.php?$1 last;
          }
      }
    • Apache 伪静态规则示例 (.htaccess)
      RewriteEngine On
      # 手机端伪静态规则
      RewriteBase /
      RewriteRule ^m/(.*)$ /m/index.php?$1 [L,QSA]
需求 电脑版标签 手机版标签
文章列表链接 [field:arcurl/] [field:mobileurl/] (需在 {dede:arclist mobile='yes'} 中使用)
当前文章链接 {dede:field name='arcurl'/} {dede:field name='mobileurl'/}
栏目链接 [field:typelink/] [field:mobiletypelink/] (需在 {dede:type mobile='yes'} 中使用)
分页链接 {dede:pagelist/} {dede:pagelist mobile='yes'/}

记住这个核心原则:在手机模板文件中,凡是涉及到生成 URL 的地方,都要使用带 mobile 参数的标签和对应的 mobileurl 字段。 这样就能确保你的手机模板所有链接都直接指向手机版页面,提供流畅的用户体验和良好的 SEO 表现。

-- 展开阅读全文 --
头像
c语言 十进制转二进制 函数
« 上一篇 02-11
织梦form提交检验如何实现?
下一篇 » 02-11

相关文章

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

目录[+]