AngularJS / AJAX сканеры приложений и поисковых систем

У меня есть веб-приложение, в котором интенсивно используется AngularJS / AJAX, и я бы хотел, чтобы его могли просматривать Google и другие поисковые системы. Насколько я понимаю, мне нужно сделать что-то особенное, чтобы это работало, как описано здесь: https://developers.google.com/webmasters/ajax-crawling

К сожалению, это выглядит довольно неприятно, и я бы не стал вводить хеш-теги. Что я хотел бы сделать, так это предоставить статическую страницу роботу Googlebot (на основе User-Agent), либо напрямую, либо отправив ему перенаправление 302. Таким образом, веб-приложение может быть таким же, и весь обходной путь робота Googlebot красиво изолируется, пока он больше не нужен.

Меня беспокоит то, что Google может ошибочно предположить, что я пытаюсь обмануть робота Google, в то время как моя цель - помочь ему. Что вы, ребята, думаете об этом подходе, и что бы вы порекомендовали?

4 ответа

Решение

По состоянию на май 2014 года GoogleBot теперь выполняет JavaScript. Проверьте WebmasterTools, чтобы увидеть, как Google видит ваш сайт.

http://googlewebmastercentral.blogspot.no/2014/05/understanding-web-pages-better.html

Изменить: Обратите внимание, что это не означает, что другие сканеры (Bing, Facebook и т. Д.) Будут выполнять Javascript. Возможно, вам все равно придется предпринять дополнительные шаги, чтобы эти сканеры могли видеть ваш сайт.

Посмотрите на эти ссылки, и это даст вам хорошее направление:

  • Настройте собственную службу Prerender с помощью открытого исходного кода Prerender.io:

      https://prerender.io/
    
  • Используйте другой существующий сервис, такой как BromBone, Seo.js или SEO4AJAX:

      http://www.brombone.com/
      http://getseojs.com/
      http://www.seo4ajax.com/
    
  • Создайте свой собственный сервис для рендеринга и предоставления снимков для поисковых систем. Прочтите эту статью. Это даст вам общую картину:

      http://scotch.io/tutorials/javascript/angularjs-seo-with-prerender-io
    

Недавно я натолкнулся на этот отличный пост от yearofmoo, в котором подробно объясняется, как сделать ваше приложение Angular оптимизированным для SEO. В сущности, когда боты увидят URI с хеш-тегом, они узнают, что это страница с ajaxed, и попытаются достичь того же URI, заменив '#!' в вашем URI с помощью "?_escaped_fragment_=". Этот альтернативный uri инструктирует ботов, что они должны ожидать, чтобы найти окончательную статическую версию страницы, к которой они обращались.

Конечно, чтобы достичь этого, вам нужно ввести хеш-теги в свой Uris. Я не понимаю, почему вы пытаетесь избежать их. Разве в gmail не используются хеш-теги?

Да, к сожалению, если вы хотите быть проиндексированы - вы должны придерживаться схемы:(Если вы запускаете приложение ruby ​​- есть жемчужина, которая реализует схему сканирования для любого стоечного приложения....

gem install google_ajax_crawler

описание того, как его использовать, можно найти по адресу http://thecodeabode.blogspot.com.au/2013/03/backbonejs-and-seo-google-ajax-crawling.html, исходный код по адресу https://github.com/benkitzelman/google-ajax-crawler

Другие вопросы по тегам