Ифреймы не являются порождением какого-то неназванного демона, как некоторые люди заставили бы вас поверить. У них все еще есть очень полезное место для веб-приложений.
Они определенно , однако, вредны для поисковой оптимизации! Я никогда не рекомендовал бы, чтобы «нормальный» общедоступный веб-сайт использовал их, если бы это не было абсолютно необходимо, особенно если бы SEO было большой проблемой.
Я бы посчитал jQuery хорошим вариантом для решения проблемы доступности. Одна из замечательных особенностей jQuery - это то, что ваш сайт легко изящно ухудшается для тех пользователей, у которых нет поисковых систем, подобных javascript.
По сути, я подхожу к новому общедоступному веб-сайту с помощью jQuery:
Создание сайта со статической навигацией. Все блоки контента, которые я обычно получаю по какому-то запросу ajax (в вашем случае, в iframe), я делаю доступным на своей странице. Форма «Свяжитесь с нами» является отличным примером - поместите ее на своей странице для пользователей, не поддерживающих JavaScript, но в конечном итоге она будет загружена с помощью ajax в модальный div для обычных пользователей. Статическая навигация гарантирует, что поисковые системы видят все. В вашем случае замените iframe на div, которые просто содержат ссылку на страницу, которую в настоящее время загружает iframe.
Добавить jQuery. Принимая по одной странице за раз, начните заменять все вхождения статических навигационных ссылок вызовами ajax для загрузки нужного контента.
Постоянно рефакторинг javascript до тех пор, пока вы не преобразуете его в сценарий, который будет работать со всей навигацией на сайте.
Примером простого изящно разлагаемого сайта является следующий (взято с сайта, над которым я работал):
$(document).ready(function() {
$("#menu a[href]").each(function() {
this.href = this.href.replace(/Index/, "Ajax");
})
.click(function() {
$.get(this.href, null, function(data) {
var $main = $("#main");
$main.hide();
$("#main").html(data);
$main.fadeIn("slow");
});
return false;
});
Этот сценарий выполняется на всех страницах сайта, заменяя любое вхождение "/ Index /" в целевых URL навигации по меню на "/ Ajax /", которое перенаправляет URL на ресурсы, которые возвращают ответы ajax, а затем добавляет обработчик щелчка, который обрабатывает добавление содержимого на страницу.
Теперь поисковые системы и пользователи не-JS могут следить за статической навигацией, а пользователи JS получают более быстрый интерфейс с некоторыми эффектами.