如何检测Twitter抓取工具访问我的网站

时间:2017-12-25 22:42:13

标签: php wordpress twitter amp-html

我运行一个wordpress博客,每个帖子都有谷歌的AMP版本。

每次发布​​帖子时,我都会将Twitter的标准版本链接(而非AMP)分享给Twitter。

在某些时候,Twitter移动应用程序开始拿起AMP而不是标准的。现在关注者在点击我在Twitter应用程序中共享的链接时会看到AMP版本。

这是可能的,因为每个标准页面都有源代码中AMP版本的链接,以便让搜索引擎知道标准页面有AMP。

但是,我的博客支持AMP的原因仅限于Google。我不希望Twitter知道它。由于AMP非常有限,我无法通过AMP向访问者展示我的意图。

如果爬虫是Twitter,我猜我可以摆脱PHP中的AMP链接。

如果有办法在PHP中完成,怎么办呢?

2 个答案:

答案 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