Избегайте перенаправления страниц для ботов - PullRequest
0 голосов
/ 24 июня 2019

При первом показе веб-сайта мне нужно, чтобы пользователь подтвердил, что ему 18 или более лет (веб-сайт винодельни).Мой клиент хочет определенную страницу для этого (не всплывающее окно и не всплывающее окно), поэтому, используя куки, я перенаправляю на эту конкретную страницу.Вы не можете получить доступ к любой странице, если вы не подтвердили.

Это проблема для SEO, потому что боты (например, GoogleBot) не могут правильно проиндексировать сайт.

Как я могизбежать этого перенаправления специально для ботов?Или как идентифицировать пользователя как человека или бота?

Я работаю с PHP и попытался составить список известных ботов и сравнить его с HTTP_USER_AGENT, чтобы предотвратить перенаправление.Но я не думаю, что это постоянное решение (что если боты меняют свои имена или новостные боты участвуют?).

$crawlers = array(
        'Googlebot',
        'Baiduspider',
        'ia_archiver',
        'R6_FeedFetcher',
        'NetcraftSurveyAgent',
        'Sogou web spider',
        'bingbot',
        'Yahoo! Slurp',
        'facebookexternalhit',
        'PrintfulBot',
        'msnbot',
        'Twitterbot',
        'UnwindFetchor',
        'urlresolver',
        'Butterfly',
        'TweetmemeBot'
    );
$implCrawlers = implode('|', $crawlers);
$isBot = (strpos($_SERVER['HTTP_USER_AGENT'], $implCrawlers ) !== false) ? true : false;
if (!$isBot) {
...
}

1 Ответ

1 голос
/ 25 июня 2019

Вы можете перейти к этому пакету https://github.com/JayBizzle/Crawler-Detect они обновляют свои репо по мере того, как сканеры изменяют свои имена.

...