You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopify加载速度优化后评分异常,求鉴定代码是否合规

Shopify站点优化代码解读与合规性判断

我自己试过压缩CSS、优化图片、给JS加async属性、删掉没用的应用这些操作,但Lighthouse评分没怎么变。后来在Upwork雇人优化Shopify站点加载速度,移动端评分从10涨到90,桌面端从60升到98,但Shopify后台的站点速度评分没明显变化。我查了被修改的代码,发现下面这段,想请人解读代码并判断是不是欺诈手段/合规操作。

<script type="text/javascript"> 
const observer = new MutationObserver(e => { 
  e.forEach(({ addedNodes: e }) => { 
    e.forEach(e => { 
      1 === e.nodeType && "SCRIPT" === e.tagName && (
        e.innerHTML.includes("asyncLoad") && (
          e.innerHTML = e.innerHTML.replace("if(window.attachEvent)", "document.addEventListener('asyncLazyLoad',function(event){asyncLoad();});if(window.attachEvent)")
          .replaceAll(", asyncLoad", ", function(){}")
        ), 
        e.innerHTML.includes("PreviewBarInjector") && (
          e.innerHTML = e.innerHTML.replace("DOMContentLoaded", "asyncLazyLoad")
        ), 
        (e.className == 'analytics') && (e.type = 'text/lazyload'),
        (e.src.includes("assets/storefront/features")||e.src.includes("assets/shopify_pay")||e.src.includes("connect.facebook.net"))&&(
          e.setAttribute("data-src", e.src), 
          e.removeAttribute("src")
        )
      )
    })
  })
});
observer.observe(document.documentElement,{childList:!0,subtree:!0})
</script>
{{ "//cdn.shopify.com/s/files/1/0603/7530/2276/t/1/assets/section.header.js" | script_tag}}

代码功能拆解

  • 核心逻辑:监听DOM动态添加的脚本
    这段代码用MutationObserver盯着整个页面的DOM变化,只要有新节点加进来,就专门挑<script>标签做手脚,本质是延迟或禁用脚本的立即执行/加载。
  • 针对不同脚本的具体操作
    1. 带asyncLoad的内联脚本:
      • 给脚本加了个asyncLazyLoad事件监听,只有这个事件触发时才会执行asyncLoad函数
      • 把原脚本里的, asyncLoad替换成空函数,相当于暂时废掉原有的回调,等事件触发才恢复
    2. 带PreviewBarInjector的内联脚本:
      • 把脚本里的DOMContentLoaded(页面加载完成就触发)换成asyncLazyLoad,延迟脚本的执行时机
    3. class是analytics的脚本:
      • 把脚本类型改成text/lazyload,浏览器默认不会执行这种自定义类型的脚本
    4. 特定外部脚本(Shopify功能、Shopify Pay、Facebook相关):
      • 把脚本的src存到data-src里,删掉原src,这样脚本不会立刻加载,得等后续通过JS把data-src放回src才会加载

合规性与欺诈判断

  • Lighthouse评分暴涨的原因
    Lighthouse是实验室环境的模拟加载,这段代码通过延迟加载、暂时禁用脚本,减少了首屏的JS阻塞、请求数和资源体积,刚好命中Lighthouse的评分规则,所以分数涨得快。
  • Shopify后台评分没变化的原因
    Shopify的速度评分是基于真实用户的访问数据,或者有自己的测速逻辑,不会被这种“临时禁用脚本”的小技巧忽悠,真实用户访问时这些脚本最终还是会加载执行,所以后台评分没变化。
  • 是不是欺诈/合规?
    这属于典型的Lighthouse作弊手段:它没有真正优化站点的核心性能,只是钻了Lighthouse模拟测试的空子,让评分看起来好看,但真实用户体验没得到实质性提升——甚至可能因为脚本延迟加载,导致页面交互慢、后续加载卡顿,反而影响体验。
    这种操作违反了Lighthouse的评测初衷,也不符合优化的诚信原则,本质是“刷分”而非真优化,算不上合规操作。

内容的提问来源于stack exchange,提问作者misert20

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:10:33