搜索引擎爬行器被重定向到具有多语言网站的英文页面(从而避免其他语言页面 [英] Search engine crawlers get redirected to English pages (and thus avoid other languages' pages) with a multilingual website

查看:142
本文介绍了搜索引擎爬行器被重定向到具有多语言网站的英文页面(从而避免其他语言页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下多语言URL结构:

example.com/article123            # english
example.com/fr/article123         # french
example.com/de/article123         # german
根据浏览器语言($_SERVER['HTTP_ACCEPT_LANGUAGE']),自动将302重定向到相关语言。这对用户体验有好处,因为大多数用户不必手动点击语言切换器。根据我的统计,它工作得很好。

问题:在使用Ahrefs网站审计工具时(搜索引擎爬虫、Googlebot等也是如此),我看到他们的爬虫被重定向为302-因此从未访问过法语网站

实际上,当爬虫程序(可能设置为英语)访问example.com/fr/article123时,它将被重定向到example.com/article123。我想这些爬虫不会考虑Cookie,所以对所有页面都是一样的。

我应该使用什么技术解决方案来避免多语言网站被搜索引擎机器人错误地爬网?

TL;DR:我如何才能根据浏览器语言为普通用户触发重定向,并且不重定向机器人(如负责共享...&q;显示的卡片的Googlebot、Facebook或Twitter爬行器)?

这是我使用的:

function lang_redirect() {  
    if (isset($_COOKIE['lang_redirect']))  // already redirected in the last 24 hours, don't do it again
        return;
    global $lang, $requesturi;
    $browserlang = getlang($_SERVER['HTTP_ACCEPT_LANGUAGE']);   // fr, de, en...
    $link = lang_translation_link($browserlang);
    if (($browserlang != $lang) && ($link != ''))
        header("Location: " . $link);      // redirect now!
    header("Set-Cookie: lang_redirect=1; Max-Age=86400; Path=/; HttpOnly; SameSite=Lax");  
}

注意:重定向只发生一次(通过设置Cookie),因为浏览器设置为德语的访问者可能想要访问英文网站,而不是每次都被重定向到德语网站。示例:

example.com/article123          # browser set to german
=> example.com/de/article123    # automatic redirection, setting a cookie to not redirect anymore
example.com/article123          # user returns on english website
=> no redirection here because there has already been a first redirection

推荐答案

您需要删除基于$_SERVER['HTTP_ACCEPT_LANGUAGE']自动重定向的系统。这会使搜索引擎无法抓取您的网站,并且不利于用户体验。

您可以在页面上突出显示如下通知,而不是自动重定向:

您的浏览器显示您更喜欢英语。是否要立即访问该页的英文版本?

[切换到英文]

有关详细信息,请参阅How should I structure my URLs for both SEO and localization?,其中有一整节介绍了为什么使用Accept-Language-Header重定向会终止SEO。

这篇关于搜索引擎爬行器被重定向到具有多语言网站的英文页面(从而避免其他语言页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆