META - теги (часть I) |
|
META-теги (или как еще говорят, META-определители)
- служебные элементы заголовков web-страничек. Они никаким образом не влияют на
содержимое web-странички и ее отображение в браузере (за исключением
неправильной установки кодировки). Поэтому многие web-мастера эти теги вообще
не используют, но это не совсем правильно. Итак, для чего же нужны различные
META-теги и какую они несут информацию?
Все META-теги записываются в заголовке web-странички, то есть
между тегами <HEAD> и </HEAD> и желательно записывать META-теги
после тегов <TITLE> и </TITLE>. Существует 2 типа META-тегов,
различающихся атрибутами и соответственно назначением:
- <META
HTTP-EQUIV="имя" CONTENT="содержимое">
- <META NAME="имя" CONTENT="содержимое">
Рассмотрим сначала META-теги, использующие атрибут
HTTP-EQUIV.
META-теги с атрибутом HTTP-EQUIV эквивалентны
HTTP-заголовкам. Обычно они управляют действиями браузеров и могут быть
использованы для совершенствования информации, выдаваемой обычными заголовками
с сервера. Теги такой формы могут дать такой же эффект, что и HTTP-заголовки, и
на некоторых серверах автоматически могут быть переведены в настоящие
HTTP-заголовки.
HTTP-заголовки могут быть сгенерированы с помощью
CGI-скриптов. Это позволяют сделать серверы Apache и CERN. В других серверах
могут использоваться другие механизмы генерирования заголовков. Некоторые
генерируемые сервером поля заголовков не могут быть подменены значениями из
META-тагов (в частности Date), другие подменяются только при ненормальном
статус-коде (<>200). Когда заголовок не понятен, то значение
HTTP-заголовка превалирует над значением META-тагов.
Возможные значения атрибута HTTP-EQUIV (вместо имя):
Refresh
Значение атрибута CONTENT число, определяющее время в секундах, после которого,
браузер автоматически произведет обновление документа (это аналогично нажатию
кнопки Reload / Обновить в браузере). Это приведет к тому, что страница с таким
meta-тегом будет автоматически обновляться через указанное количество секунд:
<META HTTP-EQUIV="Refresh"
Content="3">
Используя дополнительный параметр (URL) в атрибуте CONTENT, Вы
можете создать, так называемый "редирект" или
"перенаправление" пользователя на другой адрес:
<META HTTP-EQUIV="Refresh"
Content="3; URL=http://webholm.ru">
Включение такого тега обеспечит автоматический переход браузера
на страницу http://webholm.ru через 3 секунды. Редирект применяется в случае,
если Ваш сайт "переехал" на другой хост и сменил адрес. Тогда на
сервере со старым адресом Вы оставляете, как правило, в файле index.htm или
index.html предупреждение о "переезде" Вашего сайта, а в заголовке
используете вышеприведенный meta-тег. Иногда, эта конструкция находит
применение, когда необходимо через некоторое время перенаправить пользователя с
главной страницы сайта на страницу новостей.
Content-Type
Указание типа документа. Может быть расширено указанием кодировки страницы
(charset). Если указать charset в содержании META-тега, то браузер выведет
web-страницу в кодировке, заданной в charset:
<META HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=KOI8-R">
Использовать
возможность "жесткой" установки кодировки следует крайне осторожно,
поскольку, если в META-теге задана одна кодировка, а страничка находится в
другой кодировке, бывает очень сложно перевести такую web-страничку в читаемый
вид.
А как такое вообще может произойти? Например, Вы создаете
страничку в Блокноте, т.е. в кодировке Windows и указываете в META-теге эту
кодировку: windows-1251, тестируете - все нормально, но на сервере, где
располагается Ваш сайт, все документы находятся в кодировке KOI8-R и
автоматически перекодируются в эту кодировку при копировании на сервер через
протокол FTP. А в META-теге то указана кодировка Windows!
Если же http-сервер поддерживает функцию автоматического
изменения кодировки в зависимости от настроек браузера, то использовать данный
META-тег вообще не следует, а файлы "заливать" (копировать на сервер
через FTP) в кодировке, указанной при регистрации или в FAQ для данного
хостинга.
Expires
Определяет дату "устаревания" страницы для протокола HTTP. Для
браузера это выглядит следующим образом: если указанная дата прошла, то
содержимое странички загружается с сервера, а данные из кеша браузера не
используются. Зачастую в данной директиве указывают заведомо устаревшую дату,
чтобы избежать кеширования документа.
<META HTTP-EQUIV="Expires"
CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
Дата со значением "0" интерпретируется как
"сейчас". Такое значение заставляет браузер каждый раз при запросе
проверять - изменялся ли этот документ. Это, кстати относится и к
прокси-агентам. Поисковые роботы могут либо совсем не индексировать такой
документ, либо постоянно "проверять" его. Дата должна быть задана в
определенном формате, указанном в примере выше.
Pragma
Контроль кэширования. Если Вы хотите избежать кеширования, установите значение
"no-cache". Рекомендуется применять при выдаче результатов работы
cgi-скрипта.
Content-language
Указание языка документа. Может использоваться поисковыми машинами при
индексировании страниц. Комбинация поля Accept-Language (посылаемого браузером)
с содержимым Content-language может быть условием выбора сервером того или
иного языка.
<META HTTP-EQUIV="Content-language"
CONTENT="en-GB">
Язык описывается парой значений (язык-диалект). В примере:
Английский-Великобритания. Однако в спецификации HTML 4.0 имеется другая
возможность явного указания языка: <html lang="en">
Window-target
Определяет окно для текущей гипертекстовой страницы; может быть использован для
прекращения появления новых окон браузера при применении фреймовых структур.
Действует не для всех браузеров.
<META
HTTP-EQUIV="Window-target" CONTENT="_top">
Ext-cache
Определяет имя расширенного (альтернативного) кэша для браузера.
<META HTTP-EQUIV="Ext-cache"
CONTENT="name=/some/path/index.db; istructions=User Instructions">
Set-Cookie
Устанавливает cookie браузера.
<META HTTP-EQUIV="Set-Cookie"
CONTENT="NAME=value; EXPIRES=date; DOMAIN=domain_name; PATH=path;
SECURE">
PICS-Label
Platform-Independant Content rating Scheme. Обычно используется для определения рейтинга
"взрослости" (adult) содержания (sex, violence, ...). Однако это
довольно гибкая схема и может использоваться для других целей.
Cache-Control
Определяет как будет работать механизм кеширования в данном документы HTML.
Возможные значения:
Vary
Определяет доступные альтернативы для указанных в CONTENT полей HTTP-заголовка.
<META HTTP-EQUIV="Vary"
CONTENT="Content-language">
Lotus
Lotus-редакторы генерируют свои собственные поля Bulletin-Date и Bulletin-Text
атрибуты. Bulletin-Text содержит описание документа.
Подводя итоги первой части, заметим, что мы, безусловно,
привели несколько избыточную информацию, а в качестве значений атрибута
HTTP-EQUIV на начальных этапах Вы будете использовать первые 2-3 значения.
Остальные значения приведены для общего знакомства, их запоминать не нужно, но,
возможно, в дальнейшем у Вас возникнет необходимость их использовать.
META - теги (часть II) |
|
Напомним, что существует 2 типа META-тегов, различающихся
атрибутами и соответственно назначением:
- <META
HTTP-EQUIV="имя" CONTENT="содержимое">
- <META NAME="имя" CONTENT="содержимое">
Во второй части статьи поговорим о META-тегах, использующих
атрибут NAME.
Теги, с атрибутом NAME абсолютно ни на что не влияют за
исключением одного..., довольно важного процесса. Эти теги используются
поисковыми роботами (пауками) при индексации Вашего сайта. Они участвуют в
определении информации, которая будет занесена в базу данных поисковой системы.
Таким образом, использование таких META-тегов увеличивает шансы попадания
Вашего сайта, посвященного, например, автомобилям, ближе к началу списка после
запроса на поиск слова "автомобиль". Тут, следует заметить, что
поисковые машины, как правило, помимо, данных тегов еще анализирует текст Вашей
странички и значения атрибутов alt тега IMG, поэтому значения META-тегов с
атрибутом NAME должно соотносится с содержимым Вашего сайта.
Итак, рассмотрим возможные значения атрибута NAME (вместо
имя):
robots
Поскольку дальше мы будем приводить теги для индексации, то начнет с META-тега
с атрибутом robots, в котором значение атрибута CONTENT управляет индексацией
страницы для поисковых роботов, возможны следующие значения:
Например:
<META NAME="Robots"
CONTENT="NOINDEX,FOLLOW">
Означает, что данную страницу индексировать не надо, а следовать
по ссылкам с данной страницы для изучения других страниц можно.
Однако заметим, что этот META-тег может и не поддерживаться
поисковой системой, в этом случае рекомендуется создать отдельный файл
robots.txt, в котором описать разрешения и запреты на индексацию согласно
указаниям, которые Вы можете найти на сайте поисковой системы.
description
Значение атрибута CONTENT - строка, которая определяет текстовое описание
(краткую аннотацию) конкретной страницы Вашего сайта. Не стоит создавать
слишком длинное и подробное описание Вашего сайта в данном теге, рекомендуется
ограничиться текстом до 100 символов, поскольку поисковые машины, в большинстве
случаев, имеют ограничение на количество индексируемых символов. Этот тег может
сильно помочь в случаях, когда в документе мало текста, когда это управляющий
фреймами файл (frameset) или в начале документа используются скрипты.
<META
NAME="description" CONTENT="Данный сайт содержит информацию для
любителей старинных автомобилей, на нем Вы можете найти описание с фотографиями
редких и эксклюзивных автомобилей">
keywords
Значение атрибута CONTENT - список ключевых слов, как правило, через запятую,
соответствующих содержимому Вашего сайта. Это те слова, в запрос на которые, Вы
хотели бы, появления Вашего сайиа в списке результатов поиска. Здесь также
рекомендуется ограничиться списком до 30 слов. Поскольку некоторые поисковые
машины пока еще не могут "переводить" регистр, можно указать оба
варианта записи ключевых слов, как в заглавном, так и в строчном варианте.
Можно поместить и наиболее частые опечатки ключевых слов. Также Вы можете здесь
записать и английские слова, соответствующие содержимому Вашего сайта. Ну, а
какие конкретно нужно писать слова - это уже тема отдельной статьи. Некоторые
поисковые системы не индексируют сайты, в которых в данном теге повторяется
одно и то же слово для увеличения позиции в списке результатов.
<META NAME="keywords" CONTENT="реклама, дизайн, полиграфия">
Эти два
META-тега являются наряду с тегом TITLE, являются наиболее важными при
индексации Вашего сайта, остальные представленные META-теги имеют меньшее
значение, а поэтому и используются значительно реже. Приведем краткий их
список:
abstract
Значение атрибута CONTENT - описание содержимого сайта и перечня ключевых
выражений через запятую. Используется редко поисковыми роботами с
нестандартными алгоритмами индексации.
subject
Значение атрибута CONTENT - выраженная несколькими словами главная тема Вашего
сайта.
document-state
Управление индексацией страницы для поисковых роботов. Определяет частоту
индексации - или один раз индексировать (значение Static), или реиндексировать
документ регулярно (значение Dynamic).
url
Определяет каким образом необходимо индексировать документ, значение атрибута
CONTENT может быть, например, absolute_url.
page-type
Значение атрибута CONTENT определяет тематическую группу, в которую будет
занесен Ваш сайт, но поскольку в поисковых системах может быть различная
классификация, то Вы можете указать information resourse.
distribution
rating
Определяют область действия информации, если страница предназначена "для
всех", то значением является Global и General соответственно. Возможные
значения (для distribution): global, local, iu (internal use).
title
page-topic
Определяют тему страницы, предназначены для поисковых машин не умеющих
обрабатывать значение тега TITLE, но, наверно, таких поисковых машин уже нет.
site-created
Значение атрибута CONTENT определяет дату создания Вашего сайта, например,
28-07-2001.
expires
Определяет предполагаемую дату закрытия сайта, после этой дату некоторые
поисковые серверы могут удалить информацию о Вашем сайте из своей БД. Дата
записывается в таком же формате, что и в предыдущем атрибуте.
revisit
revisit after
Определяют через сколько дней необходимо вернуться на Ваш сайт для повторной
индексации. Применяется, когда содержимое сайта значительно изменяется через
определенные промежутки времени. Например, значением может быть: 15 days.
content-language
Определяет язык Вашего сайта, например, russian или english.
resource-type
Определяет текущее состояние данного файла. Важен для поисковых систем, то
есть, если его значение document, то поисковая система приступает к его
индексированию.
audience
Определяет аудиторию, для которой предназначен Ваш сайт, если - для взрослых,
то установите в атрибуте CONTENT значение adults, в противном случае - all.
copyright
autor
reply-to
Определяют соответственно авторские права, автора и его адрес электронной
почты.
owner
address
owner-type
Определяют соответственно владельца ресурса, его адрес и тип фирмы
(corporation, company/small, personal).
publisher-name
publisher-type
publisher-location
Определяют соответственно имя компании или лица, опубликовавшего сайт, тип
фирмы, опубликовавшей сайт и доменная зона, в которой опубликован сайт.
home-url
URL домашней странички разработчиков сайта.
Generator
Ну, и совсем бесполезный тег, определяющий имя и версию html-редактора, в
котором создана данная страничка. Автоматически вставляется html-редакторами
для собственной рекламы. Некоторые web-мастера, если html-код пишут сами, то
любят это подчеркивать, указывая в качестве значения notepad (Блокнот).
Значение этого тега Может быть использовано для определения доли рынка,
занимаемого тем или иным продуктом.
Помимо уже перечисленных значений атрибута NAME META-тегов
могут существовать и другие: Classification, Formatter, Site-languages,
Version, Template, Operator, Creation, Host, Document, Build и т.д. Да, и
вообще разрешается создание и использование произвольных значений атрибута NAME
и соответствующего нему значения, записанного в атрибуте CONTENT.
Если говорить прямо, то мы рекомендуем использовать лишь
первые 3 META-тега. Остальные же будут лишь "нагромождать" Ваши
страницы, увеличивая их размер, а в итоге, скорее всего, не принесут ощутимой
пользы, за редким исключением. А такой подробный список приведен, за тем, чтобы
нас не обвиняли в неполноте представляемой информации.