【问题标题】:Any Ideas for Developing a Multi Language Site - SEO, php, mysql开发多语言网站的任何想法 - SEO、php、mysql
【发布时间】:2011-07-14 04:12:30
【问题描述】:

我刚刚完成了一个客户的网站,现在他们想要使用不同的语言。

目前网站内容存储在 MySQL 数据库中的表中:

  • 页面seotitleseodescsmallHtmlfullHtml

  • 产品IDseotitleseodescsmallHtml , fullHtml

我在想一个好办法是多加一张桌子:

  • 语言ID语言代码语言

然后修改 pages 和 products 表为:

  • 页面slugseotitleseodescsmallHtml, fullHtml, 语言代码
  • 产品IDslugseotitleseodescsmallHtmlfullHtmllanguageCode

所以我会使用类似的查询

SELECT * FROM pages WHERE slug = '$slug' AND language='$language'

我应该将$language 设置为cookie 还是会话?

此外,就 SEO 而言,我不知道该怎么做。目前站点 URL 结构为/pages.php?slug=page-slug。这会被 mod_rewrite 重写为 /pages/page-slug

所以我正在考虑让/pages.php?slug=page-slug&code=languagecode 重写为/pages/page-slug/languagecode。产品也一样。

这是一个好方法还是你能看到它以某种方式失败?

如果有人有更好的方法或我可能错过的资源链接,将不胜感激。

感谢阅读。

编辑/////

如果我使用这种方法http://en.kioskea.net/faq/596-change-the-language-of-your-website 并在后台更改语言,而不更改 URL 结构,Google 将如何处理?

【问题讨论】:

    标签: php database-design mod-rewrite seo multilingual


    【解决方案1】:

    基本,每个表都应该有一个 ID,如果您按照建议更改它,看起来 Pages 会丢失它。

    许多主要网站(包括 Wikipedia)都将语言作为子域使用 2 位 ISO 语言缩写作为前缀,例如English = en 等。这会使您的 URL 看起来类似于 en.websitename.com。请记住,虽然大多数多语言网站的 URL 中没有显示默认语言,所以如果英语是您的默认语言,那么英语将是 www.websitename.com 但法语将是 fr.websitename.com。这似乎是一种普遍接受的方法,并且还有助于在查看子页面时 URL 看起来更清晰。除了语言位之外,您的其他页面 URL 结构看起来对 SEO 友好。

    您需要考虑访问者首先将如何进入您的域,无论是进入您的主页还是进入子页面(主要通过搜索引擎)。然后,您应该尝试将用户从那里的网络浏览器重定向到该语言(请参阅here 以获得这样做的好方法)。虽然如果用户(第一次访问时)将要访问的内容与浏览器的语言不同也是一个好主意,但是提供一种访问这两个版本的清晰方法对可用性有好处,然后您会通过cookie/会话。

    其他 SEO 提示:请参阅 here 了解基本信息。

    【讨论】:

    • “对于 SEO,Google 更喜欢使用 2 位 ISO 语言缩写作为子域前缀的语言,例如英语 = en 等。” – 请验证此声明。
    • aSeptik 链接到的链接由 Nathan Buggia(必应搜索)回答,并且声明几乎相同。 2 位数格式是我见过的大多数主要网站(不使用不同 TLD)的规范,维基百科是最好的例子。
    • @Alex:我熟悉语言标签。但是,为什么 Google 会首选带有该语言标签的子域呢?我的意思是,我能找到的只有:“Google uses the content of the page to determine its language, but the URL itself provides human users with useful clues about the page’s content.”
    • 还有这句话“如果您决定使用动态页面(即 URL 包含“?”字符),请注意并非每个搜索引擎蜘蛛都会抓取动态页面和静态页面。它有助于保持参数简短且数量少。”来自google.com/support/webmasters/bin/answer.py?answer=35769,但可以有几种不同的解释。我推荐这个的主要原因是来自与我合作过的人,他们制作了主要的德语/英语网站,以及他们在切换 URL 语言结构时看到的好处。这当然不是证据。
    【解决方案2】:

    Google 和其他搜索引擎不会尝试通过检查 URL it’s the content that matters 来猜测语言:

    Google 使用页面内容来确定其语言,但 URL 本身为人类用户提供了有关页面内容的有用线索。

    这就是为什么你应该declare the content’s language properly:在HTTP 中使用Content-Language 来指定文档的默认语言,并使用lang 属性来更改文档中的语言。

    拥有一个多语言网站,您还应该考虑做一些language negotiation(另见my answer to Detect Browser Language in PHP);但也要考虑与之相关的细微差别(请参阅Common HTTP Implementation Problems)。

    但是,选择合适的 URI 结构也很重要——即使只是对用户而言。这意味着 URI 应该反映所选语言(除非您想为语言协商提供与语言无关的入口点)。

    但您选择哪种 URI 设计取决于您。从用户的角度去做。

    【讨论】:

      猜你喜欢
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多