Блог свободен от NOFOLLOW!

Почему не стоит увлекаться меню на основе скриптов

Дата: 16-10-2009 | Автор: Yaroslav.CH | Рубрика: Навигация
Метки: , ,

11

Почему не стоит увлекаться меню на основе скриптов

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

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

Давайте попробуем разобраться — почему так происходит и какое отношение к этому может иметь меню указанного типа?

Для начала рассмотрим — как вообще создается меню с подобным функционалом. Существуют 2 варианта его создания: с использованием javascript или без. В этот раз мы поговорим только о первом случае, а второй рассмотрим чуть позже.

Классическое древовидное меню

Разворачивающееся меню типа "аккордеон"

Классическое Javascript-меню типа «дерево»

Классическое Javascript-меню типа «аккордеон»
Классическое одноуровневое выпадающее меню

Классическое выпадающее Javascript-меню

Меню, созданное на основе javascript представляет собой собой некий сценарий, написанный на скриптовом языке и выполняющий определенные функции. Структура обычно состоит из строки меню — которая постоянно находится в окне приложения и всплывающего подменю. Выбор элемента главного меню обычно приводит к вызову подменю, которое в свою очередь может содержать еще одно или несколько подменю. Задачей, собственно, javascript-сценария и является реализация функционала «выпадения-скрытия» подменю.

JavaScript — скриптовый язык, чаще всего использующийся при создании сценариев поведения браузера, встраиваемых в веб-страницы. Предпосылкой появления языка JavaScript стало желание дать разработчикам HTML-документов возможность динамически управлять всеми объектами, описываемыми в коде Web-страницы.

За все нужно платить

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

Индексирование в поисковых системах — процесс добавления сведений (о сайте) роботом поисковой машины в базу данных, впоследствии использующуюся для (полнотекстового) поиска информации на проиндексированных сайтах.

Хулиганы зрения лишают!

Одним из таких ограничений является отказ в индексации скриптовых конструкций. То есть, поисковая машина, просматривая ваш сайт, попросту пропускает те элементы страницы, которые написаны на скриптовом языке. Почему так происходит — дело в том, что с одной стороны исполнение каждого скрипта резко повышает нагрузку на сервера поисковых роботов, а с другой — помимо «доброкачественных» скриптов, существуют так же и вредоносные.

Собака-поводырь для слепого робота

В сущности, поисковый робот в наибольшей степени напоминает слепого крота, который передвигаясь по коду страницы, находит ссылки и движется по ним вглубь сайта. Однако при этом, он обладает хорошим «нюхом» на элементы навигации, то есть способен отличать отдельно стоящие ссылки в тексте страницы от навигационных конструкций, в частности, таких как меню. Естественно, большее предпочтение отдается навигации.

Правильная организация навигационных элементов является основополагающим аспектом будущей оптимизации и раскрутки сайта!

Есть и медок, да засечен в ледок!

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

Проиндексировав текст той страницы, на которую он пришел, робот... уйдет. По одной простой причине — он не «видит» вашего прекрасного скользяще-выпадающе-раскрывающегося Javascript-меню и не может перейти на другие страницы вашего сайта. За счет того, что вы совершенно сознательно лишили и без того слепого «крота» еще и обоняния — больше ему у вас делать нечего.

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

Выводы

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

Именно по этой причине не стоит увлекаться «украшательствами» в ущерб главной задаче сайта — продавать товар или услугу.

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

Часть 2. Как сделать выпадающее меню для поискового робота?

Сейчас самое время поделиться статьей с другими!

Комментарии 11 комментариев

перейти к форме для комментирования

Хорошая статья , реально помогла понять , что не надо излишне увлекаться .

P.S. спасибо

ОтветитьОтветить

@Игорь, спасибо за оценку — обязательно заходите еще, буду стараться Вас радовать полезными материалами :)

ОтветитьОтветить

Возможно, стоит попробовать продублировать все пункты меню в крупном футере?

ОтветитьОтветить

К настоящему времени (июль 2011) боты спокойно читают любой жаба-скрипт. Во всяком случае, гуглобот это делает очень легко и непринужденно. Многократно проверял это дело, и ставил единственную ссылку на новую страницу в виде жаба-скрипта. Громоздил самые разные скриптовые конструкции. Бот исправно видит, пролезает по ссылке и индексирует страничку.

ОтветитьОтветить

А что мешает сделать меню обычным списком и в том случае, если браузер поддерживает JavaScript сворачивать и разворачивать его элементы. Боты-то все равно будут воспринимать все меню целиком, а пользователи... попробуйте сейчас найти пользователя, который отключает JavaScript. Так что всем будет хорошо.

Впрочем, подозреваю, что как раз об этом и написано во второй части. :) Сейчас почитаю.

ОтветитьОтветить

Никогда не любила скриптовые меню. Даже когда сама их делала. :) Хуже (для меня) — только флеш.

ОтветитьОтветить

@ZeroXor:

попробуйте сейчас найти пользователя, который отключает JavaScript.

Тысячи их :) Плагин для Firefox под названием NoScript отлично выключает скрипты на странице и пользуется им очень многие — достаточно посмотреть на количество закачек и количество отзывов.

Другой вопрос заключается в том, что никто не мешает сделать скрипт таким образом, чтобы при отключении JavaScript, меню просто разворачивалось на полную длину. Именно поэтому статья и называется «не стоит увлекаться...» — то есть, при создании скрипта нужно внимательно продумывать такие аспекты.

ОтветитьОтветить

Так а почему поисковики не понимают javascript-меню? Ведь задача javascript-а лишь скрывать и показывать элементы под меню. Они та не создаются динамически! В исходном коде все элементы навигации присутствуют, только у одних display: block, а у других display: none. Разве такие элементы поисковики не индексируют?

ОтветитьОтветить

@Шамшур Иван:

Ведь задача javascript-а лишь скрывать и показывать элементы под меню.

Если само меню сделано описанным Вами образом, то работать оно будет. То есть, если скрипт выполняет только функцию «скрыть-показать». Но в том случае, если само меню формируется Javascript, то скорее всего будут проблемы с индексацией.

ОтветитьОтветить

@Yaroslav.CH: Честно говоря не встречал такого динамического меню, чтобы элементы под меню подгружались AJAX-ом или формировались через JS. И не вижу в этом никакого смысла!

ОтветитьОтветить

@Шамшур Иван: видимо, просто не доводилось сталкиваться :) Тем не менее, их количество очень велико — достаточно просмотреть плагины к популярным CMS или же готовые скрипты меню.

Что касается — «есть ли смысл», с точки зрения индексации — действительно никакого, а с точки зрения внешнего вида, зачастую есть. Поэтому и нужно выбирать между «шашечки» или «ехать» :)

Точно такой же выбор, например, стоит между «красивое меню на флеше» или «попроще, но с индексацией». И так далее.

ОтветитьОтветить

А Вы оставили комментарий? Ваше мнение очень важно!

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