Из огромного количества сайтов сети многие используют фреймы для тех или иных целей. Я видел много таких сайтов и каждый раз смотрел
исходный код, узнать правильно ли реализована эта функция. Да фреймы можно использовать и с толком для сайта. С другой стороны неправильная реализация фреймов - огромная ошибка. Использование фреймов создает
проблемы для поисковых серверов, что, в конечном счете, отражается на
положении вашего сайта в рейтинге поисковых систем. Существуют и другие
проблемы и только несколько из них перечислены здесь:
1. Фреймы сложны в использовании. Сайт с фреймами должен быть идеален, иначе его не стоило и делать.
2. Теряется ценное экранное пространство, фреймы и полосы прокрутки уменьшают рабочее пространство.
3. Они могут запутать начинающих пользователей интернета.
4. Хотите верьте, хотите нет, но есть еще люди, пользующиеся браузерами, не поддерживающими фреймы. Некоторые веб-мастера специально создают
копию сайта, но уже без фреймов.
5. Использование фреймов приводит к большим проблемам при индексации сайта поисковыми роботами. На данный момент только два поисковых сервера могут нормально работать с фреймами (Alta Vista и Infoseek). Да они одни из самых крупных, но что же
делать с остальными? При индексации робот "увидит" только пустую страницу, если только прямо не указать, что именно стоит смотреть. Так что проблему можно преодолеть. Страница с фреймом должна содержать секцию Noframes с ссылкой на карту сайта, откуда можно перейти на любую другую страницу.
Html-код должен выглядеть римерно так:
<html>
<head>
<meta name="description" content="Описание сайта.">
<meta name="keywords" content="ключевые слова">
<meta name="Author" content="RB Associates Web Page Designs and Development">
<meta name="Classification" content="Web Page Designs,
Website Hosting, Personal Home Pages">
<meta name="ROBOTS" content="ALL">
<title>Название страницы</title>
</head>
<frameset framespacing="0" border="false" frameborder="0"
cols="140,*">
<frame name="contents" target="main" src="home.htm"
scrolling="auto">
<frame name="main" src="indexmain.html" scrolling="auto"
noresize>
...<noframes>
<body>
<p>Если вы читаете данное сообщение, то ваш браузер
к сожалению не поддерживает фреймы. Но не расстраивайтесь,
все страницы доступны с карты нашего сайта.</p>
<p><a href="contents.html">Карта сайта</a> </p>
</body>
</noframes>
</frameset>
</html>
Сейчас стандартом является лишь надпись: "Ваш браузер не поддерживает фреймы", не оставляющая серферу никакой альтернативы кроме кнопки "Назад". С другой стороны наличие ссылки на карту сайта позволит пользователям изучить сайт, а поисковым роботам успешно его проиндексировать.
6. Также необходимо поместить средства навигации по сайту на каждой его странице, на случай если кто-то зайдет на ваш сайт НЕ через главную страницу и поверьте мне, таких будет не мало! Проблема решается с помощью JavaScript. Вписав код между <head> и </head> вы можете быть уверены, что у 99% посетителей все-таки загрузится фрейм с навигацией, хотя у некоторых JavaScript отключен или браузеры без поддержки JavaScript. Чтобы проверить работоспособность кода, откройте страницу в новом окне (правый клик на нужном фрейме "Open Frame In New Window").
Вот код, замените index.html на имя страницы с фреймом:
Причина использования JavaScript вместо meta-refresh проста, поисковые серверы часто игнорируют страницы с meta-refresh. Как все это работает можно осмотреть на http://www.rbdesigns.com. Попробуйте загрузить любую часть страницы по отдельности (открытьв новом окне) и вы автоматически попадете на главную страницу.
Я не говорю, что фреймы плохи, иногда они просто необходимы. Как, например на моем сайте, где они помогают создавать общую страницу с сайтами наших партнеров. По-моему профессиональному мнению фреймы хороши, когда они необходимы и когда реализованы правильно. Если проще то, пожалуй, стоит сказать так: "Если фреймы вам не нужны, не используйте их".