15

Мы создали поисковую систему для вакансий. Из-за скорости и хорошего пользовательского опыта мы использовали архитектуру «Single Page Application» (SPA). Мы знаем, что для SPA-архитектуры это вызов для SEO, поэтому мы сделали довольно много оптимизации, чтобы включить SEO. Хотя Google индексирует наши страницы, наш рейтинг в Google очень низок, и мы просим предложений об этом. Мы следовали Google’s recommendations, но без удовлетворения.Как улучшить SEO для одностраничного приложения

СПА не может быть проиндексирован Google-ботом напрямую, так как бот Google не выполнит javascript на стороне клиента. Без javascript наш сайт вряд ли содержит какой-либо контент, потому что данные считываются асинхронно в json-формате, и большая часть HTML отображается на клиенте. Отрисовка выполняется каркасом под названием «knockout», который позволяет привязывать шаблоны HTML к объектам javascript. Различные страницы в SPA можно адресовать с помощью URL-адреса на стороне клиента. Чтобы сделать эти страницы доступными для чтения в Google, наши URL-адреса на стороне клиента содержат «#», за которым следует «!». Этот синтаксис «hash-bang» запускает робота Google, чтобы переписать URL-адрес на специальный URL-адрес «серверной стороны». Когда этот специальный URL-адрес посещается на нашем сервере, мы запускаем «безгласный браузер» для отображения страницы на сервере. Полный HTML-синтаксис (после javascript-выполнения) затем отправляется клиенту. Этот так называемый HTML-снимок может использоваться ботом Google для индексации страниц. Чтобы сообщить Google, какие страницы присутствуют в нашем SPA, мы предоставили файл sitemap.xml с разными URL-адресами, которые можно посетить. Когда мы просим Google показать страницы, индексированные с нашего сайта, мы видим, что бот Google посещал и индексировал наши страницы. Поэтому наш вывод состоит в том, что технически мы хорошо работали, но ни одна из этих страниц не имеет рейтинга, достаточно высокого, чтобы появляться в обычных поисковых запросах Google. Мы не уверены, связано ли это с тем фактом, что мы используем архитектуру SPA, но в результате наши страницы не могут быть найдены.

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

+0

Если Google будет индексировать страницы, конечно, ваш сайт хорошо, так что, скорее всего, будь то другие проблемы, связанные с SEO, которые являются проблемой, я бы подумал. –

+0

Какой у вас адрес сайта? –

+0

Мы используем символы #! (Hashbang), засоряющие URL-адреса, например. www.jobbsquare.nl/#!en/search. Мы знаем о технологии Java Script «pushStrate()», которая изменяет путь URL-адреса, который отображается в адресной строке пользователя. Это решение больше подходит для клиентов, чтобы вернуть красивый URL-адрес, но не для Googlebot, который запрашивает непосредственно маршрут _escaped_fragment_. Я беспокоюсь, что Google индексирует наш сайт только на sitemap.xml. –

ответ

11

Для решения этой проблемы вам нужно несколько вещей:

  1. Real URL. Real <a> теги с hrefs, указывающие на них.
  2. вам необходимо иметь сервер генерирует страницы укажи с JSON по настойчивой просьбе
    • это наиболее легко выполняется с помощью PhantomJS или аналогичного.
    • Если вы предполагаете, что контент изменен реже, чем его прочитанный (то есть наиболее успешные сайты), вы можете использовать очередь для создания этих страниц в статических файлах
    • затем сообщите веб-серверу, чтобы отправить индекс.HTML если запрашиваемый файл не существует

Для «мягких запросов» (они нажимают на ссылку, которую вы используете JSON/AJAX для покрытия), он будет работать, как это делает в настоящее время.

Для жестких запросов (они нажимают на ссылку с другого сайта, нажмите клавишу F5, или это Googlebot сканирования ваших URL-адресов), вы посылаете им готовую версию, которая:

  1. повышает производительность загрузки страницы SEO
  2. увеличивается (который также бонус SEO)
  3. не требует какой-либо сложная обработки сервера, так как страница уже построена
+0

согласны полностью, есть некоторые услуги, которые обрабатывают preRednering для вас (brombone.com, getseojs.com, prerender.io), или если вы хотите сделать это самостоятельно https://github.com/prerender/prerender или в случае, если кто-то использует Backbone airbnb rendr https://github.com/rendrjs/rendr – webstrap