我正在建立一个土耳其网站.土耳其语有许多字符不在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
感谢所有在此发表意见的人.
根据谷歌:
是的,我们通常可以跟上UTF-8编码的网址,我们通常会在搜索结果中向用户显示这些网址(但链接到您的服务器并正确转义了网址).我建议您也在链接中使用转义网址,以确保您的网站与不了解直接UTF-8网址的旧版浏览器兼容.
因此,对您的网址进行编码似乎对搜索引擎很友好.但你最好的选择可能是删除那些特殊字符,并用"非特殊"替代品替换它们.这个StackOverflow答案显示了一些很棒的代码:
试试这些功能:
Run Code Online (Sandbox Code Playgroud)<?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 ?>
如果您希望只有一个函数,可以将
Unaccent()
代码嵌入到Slug()
函数中.
归档时间: |
|
查看次数: |
3137 次 |
最近记录: |