jjzjj

seo - 国际化和搜索引擎优化

coder 2024-02-26 原文

我想使我的网站国际化,以便可以使用多种语言访问它。语言设置将在请求数据中自动检测,并且可以在用户设置中覆盖/存储在 session 中。

我的问题是关于如何根据页面 URL 的语言显示同一页面的不同版本。假设我们正在查看 http://www.example.com/ 的索引页,默认为英语。现在,如果讲法语的人加载索引页,我应该将 URL 保持为 http://www.example.com/,还是应该将其重定向到 http://www.example.com/fr/?

我想弄清楚这对 SEO 有什么好处或后果。我不希望该网站的法文版显示在 google.com 中,如果它阻止相同页面的英文版显示在那里,但我希望它显示在 google.fr 中。

最佳答案

当您开始将网站本地化为多种语言时,从搜索的角度来看,需要考虑很多事情。通常,您要小心并确保您不会对用户的意图过于聪明。诸如自动检测语言并将它们存储在 cookie 中之类的东西在某些情况下可能很好,但是如果它们成为您的本地化正常工作的要求,那么您可能会遇到搜索引擎(以及真实的人)的一些问题。

对于搜索引擎,您需要确保它们能够以所有不同的语言查找和访问您的所有内容,而无需 POST 请求(无下拉表单)、javascript、flash 或 cookie。因为搜索引擎一般不使用这些技术。

事实证明,这通常对真实客户也有好处。如果你依靠浏览器设置或 ip 检测,那么一些借用 friend 电脑或在国外旅行的真实客户可能会卡在错误的语言中(Microsoft Bing 实际上有一段时间有这个问题)。

这里有一些要牢记的最佳实践

  • 每种语言都应该包含在您的信息架构的某个根目录下。最好的选择是为您网站的每个特定区域获取 TLD (mysite.fr)。虽然这有时不可行,但第二种选择是使用子域 (fr.mysite.com),第三种选择是使用子文件夹 (mysite.com/fr)。这使我们最容易综合查看一组页面并最好地确定语言/区域。 不要将其作为参数 (mysite.com/products/iphone/lang=en®ion=us),这是我们最难检测的情况。

  • 我们有语言分类器(人工智能网络)来尝试确定页面描述的语言/地区。因此,请确保您的页面上有足够的线索来说明语言是什么。例如。如果页面是法文,请确保元描述标签也是法文,<h1> 也是如此。标签,标题,并确保你有几句可靠的法语句子。许多网站会混合使用多种语言,页面上几乎没有实际的法语

  • 电话号码、邮寄地址和地理位置名称也是搜索引擎识别页面区域/语言的重要线索。好好使用它们(并确保它们是页面上的实际文本,而不是图像)

  • 使用 Google 网站站长工具指定您网页的语言和区域。创建一个帐户,验证您的网站,然后您可以指定网站不同部分的目标区域和语言。

错误信息 - lang 属性,或您可能听说过的任何语言标签,目前都没有被任何搜索引擎使用。当我们 (Microsoft Bing) 去年对这些进行分析时,人们使用的最常见的“标准”lang 标签只出现在网络上 0.000125% 的页面上——不足以发挥作用!

Vanessa Fox(她建立了谷歌的网站管理员中心,并创建了站点地图协议(protocol))最近写了一篇特别好的文章,内容是关于谷歌如何看待本地化,以及这对网站架构意味着什么。我建议在这里查看:http://www.ninebyblue.com/blog/making-geotargeted-content-findable-for-the-right-searchers/

关于seo - 国际化和搜索引擎优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1828317/

有关seo - 国际化和搜索引擎优化的更多相关文章

  1. ruby - 在没有 sass 引擎的情况下使用 sass 颜色函数 - 2

    我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re

  2. ruby-on-rails - Nokogiri:使用 XPath 搜索 <div> - 2

    我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll

  3. ruby-on-rails - Rails 中的推荐引擎 - 2

    我想为我的Rails网络应用程序提供推荐功能。特别是,我想向新注册的用户推荐他可能想要关注的其他用户。Rails中是否有用于此目的的引擎/gem?如果没有,我应该从哪里开始构建它?谢谢。 最佳答案 有Coletivogemhttps://github.com/diogenes/coletivo我试了一下。在MySQL上运行。Neo4jhttp://neo4j.org真的很容易实现一个“跟随谁”。事实上,大多数展示其能力的样本都涉及“跟随谁”。快速提示-只有在JRuby上运行时,Neo4j.rb才会很酷。如果不是-使用Neograph

  4. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  5. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  6. UE4 源码阅读:从引擎启动到Receive Begin Play - 2

    一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame

  7. 阿里云国际版免费试用:如何注册以及注意事项 - 2

    作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。​关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐

  8. ruby - 如何搜索有用的 ruby - 2

    寻找有用的ruby的好网站是什么? 最佳答案 AgileWebDevelopment列出插件(虽然不是ruby​​gems,我不确定为什么),并允许人们对它们进行评级。RubyToolbox按类别列出gem并比较它们的受欢迎程度。Rubygems有一个搜索框。StackOverflow对最有用的rails插件和ruby​​gems有疑问。 关于ruby-如何搜索有用的ruby,我们在StackOverflow上找到一个类似的问题: https://stacko

  9. ruby - 如何搜索、递增和替换 Ruby 字符串中的整数子字符串? - 2

    我有很多这样的文档:foo_1foo_2foo_3bar_1foo_4...我想通过获取foo_[X]的所有实例并将它们中的每一个替换为foo_[X+1]来转换它们。在这个例子中:foo_2foo_3foo_4bar_1foo_5...我可以用gsub和一个block来做到这一点吗?如果不是,最干净的方法是什么?我真的在寻找一个优雅的解决方案,因为我总是可以暴力破解它,但我觉得有一些正则表达式技巧值得学习。 最佳答案 我(完全)不懂Ruby,但类似这样的东西应该可以工作:"foo_1foo_2".gsub(/(foo_)(\d+)/

  10. ruby - Ruby 中的必应搜索 API - 2

    我读了"BingSearchAPI-QuickStart"但我不知道如何在Ruby中发出这个http请求(Weary)如何在Ruby中翻译“Stream_context_create()”?这是什么意思?"BingSearchAPI-QuickStart"我想使用RubySDK,但我发现那些已被弃用前(Rbing)https://github.com/mikedemers/rbing您知道Bing搜索API的最新包装器(仅限Web的结果)吗? 最佳答案 好吧,经过一个小时的挫折,我想出了一个办法来做到这一点。这段代码很糟糕,因为它是

随机推荐