Якорь AJAX и SEO обходной путь? - PullRequest
0 голосов
/ 11 ноября 2009

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

Я подумал о том, чтобы сделать какой-то обходной путь. Весь код JS остается тем же, но эта маленькая вещь (я из JQuery, извините):

$('a').live("click",function(){
    var lnk = $(this).attr("href");
    document.location.hash = lnk;
    return false;
})

И затем вы заменяете свои якорные ссылки в теле обычными ссылками, создаете соответствующие простые страницы (все еще содержащие все коды JS) для пользователей, не являющихся JavaScript, и поисковых систем. Для обычных посетителей у вас были бы простые ссылки, конвертированные в хеши на лету, и контент AJAX, загружаемый немедленно. Для тех, кто пытается загрузить определенные страницы, найденные через поисковую систему - они это сделают, и после этого посетитель продолжит перемещаться с помощью ajax-навигации ... каким-то образом (помните, эти простые прямые страницы все еще содержат код JS).

Я просто хочу убедиться, что мои предположения верны. Они?

Обновление: Плохо то, что когда пользователь напрямую заходит на какую-то внутреннюю страницу с помощью ex. / Портфель адрес, он будет затем продолжать / портфолио # контакты или аналогичные URL, которые не так красивы, но все еще работают (я имею в виду / портфолио # контакты покажет контакты).

Ответы [ 3 ]

1 голос
/ 11 ноября 2009

Это не очень хороший подход, в основном потому, что в конечном итоге эта функция будет срабатывать для события click для каждой ссылки, даже для тех, где вы не хотите использовать подход AJAX для загрузки контента, например, ссылок на другие сайты или на javascript:....

Если вы поместите все ваши ссылки AJAX-y в один и тот же класс или используете другой атрибут для их различения, а затем адаптируете селектор jQuery, который вы там используете, он будет работать и будет хорошим подходом, потому что не только будет ли он оптимизирован для SEO, но он также обеспечивает постепенное снижение производительности, то есть ваши пользователи по-прежнему смогут получать доступ к контенту, даже если они работают в среде, где JavaScript не разрешен.

Кроме этого, и если SEO является вашей единственной задачей, вы можете найти в Интернете, что такое файл sitemap.xml и как его использовать. В Википедии есть статья , которую стоит прочитать.

0 голосов
/ 05 августа 2010

Эй, приятель, ты, наверное, хочешь проверить jQuery Ajaxy . Он изящно модернизирует веб-сайты в многофункциональные ajax-приложения, поэтому ваш веб-сайт по-прежнему работает для пользователей с ограниченными возможностями SEO и Javascript.

Вы можете увидеть эту функцию в действии на следующем веб-сайте . Обратите внимание, что все ссылки такие же, какими они были бы, если веб-сайт не является приложением Ajax - и они все еще работают, если вы щелкнете правой кнопкой мыши и откроете в новом окне!

Эта функция подробно описана на демонстрационной странице. Вы также можете найти другие примеры и инструкции по использованию там, чтобы: http://www.balupton.com/sandbox/jquery-ajaxy/demo/

В целом его использование на удивление просто и понятно (особенно учитывая, что оно позволяет вам делать!), А поддержка просто фантастическая.

0 голосов
/ 11 ноября 2009

Звучит очень хорошо ... только я бы предложил, чтобы обратный вызов на вашем таймере 300 мс также вызывался внутри события, которое вы указали выше, так что вы получите мгновенный результат при нажатии на ссылку (а также пользователь может перейти по ссылке адресную строку и получите тот же эффект)

...