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

问题描述 投票:0回答:2

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

每次发布帖子时,我都会分享标准版本的页面链接,而不是AMP。

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

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

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

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

如果有办法在PHP中做到这一点,怎么办呢?

php wordpress twitter amp-html
2个回答
1
投票

根据$_SERVER['HTTP_USER_AGENT']信息,如果用户代理字符串属于Twitterbot,您可以采取不同的操作。在以下情况下,您可以更改网站的行为:

if (preg_match('/Twitterbot/i', $userAgent)) {
    // Do something for Twitterbot!
}

你也可以使用PIWIK团队的Bot Parser classUniversal 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!
    }
}

-3
投票

谷歌AMP是谷歌劫持互联网的企图。谷歌AMP是某种“中间人攻击”谷歌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

© www.soinside.com 2019 - 2024. All rights reserved.