плюсы / минусы хеш-навигации с точки зрения SEO


15

Я работаю над приложением, которое реализует навигацию на основе событий hashchange. Содержимое в основном загружается с помощью вызовов ajax после изменения хеша (и отображается инъекциями DOM).

С точки зрения SEO - могут ли поисковые системы индексировать этот внедренный контент?
Могут ли поисковые системы переходить по моим хеш-ссылкам (ex href = "# page = 1")?

Если нет - какие-либо обходные пути, кроме статического содержания на моих страницах только по причинам SEO?

Спасибо

Я нашел несколько похожих тем на SO, но не нашел удовлетворительных ответов, так что извините, чтобы спросить снова.

jquery  ajax  seo 

Ответы:




2

Могут ли поисковые системы индексировать этот внедренный контент?

Ответ - да и нет

Нет. Если вы внедрите контент, просто изменив хэштег , то сканер не сможет проиндексировать контент. Эти обычные хэштеги предназначались для навигации по той же странице (задолго до появления AJAX), а не для изменения состояния страницы. Таким образом, чтобы предотвратить повторное индексирование одних и тех же страниц несколько раз, сканеры были специально запрограммированы на игнорирование всего, что идет после хэштега в URL.

Да, у вас есть два обходных пути:

Что касается SEO, то оба обходных пути / решения работают одинаково хорошо, если реализованы правильно. Но какой из этих двух вариантов лучше, чем SEO, - другое обсуждение .


0

Чтобы завершить ответ Legoscia ( /programming//a/11582278/1518423 ), вы можете использовать библиотеку безголового браузера на стороне сервера, чтобы передать статический html боту Google.

Поскольку вы интенсивно используете ajax, вам кажется, что вам нравится javascript, поэтому вот браузер без заголовка javascript, который можно использовать по адресу node.js: http://zombie.labnotes.org/

Надеюсь, что это работает для вас, получайте удовольствие!


0

Хотя существуют поисковые системы, поддерживающие сканирование контента ajax, традиционные URL-адреса и статическое содержимое страницы все еще более надежны для видимости поисковой системы.

Когда значительная (большая) часть страницы должна быть перезагружена, обычно желательно, чтобы содержимое ajax можно было сканировать. В таких случаях, однако, перенаправление обычно является жизнеспособной (но нежелательной) альтернативой.

Я бы предложил изначально закодировать страницу так, чтобы она перенаправляла, когда большие / существенные части страницы должны быть перезагружены ( Шаг 1 ). Это означает, что мы являемся якорем с традиционным URL <a href="/webmasters//page/1">(или чем-то похожим), а не <a href="#page=1">.

После этого напишите javascript (jQuery) для перехвата перенаправления и используйте ajax для перезагрузки части страницы, которая изменится, если страница будет перенаправлена ​​( шаг 2 ).

<a id="page1" href="/page/1">Page 1</a>
<script>
    $("#page1").click(function () {

        /*
         * Perform ajax here to replace a portion of the page.
         */

        return false;    // prevent redirection
    });
</script>

Первый шаг приводит к веб-страницам со статическим контентом и традиционным URL, которые работают даже без JavaScript, в то время как второй шаг делает веб-страницу динамической (избегая статического контента).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.