<meta> - элемент для описания метаданных
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
* Some parts of this feature may have varying levels of support.
HTML-элемент <meta> представляет такие метаданные, которые не могут быть представлены другими HTML-метатегами, такими как <base>, <link>, <script>, <style> или <title>.
| Категории контента | Мета данные. Если задан itemprop атрибут: flow content, phrasing content. |
|---|---|
| Допустимое содержимое | Отсутствует - это пустой элемент. |
| Пропуск тегов | Так как это пустой элемент, то открывающий тег должен присутствовать, а закрывающий - отсутствовать. |
| Допустимые родители | <meta charset>, <meta http-equiv>: <head> элемент. Если http-equiv это не заявленная декларация, то может быть внутри элемента <noscript> или <head>. |
| Допустимые ARIA-роли | Отсутствуют |
| DOM-интерфейс | HTMLMetaElement |
Атрибуты
Этот элемент включает в себя глобальные атрибуты.
Примечание:
Атрибут name имеет особое значение для элемента <meta> и атрибут itemprop не должен быть задан в <meta> элементе в котором уже определены какие-либо name, http-equiv или charset атрибуты.
charset-
Этот атрибут задаёт кодировку символов, используемую на странице. Он должен содержать стандартное имя IANA MIME для кодировки символов. Хотя стандарт не требует определённой кодировки, он рекомендует:
-
Авторам рекомендуется использовать
UTF-8. -
Не следует использовать ASCII-несовместимые кодировки, чтобы избежать угроз безопасности: браузеры, не поддерживающие их, могут интерпретировать вредоносный контент как HTML. Это относится к семейству кодировок
JIS_C6226-1983,JIS_X0212-1990,HZ-GB-2312,JOHABиEBCDIC.Примечание: ASCII-несовместимые кодировки - это те, которые не преобразуют 8-битные коды точек
0x20,0x7E,0x0020,0x007Eв коды Unicode точек.Предупреждение:
- Авторы не должны использовать
CESU-8,UTF-7,BOCU-1и/илиSCSU, так как есть примеры атак межсайтового скриптинга использующих данные кодировки. - Авторам не следует использовать кодировку
UTF-32, потому что не все алгоритмы кодирования HTML5 могут отличить её отUTF-16. Примечание: - Указанный набор символов должен соответствовать одной странице. Нет веских оснований для объявления неточного набора символов.
<meta>элемент должен находиться внутри элемента<head>и задаваться в 1024 первых байтах HTML страницы, поскольку некоторые браузеры смотрят только эти байты перед выбором кодировки.- Этот
<meta>элемент - часть алгоритма, определяющего набор символов (algorithm to determine the character set) страницы, который браузер поддерживает. ЗаголовокContent-Typeи любые Byte-Order Marks элементы переопределяют данный элемент. - Настоятельно рекомендуется определить кодировку символов. Если для страницы не определён набор символов, то некоторые cross-scripting технологии могут повредить страницу, например такие как UTF-7 fallback cross-scripting technique. Постоянная установка этого элемента будет защищать вас от этого риска.
- Этот
<meta>элемент это синоним для pre-HTML5<meta http-equiv="Content-Type" content="text/html; charset=IANAcharset">где *IANAcharset*соответствует значению эквивалентногоcharsetатрибута. Этот синтаксис по-прежнему разрешён, хотя и устарел и больше не рекомендуется.
- Авторы не должны использовать
-
content-
Этот атрибут содержит значение для
http-equivилиnameатрибута, в зависимости от контекста. http-equiv-
Этот атрибут определяет прагму, которая может изменять поведение серверов и пользователей. Значение прагмы определяется с помощью
contentи может быть следующим:"content-language"-
Эта прагма определяет значение языка страницы по умолчанию.
Примечание: Не используйте эту прагму, так как она устарела Используйте глобальный атрибут
<html>элемента вместо этого. "Content-Security-Policy"-
Это значение позволит администратору веб-сайта определить политику содержания для обслуживаемых ресурсов. За некоторыми исключениями, политика в основном включают в себя указание происхождения сервера и конечные точки сценария. Это помогает предотвратить атаки межсайтового скриптинга.
"content-type"-
Этот атрибут определяет MIME type документа. За ним следует синтаксис такой же как и в поле заголовка объекта содержимого HTTPI, однако как и внутри HTML-элемента, большинство этих значений не доступно. Поэтому допустимым синтаксисом для его содержимого является литеральная строка '
text/html', за которой следует набор символов со следующим синтаксисом: '; charset=IANAcharset' гдеIANAcharsetэто предпочтительное MIME имя для набора символов, который определяется какIANA.Примечание: Не используйте эту прагму, так как она устарела. Используйте атрибут
charsetв элементе<meta>вместо этого.<meta>не может быть использована для выбора типа документа в XHTML документе, или в HTML5 документе, за которым следует XHTML синтаксис, никогда не задавайте MIME тип как XHTML MIME. Это будет некорректно. Только HTML документ может использовать контент-тип, так что большинство из них являются неиспользуемыми, поэтому они являются устаревшими и заменяютсяcharsetатрибутом. "default-style"-
Специализация этой прагмы - предпочтительный стиль таблиц, используемый на странице.
contentатрибут должен содержать заголовок<link>элемента которыйhrefсвязывает атрибут с CSS таблцей стилей, или заголовок<style>элемента, который содержит CSS таблицу стилей. "refresh"-
Эта прагма определяет:
-
Эта прагма определяет cookie для страницы. Её содержимое должно заканчиваться синтаксисом, определяемым IETF HTTP Cookie Specification.
Примечание: Не используете эту прагму, так как она устарела. Используйте HTTP header set-cookie вместо этого.
name-
Этот атрибут определяет имя уровня документа метаданных. Его не следует устанавливать, если один из атрибутов
itemprop,http-equivилиcharsetтакже указан в наборе. Имя этого документального уровня метаданных связано со значением, которое содержится вcontentатрибуте.Допустимые значения для имени элемента, со связанными с ними значениями, хранятся посредствомcontentатрибута:-
application-name, определяет имя веб-приложения, запущенного на веб-странице;Примечание: Браузеры могут использовать его для идентификации приложения. Он отличается от
<title>элемента, который обычно состоит из имени приложения, но также может содержать специальную информацию, как например имя документа или статус. Простые веб-страницы не определяют application-name meta. -
авторопределяет в свободном формате имя автора документа; -
описание, содержащее краткое и точное резюме содержания страницы. В некоторых браузерах, среди которых Firefox и Opera, этот мета используется как описание страницы по умолчанию в закладке;
-
генератор, содержащий в свободном формате идентификатор программного обеспечения, создавшего страницу;;
-
Ключевые слова, представленные строками, разделёнными запятыми, связанные с содержанием страницы
-
referrerЭкспериментальная возможность контролирует содержимое HTTP.RefererHTTP - заголовок, прикреплённый к любому запросу, отправленному из этого документа:no-referrerНе отправлять HTTP Refererзаголовок.originОтправить оригинал. no-referrer-when-downgradeОтправить оригинал, как ссылку по умолчанию на безопасный пункт (https->https), но не отправлять ссылку на менее безопасную структуру (https->http). Это поведение по умолчанию. origin-when-crossoriginОтправляет полный URL (удалённый из параметров) при выполнении запроса с тем же источником, или только оригинал документа в других случаях. unsafe-URLОтправляет полный URL (удалённый из параметров), при выполнении запроса того же или перекрёстного происхождения. Примечание: Некоторые браузеры поддерживают ключевые слова всегда, по умолчанию и никогда для реферера. Эти значения устарели.
Примечание: Динамическая вставка
<meta name="referrer">(с помощью document.write или appendChild) создаёт недетерминизм, когда дело доходит до отправки рефереров. Также стоит отметить, что когда определяется несколько конфликтующих политик, применяется No-referrer policy.Атрибут также может иметь значение, взятое из существующего листа определений WHATWG Wiki MetaExtensions page. Хотя ни один из них официально не был принят, в число предложений входят несколько часто используемых имён: -
creator, определят в свободном формате имя создателя документа. Это также может быть имя института. Если же имён больше чем одно, то несколько<meta>элементов должны быть использованы; -
googlebot, синонимrobots, но только следует за Googlebot, сканирует индексы для Google; -
publisher, определяет в свободном формате имя того, кто опубликовал документ. Это также может быть имя института; -
robots, определяет поведение, поисковых роботов на странице. Список этих значений представлен ниже:Значение Описание Используется indexПозволяет роботу индексировать страницу All noindexОсвобождает робота от индексирования страниц All followПозволяет роботу переходить по ссылкам со страницы All nofollowЗапрещает роботу переходить по ссылкам со страницы All noneЭквивалентно noindex, nofollowGoogle noodpЗапрещает использование Open Directory Project описания, если таковые имеются, как описание страницы на странице результатов поиска Google, Yahoo, Bing noarchiveЗапрещает поисковой системе кешировать содержимое страницы. Google, Yahoo, Bing nosnippetЗапрещает отображение любого описания страницы на странице результатов поиска Google, Bing noimageindexЗапрещает отображение этой страницы в качестве ссылающейся страницы индексированного изображения. Google nocacheСиноним noarchiveBing Примечание: Только кооперативные роботы будут следовать правилам, определённым именем роботов. Роботу необходимо получить доступ к странице, чтобы считать мета значение. Если вы хотите скрыть от них информацию, то используйте robots.txt файл. Если вы хотите удалить страницу индекса, изменение мета в noindex будет работать, но только тогда, когда робот снова посетит страницу. Убедитесь, что файл robots.txt не предотвращает такие посещения. Некоторые поисковые системы имеют инструменты, позволяющие быстро удалить какую-либо страницу. Некоторые возможные значения взаимно исключают друг друга, такие как использование индекса и noindex или follow и nofollow одновременно. В этих случаях поведение робота не определено и может варьироваться от одного к другому. Поэтому избегайте этих случаев. Некоторые поисковые роботы-роботы, такие как Google, Yahoo Search или Bing, поддерживают те же значения в директиве HTTP, X-Robot-Tags: это позволяет им использовать эту прагму для документов, отличных от HTML, например изображений.
-
slurp,синонимrobots, но следует только за Slurp, индексирующим роботом от Yahoo Search;Наконец несколько общих терминов:viewport, который даёт подсказки о размере изначального размера viewport. Эта прагма используется только на некоторых мобильных устройствах.
Значение Допустимые значения Описание widthцелое положительное число или литерал device-widthОпределяет ширину области просмотра в пикселях heightцелое положительное число или литерал device-heightОпределяет высоту области просмотра в пикселях initial-scaleположительное число между 0.0и10.0Определяет соотношение между шириной устройства и размером области просмотра maximum-scaleположительное число между 0.0и10.0Определяет максимальное значение зума; должен быть больше или равен минимальному масштабу или быть неопределённым. minimum-scaleположительное число между 0.0и10.0Определяет минимальное значение зума; должен быть меньше или равен максимальному масштабу или быть неопределённым. user-scalableбулевское значение (да или нет) Если весь набор содержит значения нет, то пользователю не доступен зум на веб-странице. По умолчанию задано значение да. Примечание: Хотя и не стандартизирован, этот атрибут используется разными мобильными браузерами, например Safari Mobile, Firefox for Mobile or Opera Mobile. Значения по умолчанию могут быть изменены у разных браузеров или устройств.. Для изучения этой прагмы на Firefox for Mobile, посмотрите статью this article.
-
scheme-
Этот атрибут определяет схему, которая описывает метаданные. Схема - это контекст, ведущий к правильной интерпретации
contentзначения, например формата.Примечание: Не используйте этот атрибут, так как он устарел. Для него нет никакой замены, поскольку реально он не использовался. Опустите его.
Замечания
В зависимости от установленных атрибутов, тип метаданных может быть одним из следующих:
- Если в наборе
name, то это document-level metadata, применяемая ко всей странице. - Если в наборе
http-equiv, то это pragma directive, то есть информация, веб-сервер предоставляет информацию о том, как должна обслуживаться веб-страница. - Если в наборе
charset, то это charset declaration, то есть кодировка, используемая для сериализованной формы веб-страницы. - Если в наборе
itemprop, то это user-defined metadata, прозрачна для агента пользователя, поскольку семантика метаданных зависит от пользователя. Экспериментальная возможность
Пример
<!-- В HTML5 -->
<meta charset="utf-8" />
<!-- Переход на другую страницу через три секунды -->
<meta http-equiv="refresh" content="3;url=https://www.mozilla.org" />
Спецификации
| Specification |
|---|
| HTML> # the-meta-element> |
Совместимость с браузерами
Loading…