在搜索引擎上使用mod-rewrite重写内部链接有什么影响

时间:2014-12-08 12:01:53

标签: .htaccess mod-rewrite url-rewriting seo search-engine

目前我正在开展一个项目,我必须在现有网站上添加多语言功能。使用的链接结构(URL :)类似于:“www.sitename.com/page-alias/”,即使在多语言更新后也必须保持不变。

这样的网址不受欢迎

  • www.sitename.com/en/page-alias /
  • www.sitename.com/nl/different-alias /

我设法通过www。上的.htaccess重写来完成工作。 (有一个活动的重写改变没有www。到www。)和重写删除/ en /& / nl / part。

我的.htaccess文件中执行这些更改的部分

#from without www. to www.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sitename\.com$
RewriteRule ^(.*)$ http://www.sitename.com/$1 [R=301,L]

#remove language from URL
RewriteRule ^en/(.*)$ /$1 [R=NC,L]
RewriteRule ^nl/(.*)$ /$1 [R=NC,L]

但是,我们使用的CMS(CMS变得简单)创建了一个类似于下面列表中显示的URL的链接结构。不幸的是,它们似乎不是改变CMS所做链接结构的简单方法:

  • sitename.com/nl/page-alias /
  • sitename.com/en/different-alias/

“没有www。”和“用语言”

我的问题

CMS创建的链接结构是否具有:

  • 对搜索引擎索引的负面影响?
  • 重复的内容?
  • 任何其他缺点/负面影响?

或.htaccess是否解决了这个问题?

  • 搜索引擎是否注意到那些不同的网址都属于一个网页并仍然给它正确的索引编制?

请记住,整个网站(来源)都有不正确的链接。

我希望你们能帮助我理解/解决这个问题。

2 个答案:

答案 0 :(得分:0)

从我看到你打算做什么,你试图302重定向(你的意思是[R,NC,L]?):

www.sitename.com/en/page-alias - > www.sitename.com/page-alias
www.sitename.com/nl/page-alias - > www.sitename.com/page-alias

然而,从SEO的角度来看,使用相同的URL来显示相同​​的内容但是使用不同的语言通常是一个坏主意。想象一下,当您访问“www.sitename.com/page-alias”时,您将向GoogleBot显示的内容;您只能向GoogleBot提供一种语言(比如说英语),而另一种语言则不会被编入索引。

从SEO的角度来看,通常首选的是2种语言都有自己的URL,如

www.sitename.com/en/page-alias
www.sitename.com/nl/page-alias

随后,您必须使用 hreflang 元标记来指示谷歌这些页面是相同的内容,但使用不同的语言 - 更多关于Google Webmaster Tools

<link rel="alternate" href="http://www.sitename.com/nl/page-alias" hreflang="nl" />
<link rel="alternate" href="http://www.sitename.com/en/page-alias" hreflang="en" />
<link rel="alternate" href="http://www.sitename.com/en/page-alias" hreflang="x-default" />

我已经看了CMS Made Simple,你应该能够使用“页面URL”字段来指定完美的URL,而不必依赖“parent_alias / page_alias”框架。

可以在“编辑内容”下找到 - &gt; “选项”标签 - &gt; “页面网址”字段。要使用漂亮的网址,请按照CMSMS Pretty URL文档进行操作。它确实涉及使用CMSMS预先准备好的.htaccess。

答案 1 :(得分:0)

您不需要使用.htaccess。

当前版本的CMS Made Simple有一个&#34; Page URL&#34;内容和主要模块的字段。使用此字段,您可以定义链接(以及Google规范)的确切网址,这样您就可以在没有/ en或/ nl的情况下使用它。

对于内容,可以在&#34;编辑内容&#34;下找到URL字段。 - &GT; &#34;选项&#34;标签 - &gt; &#34;页面网址&#34;字段。