Tom*_*old 3 php mod-rewrite multilingual seo database-design
我刚刚完成了一个客户的网站,现在他们想要有不同的语言.
目前,网站内容存储在MySQL数据库的表中:
页面:seotitle,seodesc,smallHtml,fullHtml
产品:ID,seotitle,seodesc,smallHtml,fullHtml
我在想一个好办法就是增加一张桌子:
然后将页面和产品表修改为:
所以我会使用像这样的查询
SELECT * FROM pages WHERE slug = '$slug' AND language='$language'
Run Code Online (Sandbox Code Playgroud)
我应该设置$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将如何处理此问题?
谷歌和其他搜索引擎不会通过检查URL来猜测语言,重要的是内容:
Google使用网页内容来确定其语言,但网址本身为人类用户提供了有关网页内容的有用线索.
这就是您应该正确声明内容语言的原因:在HTTP中使用Content-Language指定文档的默认语言,并使用文档中更改的语言的lang
属性.
拥有一个多语言网站,您还应该考虑进行某种语言协商(另请参阅我在PHP中检测浏览器语言的答案); 但也要考虑与之相关的细微差别(请参阅常见的HTTP实现问题).
但是,选择合适的URI结构也很重要 - 即使仅针对用户.这意味着URI应该反映所选择的语言(除非您想为语言协商提供与语言无关的入口点).
但是您选择的URI设计取决于您.从用户的角度来看.