HTML-метатег для языка контента - программирование
Подтвердить что ты не робот

HTML-метатег для языка контента

В чем разница между двумя метатегами HTML для указания содержимого веб-страницы в Испании:

<meta name="language" content="Spanish">

и

<meta http-equiv="content-language" content="es">
4b9b3361

Ответ 1

<meta name="language" content="Spanish">

Это не определено ни в одной спецификации (включая проект HTML5)

<meta http-equiv="content-language" content="es">

Это версия плохого человека реального HTTP-заголовка и должна быть действительно выражена в заголовках. Например:

Content-language: es
Content-type: text/html;charset=UTF-8

В нем говорится, что документ предназначен для говорящих на испанском языке (он, однако, не означает, что документ написан на испанском языке, он может, например, быть написан на английском языке в рамках языкового курса для испаноговорящих).

Из спецификации:

Поле заголовка объекта Content-Language описывает естественный язык целевой аудитории для закрытого объекта. Обратите внимание, что это может быть не эквивалентно всем языкам, используемым в сущности.

Если вы хотите указать, что документ написан на испанском языке, используйте:

<html lang="es">

Ответ 2

Вы просили разницу, но вы не можете сравнить эти два.

Обратите внимание, что <meta http-equiv="content-language" content="es"> устарел и удален в HTML5. Он использовался для указания "языка по умолчанию для всего документа" с его атрибутом http-equiv, что делает его директивой pragma (который имитирует заголовок ответа HTTP, например Content-Language, который не был отправлен с сервера, поскольку он не может переопределить реальный).

Что касается <meta name="language" content="Spanish">, вы вряд ли найдете надежную информацию. Его нестандартный и, вероятно, был изобретен как SEO неспециализированный.

Однако Рекомендация HTML5 W3C рекомендует авторам использовать lang в корневых элементах html (значения атрибутов должны быть действительны теги языка BCP 47:

<!DOCTYPE html>
<html lang="es-ES">
    <head>
        …

В любом случае, если вы хотите указать язык контента для инструктирования роботов поисковых систем, вы должны рассмотреть эту цитату из Справка Google Search Console на многоязычных сайтах:

Google использует только видимый контент вашей страницы, чтобы определить его язык. Мы не используем любую информацию на уровне кода, такую ​​как атрибуты lang.

Ответ 3

Google рекомендует использовать hreflang, читать подробнее

Примеры:

<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" />
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" />
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="http://example.com/en" hreflang="en" />

Ответ 4

Html5 также рекомендуется использовать <html lang="es-ES"> В теге small letter lang указывается только: код языка В большой букве указывается: код страны

Это действительно полезно для ie.Chrome, когда браузер предлагает перевести веб-контент (то есть google translate)