cnzz代码织梦不显示?百度知道解答来了

99ANYc3cd6
预计阅读时长 13 分钟
位置: 首页 织梦建站 正文

下面我将为你详细分析原因,并提供从易到难、从最可能到最不可能的解决方案。

cnzz 代码 织梦不显示 百度知道
(图片来源网络,侵删)

核心原因分析

织梦模板文件是 .php 文件,但里面混合了大量的 HTML 标签和模板引擎的标签(如 {dede:field}),CNZZ的统计代码是一段 JavaScript 代码。

最常见的原因是:这段JS代码被错误地放在了 PHP 代码块或织梦模板引擎的 {dede:} 标签内部,PHP引擎在解析文件时,会把这部分内容当作普通的字符串或变量来处理,而不会把它输出到浏览器让浏览器执行,浏览器在查看页面源代码时,根本就找不到这段JS代码,自然也就无法统计了。


解决方案(按推荐顺序排查)

请按照以下步骤逐一尝试,90%以上的问题都能在前两步解决。

检查代码放置位置(最常见原因)

CNZZ官方通常会给你两种代码:一种是异步JS代码(推荐),一种是传统的 <script> 代码。请务必使用异步JS代码,它更兼容且对网站加载速度影响更小。

cnzz 代码 织梦不显示 百度知道
(图片来源网络,侵删)

找到正确的模板文件

你需要将代码放在所有页面都会加载的公共部分,最常见的位置是:

  • 网站首页/templets/default/index.php
  • 网站页脚/templets/default/footer.php (这是最推荐的位置,因为所有页面都会调用页脚)

在模板文件中找到正确的放置点

打开你选择的模板文件(footer.php),找到 </body> 标签。CNZZ的代码必须放在 </body> 标签的后面,</html> 标签的前面,这是标准做法,可以确保页面主要内容加载完毕后再执行统计代码。

cnzz 代码 织梦不显示 百度知道
(图片来源网络,侵删)

检查是否被错误包裹

仔细检查你粘贴代码的位置,确保它没有被下面这样的标签包裹:

  • PHP 代码块<?php ... ?>
  • 织梦循环标签{dede:arclist ...}...{/dede:arclist}
  • 织梦字段标签{dede:field.body/}

错误示例(代码被放在了循环标签内):

{dede:arclist titlelen='30' row='10'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
    <!-- 这里是错误的位置!不要把CNZZ代码放在这里 -->
    <script src="https://s95.cnzz.com/z_stat.php?id=xxxx&web_id=xxxx" language="JavaScript"></script>
{/dede:arclist}

正确示例(放在 footer.php 的末尾):

    </div><!-- .end of .main-wrapper -->
    </div><!-- .end of .page-wrapper -->
    <!-- ============================================== -->
    <!-- 这里是正确的放置位置:在 </body> 标签之前 -->
    <!-- ============================================== -->
    {dede:include filename="footer.htm"/} /如果你的页脚是单独的文件
    <!-- CNZZ 统计代码开始 -->
    <script type="text/javascript">
        var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");
        document.write(unescape("%3Cspan id='cnzz_stat_icon_your_id'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s95.cnzz.com/z_stat.php%3Fid%3DYOUR_ID%26show%3Dpic' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <!-- CNZZ 统计代码结束 -->
</body>
</html>

检查代码是否被缓存

织梦有强大的缓存机制,有时候你修改了模板文件,但网站显示的依然是旧缓存。

  1. 清空所有缓存
    • 登录你的织梦后台。
    • 在顶部菜单栏找到 “系统” -> “一键更新缓存”,点击执行。
    • 或者进入 “系统” -> “系统设置” -> “SQL命令工具”,在命令框中输入 DelCache,并点击“提交执行”,这会清空所有缓存文件。
  2. 清浏览器缓存
    • Ctrl + F5 (Windows) 或 Cmd + Shift + R (Mac) 强制刷新浏览器页面,忽略本地缓存。

检查是否有插件或代码干扰

某些SEO插件、其他统计代码或自定义的JS函数可能会与CNZZ代码冲突,导致其无法正常执行。

  1. 临时禁用插件:如果安装了SEO类或JS类插件,尝试在后台禁用它们,然后刷新页面查看CNZZ是否出现。
  2. 检查其他JS代码:检查你的模板中是否还有其他 <script> 标签,特别是那些有语法错误的代码,一个JS错误可能会中断整个页面的JS执行。
  3. 使用浏览器开发者工具
    • F12 打开开发者工具(或右键点击页面 -> “检查”)。
    • 切换到 “控制台” 面板,看看是否有红色的错误信息,任何JS错误都会在这里显示。
    • 切换到 “网络” 面板,在筛选器中输入 cnzz,然后刷新页面,看看是否有对 cnzz.com 的请求,如果没有,说明代码根本没有执行;如果有但状态码是 404500,说明代码路径或ID错误。

检查CNZZ后台配置

这个可能性较小,但值得确认。

  1. 登录你的CNZZ统计后台。
  2. 检查你的网站是否处于“正常”状态,没有被暂停或删除。
  3. 确认你复制的代码中的 idweb_id 是否完全正确,一个字符都不能错。

总结与最终建议

遇到CNZZ代码不显示,请按以下流程操作:

  1. 首选方案:登录织梦后台,通过 “模板” -> “默认模板管理” 找到 footer.php 文件,点击“修改”,将CNZZ异步JS代码完整地粘贴到 </body> 标签之前,确保没有被任何 {dede:}<?php ?> 包裹,保存后,清空缓存,强制刷新浏览器。
  2. 如果还不行:检查浏览器 “控制台” 是否有JS错误,并尝试 临时禁用其他插件
  3. 最后检查:再次核对CNZZ后台的 网站ID 是否正确。

按照这个流程,绝大多数问题都能得到解决,如果所有方案都试过了还是不行,请提供你的网站地址和CNZZ代码片段(可以隐去ID),以便进一步分析。

-- 展开阅读全文 --
头像
dede5.7栏目绑定域名对SEO提升有多大帮助?
« 上一篇 12-04
Sublime Text 2如何配置C语言开发环境?
下一篇 » 12-04

相关文章

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

目录[+]