【发布时间】:2014-06-21 04:50:23
【问题描述】:
我有如下网址:http://new2.silentdivers.com/links.php?lang=en
做 SEO 友好的 URL 的最佳方法是什么?需要任何帮助。
lang=en 可以是、lang=ge、lang=fr 等
【问题讨论】:
标签: url seo friendly-url
我有如下网址:http://new2.silentdivers.com/links.php?lang=en
做 SEO 友好的 URL 的最佳方法是什么?需要任何帮助。
lang=en 可以是、lang=ge、lang=fr 等
【问题讨论】:
标签: url seo friendly-url
在我看来,最重要的是您需要了解语言应该仅基于 URL(和/或域)。含义 URL 我的意思是您的脚本应该始终只检查 url 并决定选择哪种语言。许多人误解它并使用cookie或会话来检查它们并选择语言,这对SEO来说是一个巨大的错误。
有 3 种制作多语言网站的方法。在我看来,根据我作为 SEO 专家的经验,任何其他人实际上都不会对 SEO 友好
方法一
domain.com
domain.com/lang2/
domain.com/lang3/
domain.comm/article
domain.com/lang2/article
domain.com/lang3/article
在这种方法中,您总是检查域后的语言前缀。如果没有前缀,则显示默认语言。这是最容易实现的方法,几乎可以在任何地方使用
方法二
domain.com
domain.com/article
lang2.domain.com
lang2.domain.com/article
lang3.domain.com
lang3.domain.com/article
在这种方法中,您总是需要检查子域是否确定语言。优点是您可以为子域进行 SEO(许多目录不接受 domain.com/lang2/ 但会接受 lang2.domain.com )
方法3
domain.com
domain.com/article
domainforlang2.com
domainforlang2.com/article
domainforlang3.com
domainforlang3.com/article
当您确实需要不同的域时,此方法适用于较大的站点。缺点可能是有时很难为每种语言找到合适的域
在上面的例子中,文章可以是任何东西,但实际上这部分也应该翻译。因此,例如在英语语言的方法 1 中,您可以拥有 domain.com/en/links/ 和 domain.com/pl/linki(linki 是英语单词“links”的波兰语翻译)
domain.com 也只是示例。它可以是 domain.net 、 domain.org 或任何其他域。
你必须自己选择方法。对于小型网站,方法 1 和 2 就足够了(更多 SEO 活动的第二种方法会更好)
编辑
对于 method1,您可以使用此 .htaccess :
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)(.*)/?$ index.php
在 PHP 中,您应该简单检查 $_SERVER['REQUEST_URI'] 的值
在这种情况下,如果它以 lang2/ 或 lang3/ 开头,则表示这是所选语言,否则设置默认语言。
【讨论】:
$_SERVER['REQUEST_URI'] 然后根据 url 启动所需的控制器
domainforlang2.com 或 lang2.domain.com 没有影响,反之亦然。当然,多个域和多个 SSL 证书的成本也有不利影响。