URL中的非ASCII字符,SEO的好坏?

时间:2012-04-26 16:12:02

标签: utf-8 seo

我正在建立一个土耳其网站。土耳其语有许多字符不在ASCII集之内,我不确定在我的SEO友好URL中使用所有UTF8字符是否更好,或者使用他们最接近的匹配(例如Ö=> O,Ş => S等。)

Web应用程序很复杂,我可以完全控制我喜欢的SEO友好URL。在提出我的问题之前,我经历了很多其他人在stackoverflow.com上提出的关于SEO友好URL和非ASCII字符的问题。然而,我仍然发现自己想知道应该走哪条路。

我已经探索了许多商业CMS平台,这些平台使用Ö=> O,Ş=> S等URL,即用它们的ASCII等价替换任何非ASCII字符。与此同时,其中一个最大的网站维基百科在其网址中使用了各种非ASCII字符。谷歌似乎并不介意URL中的UTF8字符。

所以,我的问题是以下两个网址中的哪一个更符合SEO:

http://somedomainname.com /ÇIKIŞ-ICIN-TEŞEÖKKÜR

http://somedomainname.com/CIKIS-ICIN-TESEOKKUR

感谢所有在此发表意见的人。

1 个答案:

答案 0 :(得分:5)

According to Google

  

是的,我们通常可以跟上UTF-8编码的网址,我们也会这样做   通常在我们的搜索结果中向用户显示它们(但链接到您的   正确转义URL的服务器)。我会建议你   也可以在链接中使用转义的网址,以确保您的网站是   兼容不懂UTF-8的旧版浏览器   网址。

因此,对您的网址进行编码似乎对搜索引擎友好。但你最好的选择可能是删除那些特殊字符,并用“非特殊”替代品替换它们。 This StackOverflow answer显示了一些非常棒的代码:

  

尝试以下功能:

<?php
function Slug($string, $slug = '-', $extra = null)
{
  return strtolower(trim(preg_replace('~[^0-9a-z' . preg_quote($extra, '~') . ']+~i', $slug, Unaccent($string)), $slug));
}

function Unaccent($string)
{
  return html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8');
}
?>
     

并像这样使用它:

<?php 
echo Slug('Iñtërnâtiônàlizætiøn of Glaño'); // internationalizaetion-of-glano
?> 
     

如果您愿意,可以将Unaccent()代码嵌入Slug()函数中   希望只有一个功能。