|
||||||||||||||
|
||||||||||||||
Когда вы видите одну, или все эти характеристики, - вы имеете дело с сайтом на фреймах. В наши дни где-либо в интернете или хороших технических руководствах вы сможете много прочесть об оптимизации поисковых машин (SEO). Там изначально утверждается, что использование фреймов в любом web-сайте тождественно его гибели, попросту потому что большинство поисковиков не будут индексировать сайт, так как поисковому пауку это не по силам. Такое утверждение в сущности как правильно так и нет. Оно НЕВЕРНО, если технология использована правильно. Но в то же время, оно совершенно верно, если фреймы, по сути, использованы неправильно и поэтому недружественны поисковой системе. К счастью, у последнего обстоятельства существуют обходные пути. |
Новости
швейцарские часы женские по привлекательным ценам
|
При правильном применении сайт с фреймами может быть «почти» так же хорош, как и сайт без них. И возможно, предоставит результаты, которые могут быть признаны приемлемыми, будучи сравнены сравнены с теми, что сайт давал ранее. Тем не менее, если ваш сайт все еще не разработан, я бы предложил вам держаться подальше от фреймов!
Почему поисковые машины ненавидят сайты с фреймами? В этом разделе я поясню главные причины, по которым большинству фреймовых web-сайтов не удается быть правильно проиндексированным в основных поисковых машинах, использующих кроулеры (crawler), как напр. Google. Когда мы обращаем внимание на HTML код обычного сайта с фреймами, мы видим TITLE-tag, META-tags, а затем FRAMESET-tag. Большинство роботов поисковых машин как, например Google Bot и Freshbot запрограммированы полностью игнорировать определенный HTML код и, вместо этого направлены на индексирование собственно тела текста на рассматриваемой странице.
Но в типичном framed website, попросту нет тела текста, с которого может начать кроулер. Это вызвано тем, что текст расположен на других страницах сайта, которые мы называем внутренними. Если вы желаете понять, что видят поисковики, попадая на сайт, использующий фреймы, попробуем изложить это так:
«В настояший момент вы используете web-броузер, который не поддерживает фреймы. Пожалуйста, настройте ваш web-броузер для того, чтобы видеть данную страницу».
Вот небольшой тест, доказывающий, что сказанное мною - правда. Пока вы за клавиатурой, постарайтесь осуществить поиск на Google по следующему запросу: "does not support frames"(не поддерживает фреймы); и вы обнаружите около 2 800 000 web-сайтов, которые найдет Google! Это же сколько выкинутых web-страниц, которые могли принести МНОЖЕСТВО продаж…
Для того, чтобы справиться с проблемой, думайте, как вы используете потерянное пространство, которое может эффективно включить в себя ключевые слова и словосочетания, добавить туда немного основного текста, богатого тематикой продажи, - все это здорово поможет улучшению ранжирования ваших сайтов c фреймами в поисковиках.
Основные недостатки сайта, построенного с применением фреймов, следующие:
Честно говоря, есть очень мало задач, которые нельзя решить без использования фреймов. Первоначально введенные для того, чтобы облегчить создание механизма навигации по сайту, на данный момент они, по-моему, ясно показали, что не справляются с этой задачей. Для этой цели гораздо лучше подходит технология SSI.
Тем не менее, в каких случаях оправдано их применение?
Но есть один удачный способ применения фреймов - создание системы помощи для сложных сайтов. В этом случае очень удобно открывать новое окно, где уже и используется фреймовая структура. Это очень похоже на встроенную систему помощи Windows.
Если все же решено применять фреймы, то давайте разберемся с тем, как правильно писать HTML-код и работать с ними.
Любая страничка, содержащая фреймы, начинается с написания специальной странички-контейнера, которая сама не показывается, но содержит в себе указания для организации фреймовой структуры и ссылок на участвующие файлы. Вот, как она выглядит:
index.htm - страничка контейнер
<html> <head> <title>Frame page</title> </head> <frameset cols="160,*"> <frame src="left.htm" name="menu" scrolling=no noresize> <frame src="right.htm" name="content" scrolling=no noresize> </frameset> <noframes> <p>Ваш броузер не поддерживает фреймы, пожалуйста, обновите его.</p> </noframes> </html>
И сразу напишем код для страничек, входящих в фреймовую структуру.
left.htm - страничка, содержащая меню
<html> <head> <title>Menu page</title> </head> <body> <a href="topic_1.htm" target="content">topic #1</a><br> <a href="topic_2.htm" target="content">topic #2</a><br> <a href="topic_3.htm" target="content">topic #3</a><br> <a href="topic_4.htm" target="content">topic #4</a><br> </> </html>
right.htm - страничка, в которой будут отображаться основные статьи сайта.
<html> <head> <title>Content page</title> </head> <body> <p>Эта страничка будет грузиться по умолчанию, и на ней обычно размещают приветственный текст.</p> </> </html>
Как можно заметить, страничка-контейнер отличается от обычной лишь тем, что вместо тега <body> мы используем тег <frameset>, в котором непосредственно и определяются фреймы. Но сам по себе он описывает лишь количество и размеры фреймов и не описывает странички, входящие во фрейм. Это можно сделать при помощи тега <frame>. Давайте-ка подробнее разберем наш пример:
<frameset cols="160,*"> <frame src="left.htm" name="menu" scrolling=no noresize> <frame src="right.htm" name="content" scrolling=no noresize> </frameset>
В параметре тега <frameset> мы определяем, что страничка будет разделена по вертикали и состоять из двух колонок (если нам нужно разделить окно по горизонтали, то тогда вместо параметра cols, нужно применять параметр rows).
В принципе, колонок может быть и больше, чем две. Их количество определяется значением параметра cols (rows), которое представляет собой цифры и знаки, разделенные запятыми. Каждое значение определяет ширину колонки. Ширина, как, впрочем, и высота, может задаваться в процентах, пикселах и при помощи знака звездочки, обозначающей - "все оставшееся пространство". Вот примеры определения фреймов:
<frameset cols="200,*"> - 2 колонки, одна из которых имеет фиксированную ширину в 200 пикселей.
<frameset rows="25%, 50%, 25%"> - 3 строчки, высоты которых определены в процентах от высоты окна броузера.
<frameset rows="*, 2* ,*"> - то же самое, что и предыдущая строчка, но записанная при помощи звездочек. Цифра перед звездочкой указывает количество повторов. Ширина одной звездочки определяется как среднее арифметическое между всеми звездочками в строке с учетом коэффициентов перед ними.
Как я уже сказал выше, тег <frameset> является контейнером, и в качестве его элементов должны быть написаны строчки для каждой колонки (строки) при помощи тега <frame>. Вот пример описания:
<frame src="left.htm" name="menu" scrolling=no noresize>
Обратите внимание на параметр name - он является очень важным и позволяет нам манипулировать с фреймом. Как же это осуществляется? Внимательно рассмотрим файл left.htm, в котором содержится наше меню. В самом файле нет ничего необычного, а вот в написании ссылок на странички есть. Если присмотреться, то можно заметить, что добавился еще один параметр target="content" - вот именно он и отвечает за то, в каком окне будет загружаться файл по ссылке:
<a href="topic_1.htm" target="content">topic #1</a>
В качестве значения параметра указывается то самое имя, которое мы присвоили нашему фрейму. Таким образом, мы можем открыть любую ссылку из любого окна и в любом окне. Достаточно лишь знать его имя.
Кроме имен, определяемых непосредственно нами, есть часть уже определенных, и наиболее важные из них следующие:
До сих пор в качестве элементов контейнера <frameset> мы использовали простые теги <frame>, но мы также можем использовать и контейнер <frameset>. В этом случае мы получаем т.н. вложенные фреймы. Вот пример:
<frameset rows="40,*"> <frame src="up.htm" name="logo" scrolling=no noresize> <frameset cols="160,*"> <frame src="left.htm" name="menu" scrolling=no noresize> <frame src="right.htm" name="content" scrolling=no noresize> </frameset> </frameset>
В данном случае определены три фрейма - один горизонтальный вверху, который мы можем использовать, например, как логотип. И два вертикальных, которые разделили второй горизонтальный фрейм.
В общем случае можно использовать сколько угодно фреймов (в пределах разумного, конечно).
Небольшое замечание. В принципе, в качестве источника фрейма может быть указана не HTML-страничка, а рисунок в формате GIF или JPEG, но применение такого механизма считается дурным тоном.
Теперь о подводных камешках. Самый большой из них следующий - Netscape Navigator не точно соблюдает ширину фрейма в пикселах и может принимать лишь некие кратные шаги. Поэтому в случае, если возникла такая проблема, нужно просто подкорректировать ширину фрейма под стандарты Netscape.
Кстати, рамку фрейма можно убрать, указав параметр frameborder=0.
И еще одно! Для броузеров, которые не понимают фреймов, есть специальный тег <noframes>. Как раз он и определяет, что увидит пользователь с броузером, который не поддерживает фреймов. Обычно в этом месте либо размещают надпись, подобной той, что написал я, либо указывают список на основные раздела сайта, чтобы человек все же смог просмотреть странички.
Собственно, есть HTML tag, называемый noframes-tag который, будучи правильно применен, станет эффективно предлагать, что именно требуется паукам поисковика, а именно: важные текстовые данные, необходимые для правильного включения рассматриваемой страницы в свой индекс.
Если кому-то действительно требуется, по какой то причине использовать framed site, тогда очень важно употребить noframes-tag. Несомненно, проведение всех этих нужных действий будет полезно лишь в том случае, если информация на сайте тщательно изложена и основательно применяет важные ключевые слова и словосочетания. Еще раз повторю, что ничто не будет важнее тщательной разработки и анализа ваших «правильных» ключевых слов и словосочетаний, полученных с помощью Wordtracker или же анализа Overture.
Всегда помните, что если вы оптимизируете сайт по неверным ключевым словам, вы может и получите высокое ранжирование, но по терминам, не имеющим ничего общего с тем, что предлагает ваш сайт! Вы станете получать запросы по продуктам или услугам, которые ваша компания не предлагает!
Итак, вся вышеизложенная информация касается только главной страницы сайта. Теперь и остальные страницы вашего сайта нуждаются в правильной индексации.
Большинство web-дизайнеров и программистов, использующих фреймы, делают это в основном по причинам облегчения навигации, хотя те же самые результаты могут быть достигнуты другой, более дружественной технологией для поисковых машин как, например, использованием таблиц. Там вы просто включаете ваши навигационные ссылки внутри таблиц, и дело сделано!
Единственное, что действительно важно - в точности удостовериться, что все страницы вашего сайта оптимизированы подобным образом, даже если вам не нужно обращаться к noframes-tag. Если же все эти внутренние страницы правильно оптимизированы, после одного или двух ежемесячных танцев Google, вы начнете видеть ваш сайт в "хорошей" выдаче.
Фреймовые сайты созданы по старой, изжившей себя технологии и конечно, не могут являться лучшим. Они имеют серьезные ограничения, во всяком случае, так считают поисковые машины. Выстраивая совершенно новый сайт, или переделывая старый, всегда лучше всего воздерживаться от фрейм-технологии.
Все же, если вам действительно потребуется, оптимизация сайта на фреймах может быть успешно произведена, если тщательно следовать вышеприведенным примерам и технике. Помните, что ключом ко всему является noframes-tag. Будучи тщательно применен, этот тег может устранить множество барьеров, являющихся подлинным наказанием сайтов с фреймами.
Многие начинающие web-мастера используют при оформлении своих сайтов (страничек и пр.) фреймы. Лично я этого не одобряю (но это уже другая история), но когда-то и сам пользовался ими. И какие-же у меня возникали тогда проблемы?
Первая - это когда одним щелчком по ссылке нужно обновить сразу два (три, да сколько угодно) фрейма. Вторая - это проблема при работе с поисковыми машинами. А теперь поподробней...
Допустим, у Вас есть два фрейма, один в левой части с меню, другой с содержанием страницы. И вам понадобилось, чтобы при щелчке на ссылке под названием, например, "Статьи", обновилось содержимое и фрейма меню, выведя туда файл с более развернутым меню, и, естественно, содержимое фрейма с содержанием (извините за каламбур).
В общем случае Ваша фреймовая конструкция может выглядеть следующим образом:
<frameset cols="150, *">
<frame src="menu.htm" scrolling=auto name="menu">
<frame src="text.htm" scrolling=auto name="text">
</frameset>
То есть заметьте, что для того, чтобы решить поставленную задачу, совсем необязательно задавать фреймам имена... Хотя имена все равно нужны для установки цели ссылки (атрибут TARGET).
Далее - пример ссылки, при щелчке на которой происходит обновление наших двух фреймов.
<script language="JavaScript">
<!--
function update_all()
{
parent.frames[0].location = "new_menu.htm";
parent.frames[1].location = "new_text.htm";
}
// -->
</script>
<a href="javascript:update_all()">Click me!</a>
И вот теперь-то и происходит волшебное обновление двух фреймов. Причем, заметьте, можно было сделать так, чтобы наши два фрейма обновлялись из третьего. Еще можно было-бы передавать имена загружаемых файлов в функцию и пр. Но этот пример - только иллюстрация возможностей по работе с фреймами.
И еще: когда Вы индексируете свой сайт, использующий фреймы, не замечали одной проблемы? Человек, придя к Вам с поисковика, попадает не во фреймовую структуру, а просто на отдельную страницу. Почему? Поисковые машины индексируют страницы, и им неведома структура фреймов Вашего сайта. Для того, чтобы обойти эту проблему, можно воспользоваться следующие конструкцией для каждой страницы Вашего сайта (кроме главной, содержащей описание набора фреймов):
<script language="JavaScript">
<!--
function check_frames()
{
if (parent.frames.length==0)
parent.location="index.htm";
}
// -->
</script>
body onLoad="check_frames()" - эта конструкция тела документа.
Конечно, и эту конструкцию можно усложнять и усовершенствовать, но это уже дело Ваших рук.
seo & website usability | inet | os faq | hardware faq | memory | video | cpu | hdd | mainboard faq | printer & scaner | modem | mobiles | hackzone |
На главную | Cookie policy | Sitemap