HTML метатег для языка контента
в чем разница между следующими двумя метатегами HTML для указания содержимого испанской веб-страницы:
<meta name="language" content="Spanish">
и
<meta http-equiv="content-language" content="es">
4 ответа:
<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 entity-header описывает естественный язык(ы) целевой аудитории для вложенного объекта. Обратите внимание, что это может быть не эквивалентно всем языкам, используемым в теле сущности.
если вы хотите заявить, что документ написан на испанском языке, а затем использовать:
<html lang="es">
вы просили различия, но вы не можете полностью сравнить эти два.
отметим, что
<meta http-equiv="content-language" content="es">
устарел и удален в HTML5. Он использовался для указания "языка по умолчанию для всего документа", с егоhttp-equiv
атрибут делает его директивы pragma (который имитирует заголовок ответа HTTP, напримерContent-Language
это не было отправлено с сервера, так как он не может переопределить реальный).о
на HTML5 W3C рекомендация призывает авторов использовать<meta name="language" content="Spanish">
, вы вряд ли найдите любую достоверную информацию. Это нестандартно и, вероятно, было изобретено как SEO импровизация.lang
наhtml
корневые элементы (значения атрибутов должны быть допустимыми BCP 47 языковые теги):<!DOCTYPE html> <html lang="es-ES"> <head> …
в любом случае, если вы хотите указать язык контента поручить роботам поисковых систем, вы должны рассмотреть эту цитату от справка Google Search Console на многоязычных сайтах:
Google использует только видимое содержимое вашей страницы для определения ее языка. Мы не используем информацию о языке на уровне кода, такую как
lang
атрибуты.
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" />