Подтвердить что ты не робот

Что произойдет, если метатеги присутствуют в документе?

Я работаю над ASP-приложением, а код, шаблон и файлы организованы таким образом, чтобы я не мог изменять ничего за пределами тега body. Поэтому я думаю о вставке метатегов внутри тела - вот так:

<!-- FEW ASP INCLUDES -->
<html>
    <head>
    <!-- FALLBACK TITLE AND DESCRIPTION -->
    <title>Default Title</title>
    <meta name="description" content="Default Description">
</head>
<body>
    <!-- SOME HTML MARKUP -->
    <div class="dynamic-content">
        <!-- InstanceBeginEditable name="dynamic-content" -->
        <!-- THIS IS WHERE I CAN WRITE ASP CODE -->
        <title><%= Page.Meta.GetTitle( yada, yada ) %></title>
        <meta name="description" content="<%= Page.Meta.GetDescription( yada, yada ) %>">
        <!-- InstanceEndEditable -->
    </div>
    <!-- SOME MORE HTML MARKUP -->
</body>
</html>

Мне интересно, как хорошо размещать метатеги внутри тела документа HTML. Как это влияет:

  • поисковые системы
  • браузеры
4b9b3361

Ответ 1

Это, конечно, недействительно в соответствии с HTML4.01. Метки META разрешены только в HEAD (так же, как, например, TITLE), поэтому, помещая его в BODY, вы по существу создаете недопустимую разметку.

Из беглых тестов кажется, что некоторые браузеры (например, Firefox 3.5 и Safari 4) фактически помещают эти элементы в HEAD при создании дерева документов. Это не удивительно: браузеры, как известно, терпят и пытаются интерпретировать все виды разбитой разметки.

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

Я не знаю, как поисковые системы реагируют на такой суп-суп, но я бы не рискнул экспериментировать, чтобы узнать. Возможно, они просто анализируют HEAD-тег для определенной информации и пропустят теги, содержащие BODY. Или, может быть, они считают, что это некоторые попытки злоумышленных азартных игр и черных списков, содержащих такую ​​разметку. Кто знает.

Нижняя строка - избегайте этого, когда это возможно.

Ответ 2

Суть заключается в том, чтобы избежать этого, когда это возможно, когда DOCTYPE запрещает его. Я думаю, что это определенно разрешено в HTML5 и очень полезно в случаях с использованием микроданных. Пример: http://schema.org/Event

Ответ 3

Я бы этого не сделал. Это не то, где эти теги идут, и поисковые системы могут рассматривать его как спам. Если вы можете реорганизовать главную страницу, вы всегда можете добавить владельца контента в раздел главы. Я сделал это тривиально:

<asp:ContentPlaceHolder ID="HeadTags" runat="server" />

Таким образом вы можете добавить любой контент, который вам нравится в разделе заголовка, на вашей странице:

<asp:Content ID="Whatever" ContentPlaceHolderID="HeadTags" runat="server" >

    <meta ... >

</asp:Content>

Ответ 4

Если ваша цель - поисковая оптимизация, то, вероятно, неплохо следовать стандартам и поместить все ваши метатеги в <head>. Однако, что касается поведения браузера, если вы поместите теги <meta> в свой <body>, они все равно будут работать. Я решил протестировать это, используя несколько тегов <meta http-equiv="refresh"/> и теги <title> в другом стандартном документе.

Результаты моих тестов:

Firefox 18, Firefox 3.6, Firefox Mobile, Chrome 24, Chrome для мобильных устройств, Opera 12, IE6, IE8, IE10:

  • Обработаны теги <meta> в теле.
  • Первый тег <title> в документе был обработан, даже если он был в теле. Последующие теги <title> игнорировались.
  • Самая ранняя директива meta refresh вступила в силу, подразумевая, что оба обработаны.

IE9:

  • То же, что и выше, за исключением всех тегов <title> в теле, которые были проигнорированы.
  • IE10 в режиме стандартов IE9 также ведет себя следующим образом.
  • IE9 в режиме стандартов IE8 вел себя так же, как IE8, позволяя в теге 1 тег <title>.

Итак, что происходит, когда вы используете метатеги в теле? По большому счету, они, похоже, работают нормально. Мета-теги, вероятно, будут обработаны, поэтому, если вы не можете поместить их в голову, я не буду слишком беспокоиться.

Ответ 5

Некоторые метатеги, предназначенные для поисковых систем, не будут выполняться поисковыми системами в разделе тела страницы.

Например, Google говорит, что он не будет соблюдать rel= canonical в теле страницы, но только в заголовке страницы. Вот что говорит Мэтт Каттс из Google:

Мы не разрешаем rel= canonical в BODY (потому что, как я уже упоминал, люди будут спамить это),

Ответ 6

Я бы сказал, что вы его используете. Я нашел метатеги внутри тела на разных веб-страницах, и они находятся в одном из первых 10 поисков (в google). Это показывает, по крайней мере, для меня, что поисковые системы не против, если вы использовали этот подход.

Вы должны идти вперед, если нет другого пути.

Ответ 7

Я поместил в тело некоторые метатеги, но это связано с технологией Microdata. Когда у меня нет регулярного элемента с информацией, мне нужно описать объект в соответствии с словарем schema.org, я установил метатег с этим контентом. Вместо этого я предпочитаю делать это, чтобы установить элемент с отображением: none. Как с дисплеем: ничто не может вызвать больше проблем с Google вместо этого, насколько я знаю. Я согласен, что это не лучшая практика, но когда я проверяю свой документ (HTML5), я прохожу проверку с нулевыми ошибками. Также я сделал этот трюк для нескольких проектов, и ни у кого из них не было проблем с Google или другой поисковой системой. Даже микроданные улучшают рейтинг поисковой системы. Я не знаю, что именно вы хотите сделать с этими метатегами в теле, потому что я не видел никаких микроданных в вашем коде. Если вам это нужно для этого подхода, я думаю, что все в порядке, но в других случаях мета-элементы должны находиться в главном разделе!

Ответ 8

Наличие тега META Description на веб-сайтах является недопустимой разметкой, однако это не является большой проблемой, поскольку поисковые системы могут регулярно находить тег, где бы он ни был. Мой сайт делает это, взгляните на мой HTML

http://cameras.specced.co.uk/compare/268/Canon_EOS_200D

META находится на веб-сайте BODY, однако он был проиндексирован Google, а мета-описание страницы было настроено как текст с кликом в результатах поиска Google.

Ответ 9

метатеги могут быть добавлены в любом месте HTML.

Сканеры могут их читать, но единственная проблема заключается в том, что вам приходится делиться своими страницами через какое-то приложение, такое как Facebook Messenger, WhatsApp и т.д.

Эти приложения читают только мета-теги, присутствующие внутри тега head. Таким образом, свойства мета-тега og: image, og: description, если они размещены внутри тега body, не читаются и, следовательно, не будут отображаться при совместном использовании в таких приложениях.

Если это только для целей SEO, вы можете добавить метатег в любом месте, но рекомендуется добавлять только внутри заголовка тега