【问题标题】:php cURL or file_get_content affect on google analyticsphp cURL 或 file_get_content 对谷歌分析的影响
【发布时间】:2011-02-10 18:47:15
【问题描述】:

我想知道用 php 加载外部页面对网站分析有什么影响。如果 php 正在加载外部页面,而不是实际的浏览器,那么向谷歌分析报告返回的 javascript 是否会将页面加载注册为命中?

【问题讨论】:

    标签: php curl analytics file-get-contents


    【解决方案1】:

    获取页面中的任何 JavaScript 都不会运行,因此对分析没有影响。原因是获取的 HTML 页面从未在实际浏览器中解析,因此没有执行任何 JavaScript。

    【讨论】:

      【解决方案2】:

      Curl 不会自动下载 HTML 引用的 JavaScript 文件。因此,除非您明确下载 Google Analytics JavaScript 文件,否则 Google 不会检测到 Curl 命中。

      【讨论】:

      • 有什么办法解决这个问题吗?我需要加载一个外部页面,但仍有分析工作。
      • 您可以解析页面并明确地让 Curl 下载其中包含的 JavaScript 文件。您可能还想适当地设置 Referer 标头。
      【解决方案3】:

      Google 提供a non-JavaScript method of tracking hits。它适用于移动网站,但可以根据您的需要重新调整用途。

      【讨论】:

        【解决方案4】:

        您误解了 curl/file_get_contents 的工作原理。它们在服务器上执行,而不是在客户端浏览器上。就 Google 和任何普通用户而言,他们将看到这些调用的输出,而不是调用本身。

        例如

        1. 来自服务器 A 的客户端请求页面
        2. 服务器 A 向服务器 B 请求页面
        3. 服务器 B 向服务器 A 回复页面数据
        4. 服务器 A 接受来自服务器 B 的页面数据
        5. 服务器 A 向客户端发送页面数据

        假设所有请求都正常工作并且没有发出任何警告/错误,并且服务器 A 和服务器 B 之间没有网络故障,那么客户端绝对没有办法确切地看到服务器 A 在做什么。它可能正在发送本地文件。它可能正在执行本地脚本并发送其输出。它可能会将请求外包给印度的服务器,该服务器完成了艰苦的工作,然后简单地声称它的功劳,等等......

        现在,您可以让客户端直接与服务器 B 对话。您可以让服务器 A 吐出一个 HTML 页面,其中包含指向服务器 B 的 iframe、图像标记、脚本标记、css 文件等。但这对客户端不再透明 - 您明确告诉客户端“嘿,去那里看看这个内容”。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-06-09
          • 2014-01-01
          • 1970-01-01
          • 2011-05-22
          • 1970-01-01
          • 2015-11-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多