HTML: Мета-описания нескольких языков?
Как я могу задать два языковых мета-описания для моего веб-сайта?
Является ли этот код google действительным?
<meta name="description" lang="en" content="english blablabla" />
<meta name="description" lang="hu" content="hungary blablabla" />
2 ответа:
Проверьте этот пост из блога Google Webmaster Central: http://googlewebmastercentral.blogspot.com.es/2010/03/working-with-multilingual-websites.html
"Google пытается определить основные языки каждой из ваших страниц. Вы можете помочь облегчить распознавание языков, если будете придерживаться только одного языка на странице и избегать параллельных переводов. Хотя Google может распознать страницу на нескольких языках, мы рекомендуем использовать один и тот же язык для всех пользователей. элементы страницы: заголовки, боковые панели, меню и т.д. Имейте в виду, что Google игнорирует всю информацию о языке на уровне кода, от атрибутов "lang" до определений типов документов (DTD). Некоторые программы веб-редактирования создают эти атрибуты автоматически, и поэтому они не очень надежны при попытке определить язык веб-страницы. "
Некоторые сведения о многоязычных веб-сайтах:
Поскольку атрибут html "lang" не позволяет определить несколько языков, и мета атрибут для указания языка устарел, согласно рекомендациям W3, лучше указывать язык в заголовке HTTP.
HTTP/1.1·200·OK Date:·Sat,·23·Jul·2011·07:28:50·GMT Server:·Apache/2 Content-Location:·qa-http-and-lang.en.php Vary:·negotiate,accept-language,Accept-Encoding TCN:·choice P3P:·policyref="http://www.w3.org/2001/05/P3P/p3p.xml" Connection:·close Transfer-Encoding:·chunked Content-Type:·text/html; charset=utf-8 Content-Language:·en
Подобно элементу meta с атрибутом http-equiv, установленным в Content-Language, значением заголовка HTTP может быть разделенный запятыми список языковых тегов
См.: http://tools.ietf.org/html/rfc2616#section-14.12
Как говорит RFC2616:
Multiple languages MAY be listed for content that is intended for multiple audiences. For example, a rendition of the "Treaty of Waitangi," presented simultaneously in the original Maori and English versions, would call for Content-Language: mi, en
Если вы идете в http://validator.w3.org/check и попробуйте проверить это:
<!DOCTYPE html> <html> <head> <title>Test</title> <meta http-equiv="Content-Language" content="en,hu"> <meta charset="UTF-8"> </head> <body> <p>Test</p> </body> </html>
Средство проверки W3 говорит:
Line 5, Column 52: Using the meta element to specify the document-wide default language is obsolete. Consider specifying the language on the root element instead.
Тогда, если атрибут lang в html-теге не позволяет использовать несколько языков, я думаю, что лучше всего будет указать его в заголовке HTTP
Атрибут
lang
может быть размещен на любом элементе, а не только на корневом элементеhtml
илиmeta name="description"
. Таким образом, вы можете написать<html lang="en"><body>The Chinese translation of Stack Overflow is <span lang="zh-Hans">堆叠溢位</span></body></html>
, и это хорошо, чтобы поместить эти атрибутыlang
, потому что это помогает визуальным браузерам выбирать правильные шрифты и аудио браузеры для слепых людей, чтобы выбрать правильный голос.Некоторые поисковые системы, не являющиеся Google, все еще хотят устаревшую разметку
<meta http-equiv="content-language">
(в частности, Bing и Baidu, как сообщается, все еще хотят их), но я понятия не имею, являются ли их реализации стандарты-достаточно совместимы, чтобы справиться с двумя или более языками, перечисленными вhttp-equiv="content-language"
(Попробуйте и посмотрите).Что касается того, будут ли поисковые системы выполнять несколько экземпляров
meta name="description"
на нескольких языках (с соответствующими атрибутамиlang
), это зависит от поисковой системы. Google указал, что они не любят параллельные переводы, что очень жаль для тех из нас, кто обсуждает иностранные языки.