В первой части статьи рассказывалось, как сделать, чтобы бот проиндексил ваш сайт и выдавал его первым-третьим в результатах поиска.
При этом не были затронуты некоторые моменты, на которые мы обратим внимание сейчас.
Момент первый.
Что делать, если ваш сайт использует фреймы?
Есть такой известный анекдот:
«Книга Windows для чайников. Глава первая. Надо было ставить Unix.»
С фреймами то же самое. Замечание первое - от фреймов надо отказываться.
Ну, например, то же меню, без которого автор жить не может, можно писать каждый раз на каждой странице, а не пихать его в отдельный файл. Впрочем, как отказаться от фреймов - это отдельный разговор, и сейчас мы его касаться не будем.
Вообще то, я полагала, что все давно поняли, что фреймы должны уйти в прошлое, и отказались от них, однако в форуме со мной стали спорить по данному вопросу, потому я и пишу все это.
Причин, по которым стоит отказаться от фреймов, много.
Во-первых, традиционное использование фреймов - для вынесения меню навигации в отдельный файл, делает дизайн сайта грубым и неизящным.
Извращения с изменением цвета, ширины и прочих характеристик полосы прокрутки не меняют положение координально, да и работают чаще всего только в одном из двух наиболее распространенных браузеров (либо под MS Internet Explorer, либо по Netscape Navigator), причем только старших версий. А как говорит корифей сайтостроительства Артемий Лебедев, если для просмотра вашего сайта пользователь должен отвечать каким-то определенным вами условиям, будь то высокая скорость соединения, определенное разрешение экрана или последняя версия конкретного браузера, то это не есть правильно. Пользователь не обязан менять привычную ему конфигурацию машины лишь для того, чтобы иметь счастье любоваться вашим творением. Это задача web-маза обеспечить корректное отображение его детища всеми или подавляющим большинством пользователей.
Например, у меня именно по этой причине рабочие версии сайтов тестируются на IE 4.0 и NN 4.73, а не на IE 5.5 и NN 6.0. Ибо старшие братья-браузеры поймут код, написанный для младших, но не наоборот.
Конечно, если ваш сайт сделан для кучки близких друзей, об остальных пользователях Инета можно и не беспокоиться. Но тогда на кой вам индексация сайта поисковиками?
Вторая причина, по которой следует оказаться от использования фреймов - это нагрузка на сервер, а точнее на канал связи.
При запросе фреймового документа серверу посылается, не один, а как минимум 3 запроса - запрос на структурный файл и запрос минимум на 2 (а то и больше) файла, которые будут размещены в структурном.
Поскольку фреймы сейчас используются в основном на непрофессиональных сайтах, пользующихся часто услугами бесплатного (читай: глючного и/или перегруженного) хостинга, повышение количества запросов в единицу времени не в интересах владельца сайта. Например, один документ может загрузиться во фрейм, другой - нет.
Если меню навигации расположить в каждом файле, это увеличит вес каждого файла на 2 кб, а если вынести меню навигации в отдельный файл, его размер (вместе со служебной информацией, тегами <html><head><title>title</title></head><body bgcolor="#ffffff"> и т.д.) будет не 2 кб, а, скажем, 5 кб.
Итого, по сети будет литься, на один файл размером 10 кб, а 3 файла, размером, например, 3 кб (структурный), 5 кб (меню) и 8 кб (основная инфа).
Ну, и наконец, причина третья, побуждающая отказаться от фреймов -
поисковые боты не любят фреймы всеми фибрами своей ботовской души.
Разберем, почему бот не любит фреймы.
Предположим, бот зашел на фреймовый документ:
<html>
<head>
<title>Самый классный сайт в Инете по компьютерным играм</title>
<meta name="description" content="Лучшие компьютерные игры">
<meta name="keywords" content="игры, компьютер, игра, компьютерные игры, лучшие игры">
<meta name="Robots" content="index, follow">
</head>
Из всего выше написанного бот прочтет title, понюхает остальное, не увидит там для себя ничего интересного (ибо то, что в description и keywords он давно уже не учитывает при индексации), обидится и возможно уйдет по follow на menu.html и body.html. Повторяю - возможно! А возможно и нет.
Главное, что бот пометит для себя, что данный ресурс состоит только из title'a и потому никакого интереса не представляет!
А если вы пропишите:
<meta name="revisit-after" content="20 days">
его уверенность может еще больше укрепиться.
Предположим лучшее - приходит бот на menu.html и видит:
<textarea cols=50 rows=14>
<html>
<head>
<title>Лучшие компьютерные игры </title>
<meta name="description" content=" Самый классный сайт в Инете по компьютерным играм">
<meta name="keywords" content="игры, компьютер, игра, компьютерные игры, лучшие игры">
<meta name="Robots" content="index, follow">
</head>
<body>
<a href="body1.html">Игра 1</a>
<a href="body2.html">Игра 2</a>
<a href="body3.html">Игра 3</a>
</body>
</html>
Опять-таки, кроме title'a и слов Игра 1, Игра 2, Игра 3, ничто не греет ботовскую душу. А запихнуть в ссылки более подробное описание может не позволить желание не использовать скроллинг.
Что сделает бот? Возможно (!), пойдет на body1.html, body2.html и body3.html, отметив для себя, что и этот документ особого интереса не представляет.
Дальше, приходит бот на body.html или body1.html (body2.html, body3.html) и наконец видит, что документ чего-то стоит! Текст есть, хотя бы немножко (а для Яндекса это важно), слова, имеющиеся в title, встречаются и в body (повышается релевантность). Ну, и представьте себе, из всех пройденных документов бот возьмет и проиндексит только body[1-3].html.
Как вам такое? Не встречалось ни разу? А мне так попадалось.
Найдется документ по запросу, придет на него пользователь и решит, что больше тут ничего нет (ни меню, ни ссылок). Не каждый же догадается в location стереть body.html и набрать index.html. А даже если и догадается, уважение и доверие к инфе на сайте потеряно, ибо сайт слеплен непрофессионально.
Скриптинка определит, открыт ли документ во фрейме, и если не - загрузит структурный документ.
И все же это не лучший способ.
Скриптину надо пихать в каждый документ, что увеличивает его размер. Либо в каждый документ пихать ссылку на эту скриптину, что повышает нагрузку на сервак (на канал связи), особенно, если в документ грузятся и другие скрипты. Кроме того, скриптина может не подгрузится, и пользователю выдастся ошибка. А это не редкий случай при плохой связи.
Другая проблема того, что бот проиндексил только файлы с текстом, проигнорировав структурный файл и файл с меню.
Пользователь пошел по ссылке, которую ему дал поисковик, на body3.html, а его перекинуло на index.html, и в индексе прописано, что в основное окошечко должен грузиться body.html, а не body3.html. Получается, что пользователь пошел почитать про Игру 1, а его перекинуло на Игру 2, которая ему вовсе не интересна. Это не хорошо само по себе, и может отпугнуть пользователя с другой стороны.
Вас никогда не раздражало, что вы кликаете на найденном поисковиком документе, а попадаете совсем не туда, куда бы хотели? Вот и других так же.
Итак, фреймы - это некрасиво, нерационально и непривлекательно для бота.
Но если все-таки я не убедила вас не использовать фреймы, открою маленький секрет, впрочем, давно известный.
Боты очень любят то, что находится между тегами <noframe></noframe>.
Итого, если вы не смогли заставить себя отказаться от фреймов, приманить бота можно так:
Если вероятность того, что бот пройдет по ссылкам в структурном фреймовом файле (<frame src="url">)достаточно велика, то ссылки, загнанные в скрипты бот совсем не понимает.
А между тем popup'ы достаточно частый случай и многие авторы желают, чтобы эти документы были проиндектированы.
Как ни парадоксально, особенно любят делать линки с помощью JS те авторы, которые используют фреймы. :)) Ибо JS позволяет по одному клику загрузить два (и более) разных документа в разные окошки фреймов.
Если не предпринять мер, то бот вряд ли когда-нибудь доберется до этих документов.
Ну, меры в данном случае простые и вы о них уже наверняка догадались - нужно дать альтернативную простую ссылку. Проще это сделать однопиксельным прозрачным гифом в неприметном месте сайта, либо использовать конструкции, описанные в первой части настоящей статьи (цвет ссылок одинаковый с цветом текста, свойства hide и hidden DHTML и т.д.).
Момент три.
Если на сайте используется редирект (перенаправление).
Чаще всего, редирект делается с индексных страниц на новостные, либо на зеркало сайта, расположенное на другом, более работоспособном домене (скажем, когда сайт переезжает). Так сделано у Батвы ( попробуйте набрать http://www.batva.f2s.com ).
Правда, в обоих случаях (и у Батвы, и у Мелкософта), редирект сделан не так, как я буду описывать ниже. :)
Используя только конструкции, исполняемые на стороне клиента (скажем, исполнение на стороне сервера вам недоступно, или вы не умеете этого делать), можно сделать редирект двумя способами.
Первый способ - java-скриптом, как описывалось выше.
Полагаю, не надо повторять, что бот не идет по таким ссылкам. Чтобы он прошел, нужно делать альтернативную простую ссылку в теле документа.
Следует сказать, Яндекс грозится, что распознает редирект, созданный java-скриптом и банит такой документ, но если честно, то я этого не замечала. Впрочем, может, у кого-то есть другой опыт.
Второй способ - редирект с помощью директивы refresh тега meta.
Если задать число секунд равным 0, редирект произойдет практически мгновенно. Но! В этом же случае бот сочтет себя оскорбленным и скорее всего не пойдет по этой ссылке! Он даже может добавить такой документ в черный список.
А потому, такую конструкцию лучше не использовать. Если же вы все-таки ее используете, то документ, с которого делается редирект, должен иметь информативный body (чтобы боту было стыдно его банить), там же должны быть традиционным образом продублированы важные ссылки.
Кстати, по причине нелюбви ботов к редиректам, многие авторы делают его не автоматом, а в тексте, примерно так: «Документ переехал. Нажмите сюда»