我运行一个wordpress博客,每个帖子都有谷歌的AMP版本。
每次发布帖子时,我都会将Twitter的标准版本链接(而非AMP)分享给Twitter。
在某些时候,Twitter移动应用程序开始拿起AMP而不是标准的。现在关注者在点击我在Twitter应用程序中共享的链接时会看到AMP版本。
这是可能的,因为每个标准页面都有源代码中AMP版本的链接,以便让搜索引擎知道标准页面有AMP。
但是,我的博客支持AMP的原因仅限于Google。我不希望Twitter知道它。由于AMP非常有限,我无法通过AMP向访问者展示我的意图。
如果爬虫是Twitter,我猜我可以摆脱PHP中的AMP链接。
如果有办法在PHP中完成,怎么办呢?
答案 0 :(得分:1)
如果用户代理字符串属于Twitterbot,则根据$_SERVER['HTTP_USER_AGENT']
信息,您可以采取不同的操作。在以下情况下,您可以更改网站的行为:
if (preg_match('/Twitterbot/i', $userAgent)) {
// Do something for Twitterbot!
}
您还可以使用PIWIK团队的Bot Parser class Universal Device Detection library。
<?php
require_once 'vendor/autoload.php';
use DeviceDetector\Parser\Bot AS BotParser;
$botParser = new BotParser();
// examples
$userAgents = [
'Twitterbot/1.0',
'Mozilla/5.0 (compatible; Twitterbot/1.0)',
'Mozilla/5.0 (Twitterbot/0.1)',
];
$botParser->setUserAgent($userAgents[0]);
$result = $botParser->parse();
if (!is_null($result)) {
if ($result['producer']['name'] === 'Twitter') {
// Do something for Twitterbot!
}
}
答案 1 :(得分:-3)
Google AMP是谷歌劫持互联网的企图。 谷歌AMP是某种“中等攻击的人”#34; 谷歌AMP是谷歌有史以来创造的最愚蠢,最狡猾和烦人的事情。 你应该尽可能多地禁用/避免/对抗谷歌AMP。 AMP会以许多欺骗性的方式破坏您的网站并吸引访问者。 AMP通过隐藏评论来破坏WordPress网站主题,显示隐藏的内容,如authers名称。 Google AMP充满了漏洞。 Google AMP会增加/增加移动数据的使用量,因为用户会在确定陷入陷阱后加载实际页面。 没人喜欢Google AMP。
if(searchResult.instanceOf(Google AMP)){
skip(searchResult);
}
if(SEO.option.equal("Google AMP")){
skip(SEO.option);
}
了解更多: https://productforums.google.com/forum/m/?noredirect=true#!topic/webmasters/8ogdv04Cm-k