Чрезмерное использование вложенных DIV. Плохая практика или плохая индексация в поисковых системах? - PullRequest
4 голосов
/ 18 июля 2009

Я работаю над веб-интерфейсом и постоянно вкладываю div для макета. Без использования таблиц для разметки кажется естественным вариантом разметки блоков внутри блоков. Однако, глядя на мой законченный исходный код, нередко можно видеть 3 или 4 слоя глубиной вложенных элементов div ...

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

Редактировать: Я думаю, что мое замешательство связано с тем, что я не знаю, как поисковые системы обрабатывают div. Что они ищут в элементах div (важны ли идентификаторы ... должны ли div как-то описывать название ... или поисковые системы просто разбирают элементы div)?

Ответы [ 4 ]

5 голосов
/ 18 июля 2009

Я не думаю, что есть какие-либо эмпирические доказательства того, что это плохо для поисковых систем, но это определенно плохая практика. У него даже есть собственное прозвище -> divitis

Как правило, это происходит из-за незнания того, что можно сделать с помощью CSS. Конечно, иногда со сложными макетами вам может понадобиться вложить div, и это нормально, у вас не может быть идеально семантических веб-сайтов все время. Но я обнаружил, что независимо от сложности любого макета, мне никогда не приходилось углубляться более чем на 2 или 3.

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

Надеюсь, это поможет.

2 голосов
/ 18 июля 2009

Я не думаю, что это плохо для индексации поиска, но слишком много вложенных DIV часто возникает, если вы не используете блочную модель CSS правильно. Например, если у вас есть два тега img рядом в содержащем DIV, вам, вероятно, не нужны div-ы вокруг тегов img - вы можете установить img для display: block, и они будут вести себя так же, как DIV.

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

1 голос
/ 18 июля 2009

Это не должно беспокоить поисковые системы, и div - это то, что вы могли бы назвать семантически прозрачным - они сами по себе не имеют значения. Вот почему они подходят для определения блоков контента.

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

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

1 голос
/ 18 июля 2009

Конечно, индексирование в поисковых системах не хуже, чем при использовании таблиц, однако сами div не являются описательными. Возможно, вы захотите взглянуть на новые элементы HTML5, такие как <section> <header> <footer> и <article>, чтобы более точно описать, для чего предназначен div. Это хорошо для рейтинга в поисковых системах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...