2012-04-26 29 views
0

我正在建設一個土耳其網站。土耳其語有許多字符超出了ASCII字符集,我不確定在我的搜索引擎優化友好的URL中使用所有這些UTF8字符,還是使用最接近的匹配(例如Ö=> O,Ş= > S等)網址中的非ASCII字符,對SEO有好處或壞處?

網絡應用程序是複雜的,我完全控制我想如何我的搜索引擎優化友好的網址。在問我的問題之前,我經歷了很多其他人在stackoverflow.com上提出的有關搜索引擎優化(SEO)友好的URL和非ASCII字符的問題。然而,我仍然在想我應該走哪條路。

我已經探索了一些商業CMS平臺,這些平臺可以做Ö=> O,Ş=> S這樣的URL,也就是用ASCII代碼替換任何非ASCII字符。與此同時,維基百科中最大的網站之一在其網址中使用各種非ASCII字符。谷歌似乎不介意URL中的UTF8字符。

所以,我的問題是以下兩個網址是更好的搜索引擎優化明智:

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

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

感謝所有誰在這裏表達意見。

回答

3

According to Google

是的,我們大致可以跟上UTF-8編碼的URL,我們將 一般他們展示在我們的搜索結果中的用戶(但鏈接到你的 服務器正確的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()功能,如果你想 只有一個功能。

+0

John Conde,感謝您的洞察。任何人有不同的觀點?\ – 2012-04-26 20:45:35

+0

我需要這個在ASP.net如果有人可以幫助 – 2017-08-22 09:03:34