HTML: Мета-описания нескольких языков?


Как я могу задать два языковых мета-описания для моего веб-сайта?

Является ли этот код google действительным?

<meta name="description" lang="en" content="english blablabla" />
<meta name="description" lang="hu" content="hungary blablabla" />
2 5

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 указал, что они не любят параллельные переводы, что очень жаль для тех из нас, кто обсуждает иностранные языки.