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

Boy*_*iev 1 seo utf-8

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

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

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

所以,我的问题是以下两个URL中哪个更好用于SEO:

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

要么

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

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

Joh*_*nde 5

根据谷歌:

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

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

试试这些功能:

<?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');
}
?>
Run Code Online (Sandbox Code Playgroud)

并像这样使用它:

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

如果您希望只有一个函数,可以将Unaccent()代码嵌入到Slug()函数中.