- Семантическое воздействие против Влияние SEO


Существует много споров по поводу архитектуры структуры заголовков в html5. Прочитав различные статьи, я пришел к трем возможным архитектурам, которые имеют для меня логический смысл, но я не уверен, какой из них является правильным методом подхода. Я перечислю их ниже с примерами кода, и, надеюсь, кто-нибудь сможет пролить свет на правильный баланс или, что еще хуже/лучше, сказать ужасное "Вы делаете это неправильно" и протянуть руку помощи.


Подход 1: Версия А

Одиночный <h1>: Использование заголовков только для содержимого конкретной страницы.

Это оставляет <h1> в качестве навигации верхнего уровня для конкретного заголовка страницы, в то время как <h2-6> перемещается по мере необходимости в области содержимого. При выходе из <header>, <nav>, и <footer> как "безымянные" элементы.

<header>
  <nav>
    <!-- no headings -->

<div role="main">
  <h1>
  <section>
    <h2>
      <section>
        <h3>

<footer>
  <!-- no headings -->

Подход 1: Версия 2

Несколько <h1>: Используются только заголовки только для содержимого конкретной страницы.

То же, что и 1A с добавлением несколько одинаково важных тем содержимого страниц. (например, возможно для блогов или страниц с разделенными темами)

<header>
  <nav>
    <!-- no headings -->

<div role="main">
  <h1>
  <article>
    <h2>
  <article>
    <h1>

<footer>
  <!-- no headings -->

Подход 1 Общий план: Наиболее логично для SEO (мое мнение из моего исследования)

  • ТЕЛО без названия
    • Безымянный навигатор
  • основной заголовок
    • Заголовок раздела
      • Заголовок подраздела
    • РАЗДЕЛ без названия

Подход 2:

Несколько <h1>: Подчеркните структуру структуры И иерархию контента

Это относится к заголовкам элементов всего сайта <header>, <nav>, и <footer> с использованием нескольких <h1> для элементов, не ориентированных на контент.

<header>
  <h1>
  <nav>
    <h2>

<div role="main">
  <h1>
  <section>
    <h2>
    <section>
      <h3>

<footer>
  <h1>
  <section>
    <h2>

Схема подхода 2: Наиболее логично для семантической схемы (опять же, мое мнение)

  • Заголовок заголовка
    • Навигационный заголовок
  • основной заголовок
    • Заголовок раздела
      • Заголовок подраздела
  • Заголовок нижнего колонтитула
    • Заголовок раздела

Подход 3

Одиночный <h1>: Фокус иерархии контента; нижний уровень <h1-6> для элементов всего сайта

Это относится к заголовкам элементов всего сайта <header>, <nav>, и <footer> БЕЗ использования нескольких <h1> для элементы, не ориентированные на содержание.

<header>
  <h2>
  <nav>
    <h3>

<div role="main">
  <h1>
  <section>
    <h2>
    <section>
      <h3>

<footer>
  <h2>
  <section>
    <h3>

Подход 3 Общий план: своего рода гибрид обоих подходов

  • Заголовок заголовка
    • Навигационный заголовок
  • основной заголовок
    • Заголовок раздела
      • Заголовок подраздела
    • Заголовок нижнего колонтитула
    • Заголовок раздела

Итак, со всем сказанным, как я могу иметь смысл всего этого? Несет ли какой-либо один подход большую смысловую ценность, чем другой? Имеет ли это больше смысла с точки зрения SEO? Существует ли счастливый баланс, которого можно достичь?

Источники: Их было еще много, это те, кого я помню в мгновение

Author: dan, 2015-07-10

2 answers

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

По этой причине ваш первый пример верен. Следующие примеры не дадут вам предсказуемых результатов и могут вызвать у вас серьезные сердечные приступы.

Пожалуйста, поймите, что ваша веб-страница будет концептуально рассмотрена несколькими способами: во-первых, следуя традиционной модели DOM где HTML и тому подобное оценивается с точки зрения пользователя; во-вторых, текст только с простой разметкой для обозначения заголовков, подзаголовков, контента и т. Д.; И в-третьих, с использованием семантического представления, в котором к тегам заголовков в индексе применяется только небольшой вес, основанный на его месте в иерархии h1-6. Из модели DOM вы получите такие вещи, как тег заголовка, мета-тег описания и т. Д., Которые будут отсутствовать в двух других представлениях. Однако представление DOM мало что делает для взвешивания вашего контента. Его основная функция - понять вашу страницу, где находится ваша навигация, где находятся ваши верхние и нижние колонтитулы, где начинается и заканчивается ваш контент и т.д.

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

Я не буду снова описывать семантику, но я укажу вам на ответ, который я некоторое время назад я написал, что это мини-учебник по теме: Почему веб-сайт с заполнением ключевых слов занимает более высокое место, чем тот, который отсутствует в результатах поиска Google?

Поскольку веб основан на печатной странице, и парсеры с первых дней следовали этим традициям и в значительной степени не изменились, избежать их невозможно. Вот ответ, который объясняет порядок чтения заголовков, который остается лучшей стратегией, основанной на модели синтаксического анализа: Улучшите рейтинг Google для общие и конкретные ключевые слова

Хотя я признаю, что может быть некоторый эффект от перемещения тегов заголовков, я спрашиваю, разумно ли это делать? Черт возьми, Нет! То, как вещи взвешиваются сегодня, может не соответствовать тому, как они взвешиваются завтра. Следование традиционному формату гарантирует предсказуемые результаты, когда простое изменение веса может привести ваш сайт в тупик.

Вот взгляд на то, как это работает: Преимущество доменного имени в SEO Игнорируйте название и пропустите самую верхнюю часть ответа и перейдите к точке зрения программистов.

Если вы прочтете эти три ответа, вы легко поймете влияние тега заголовка. Очень возможно испортить производительность вашей страницы/сайтов, став милой с тем, как вы их организуете. Даже следуя традиции, вы можете очень быстро отменить тег заголовка и тег h1, оптимизировав несколько нижних тегов заголовка. Тщательный баланс - вот ключ к успеху.

Наконец, я предупрежу вас обо всех этих онлайн-советах по SEO от люди, которые не являются инженерами. Это рэкет, чтобы зарабатывать деньги и соперничать за ваше внимание. Как работают поисковые системы, не секрет. Это где-то там, если вы знаете, где искать. Большинство экспертов по SEO вообще не являются экспертами в том смысле, что они не могут рассказать вам о том, как устроена технология поиска. Не будучи инженером Google или Bing, мы никогда не сможем точно знать, как работают эти поисковые системы. К счастью, Google рассказал нам достаточно (и на самом деле они рассказали нам почти все нам нужно знать - и нет, это не исходило от парня по имени Мэтт), что если вы знаете науку и технологии, можно сделать довольно разумный набор предположений. С моей точки зрения, большинство оптимизаторов скорее ошибаются, чем правы, в то время как у некоторых процент попаданий намного выше, чем в среднем.

 5
Author: closetnoc, 2017-04-13 12:33:21

Следующее с точки зрения спецификации HTML5 основано на предположении, что потребители (например, поисковые системы) будут ожидать и работать с тем, что указано в стандартах HTML. В нынешней практике такие детали разметки, вероятно, не имеют большого значения для SEO, но они могут быть важны для других потребителей и доступности.

Я буду использовать заголовки соответствующего ранга, так как это то, что HTML5 поощряет , но также можно использовать h1 везде (если вы всегда используете элементы содержимого секционирования, где это уместно).


Вы не можете "применять" заголовки к элементам header или footer, потому что они не разделяют содержимое (они могут содержать только заголовки, но этот заголовок не будет ограничен областью действия header/footer).

Каждый разделяющий элемент содержимого (section, article, nav, aside) и каждый разделяющий корневой элемент (body, blockquote, и т.д.) может быть применен заголовок.

Эти разделение содержимого/корневых элементов и элементов заголовка h1-h6 являются ли единственными элементами, которые имеют значение для схемы документа .

Хотя каждый раздел "жаждет" заголовка, не требуется предоставлять его (в таком случае он получает "подразумеваемый", без названия заголовок). Хотя часто бывает полезно предоставить его, бывают случаи, когда в этом нет особой необходимости. Например, если у вас есть только одна навигация, будет достаточно иметь nav без заголовка. Но если на вашем сайте будет несколько переходов, возможно, имеет смысл использовать заголовки, объясняющие различные цели.

В вашем подходе 1 body является таким разделом без названия (но это только потому, что ваш nav появляется перед первым элементом заголовка; в противном случае этот h1 был бы заголовком для всего документа).
Я не думаю, что наличие раздела без названия body является хорошим выбором. Это первая запись в плане, и, в идеале (но не обязательно), все, что следует, входит в сферу действия этой записи.

Для типичного веб-сайта с глобальной навигацией это имеет смысл ( более подробное объяснение) использовать название сайта для заголовка раздела body, поскольку глобальная навигация относится ко всему сайту , а не только к текущему документу:

<body>
  <h1>My site</h1> <!-- site name -->

  <nav></nav> <!-- site navigation -->

</body>

<!-- Outline:
  1. "My site"
    1.1 Untitled nav
-->

Основное содержание этого документа также должно быть в области заголовка сайта, так как сайт является контекстом основной части этого документа контент, т.е. это часть вашего сайта:

<body>
  <h1>My site</h1> <!-- site name -->

  <nav></nav> <!-- site navigation -->

  <article> <!-- document content -->
    <h2>My blog post</h2>
  </article>

</body>

<!-- Outline:
  1. "My site"
    1.1 Untitled nav
    1.2 "My blog post"
-->

Если у вас есть несколько разделов основного контента, например, список сообщений в блоге, часто имеет смысл использовать section, который содержит все эти article, вместо того, чтобы использовать article в качестве прямых дочерних элементов body:

<body>
  <h1>My site</h1> <!-- site name -->

  <nav></nav> <!-- site navigation -->

  <section> <!-- document content -->
    <h2>Recent blog posts</h2>

    <article>
      <h3>My blog post</h3>
    </article>

    <article>
      <h3>Another blog post</h3>
    </article>

  </section>

</body>

<!-- Outline:
  1. "My site"
    1.1 Untitled nav
    1.2 "Recent blog posts"
      1.2.1 "My blog post"
      1.2.2 "Another blog post"
-->

Если у вас есть нижний колонтитул для всего сайта, который настолько сложен, что ему нужны элементы секционирования, он должен быть снова на том же уровне, что и nav и основной контент (поскольку он принадлежит сайту, а не основной содержание):

<body>
  <h1>My site</h1> <!-- site name -->

  <nav></nav> <!-- site navigation -->

  <section> <!-- main content -->
    <h2>Recent blog posts</h2>

    <article>
      <h3>My blog post</h3>
    </article>

    <article>
      <h3>Another blog post</h3>
    </article>

  </section>

  <section> <!-- site footer -->
    <!-- this section should be the child of a 'footer' element -->
  </section>

</body>

<!-- Outline:
  1. "My site"
    1.1 Untitled nav
    1.2 "Recent blog posts"
      1.2.1 "My blog post"
      1.2.2 "Another blog post"
    1.3. Untitled section
-->

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

 2
Author: unor, 2017-05-23 12:37:07