php - 跟踪来自 LinkedIn 的访问
问题描述
我使用 LinkedIn 和其他社交媒体在我的网站上宣传某些博客内容。我的网站在 Wordpress 上,因此我编写了一个插件,该插件创建了一个用于显示访问源的小部件。获得此来源后,我可以将其存储在表格中,并可以查看来自每个社交媒体渠道的访问次数,以测试帖子的有效性。
问题是,虽然我可以毫无问题地识别来自 Facebook、Twitter、G+ 等的点击,但我没有从 LinkedIn 获得任何推荐人信息。
我使用读取信息如下:
//Get the referer from Wordpress
$ref_raw = wp_get_raw_referer();
echo '<li>RAW: '.( strlen($ref_raw)? $ref_raw: 'None' ).'</li>';
//Get the IP from the server to check
$ref_srv = $_SERVER['HTTP_REFERER'];
echo '<li>PHP: '.( strlen($ref_srv)? $ref_srv: 'None' ).'</li>';
//Get other information
$ip = strlen($_SERVER["HTTP_X_REAL_IP"])? $_SERVER["HTTP_X_REAL_IP"]: $_SERVER['REMOTE_ADDR'];
echo '<li>REFERRER IP: '.( strlen($ip)? $ip: 'None' ).'</li>';
$agent = isset($_SERVER['HTTP_USER_AGENT'])&& strlen($_SERVER['HTTP_USER_AGENT'])? $_SERVER['HTTP_USER_AGENT']: '';
echo '<li>USER AGENT: '.( strlen($agent)? $agent: 'None' ).'</li>';
echo '<li>URI: '.$_SERVER['REQUEST_URI'].'</li>';
当访问来自 Facebook 时,此代码的输出如下:
- 原始:https ://www.facebook.com/ PHP:https ://www.facebook.com/
- 推荐人 IP:89.127.12.32
- 用户代理:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 REFERRAL
- URI:/how-speed-affects-your-website/?fbclid=I123C-as
但是,来自 LinkedIn 的访问看起来像这样:
- 原始:无
- PHP:无
- 推荐人 IP:89.127.12.32
- 用户代理:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
- 推荐类型:外部
- URI:/how-speed-affects-your-website/
任何想法为什么没有从 LinkedIn 传输推荐人数据?或者对我如何通过任何其他方式观察来自 LinkedIn 的访问有任何想法?
解决方案
您自己的网站是否使用 HTTPS?用户关注的那些链接是否使用 HTTPS URL?
如果没有,您将根本无法在现代浏览器中从 LinkedIn 获得推荐人,因为Referrer-Policy
.
no-referrer-when-downgrade (默认)
如果没有指定策略,这是用户代理的默认行为。当协议安全级别保持不变(HTTP→HTTP、HTTPS→HTTPS)时,URL 会作为引荐来源网址发送,但不会发送到安全性较低的目的地(HTTPS→HTTP)。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy#Directives:
据我所知,LinkedIn 没有主动指定推荐人策略,因此将自动使用此后备值。
因此,如果您的站点不支持 HTTPS,或者链接先转到 HTTP 版本,则浏览器将被禁止向您发送此信息。
或对如何通过任何其他方式观察来自 LinkedIn 的访问有任何想法?
检查他们是否将任何特定的、唯一命名的跟踪参数附加到传出链接,就像 Facebook 对?fbclid=I123C-as
. 然后,您可以将该参数的存在作为用户最有可能点击从 LinkedIn 到您网站的链接的指标。
推荐阅读
- javascript - 有什么办法可以将从 babel 转换的 javascript 代码转换回原来的 es6 形式?
- mysql - MySQL:获取每个部门的员工总数
- ios - 如何避免订阅时的 IAP 30% 费用(IOS 应用程序)?
- javascript - 如何将click事件的回调与keydown事件的回调结合起来?
- mysql - MySQL查询中行中的最大值
- sql - Oracle SQL - 创建“未存储”过程
- c++ - 如何使我的 sizeof sum 结构与空参数包一起工作
- azure - Azure webapp,设置 CURRENT_STACK
- vuetify.js - 更改导航抽屉和工具栏的默认字体颜色
- docker - 我需要多少个 docker 容器,我如何在它们之间分配代码?