DataLife Engine > Версия для печати > Оптимизация одностраничных сайтов под поисковые системы

Кода Google и другие поисковые системы индексируют веб-сайты, они не запускают javascript. Это как бы наделяет одностраничные веб-сайты – многие из которых основаны на javascript – существенным недостатком перед традиционными сайтами.А если сайт вылетит из Google, то это может сильно отрицательно сказаться на бизнесе, и эти проблемы могут заставить новичков отказаться от разработки одностраничных веб-сайтов.Однако одностраничные сайты все-таки имеют преимущество над традиционными сайтами в поисковые системах, так как Google и другие системы осознали их проблему и необходимость. Они создали специальный механизм для одностраничных сайтов, который позволяет индексировать не только динамические страницы, но и также оптимизировать страницы под поисковых роботов.Сегодня мы хотим сосредоточить внимание на Google, но другие крупные поисковые системы вроде Yahoo! и Bing используют тот же механизм.

Как Google сканирует одностраничные сайты

Когда Google индексирует традиционный сайт, поисковый робот (Googlebot) сначала сканирует и индексирует контент в URI верхнего уровня (к примеру, www.вашсайт.com). Как только этот процесс завершается, он следует по всем ссылкам на странице и индексирует и остальные страницы. Затем он переходит по ссылкам на последующих страницах, и так далее. Таким образом, происходит индексация всего контента сайта и связанного домена.Когда Googlebot пытается индексировать одностраничный сайт, все, что он видит в HTML, — это единственный пустой контейнер (обычно это пустой тег div или body), и кажется, будто здесь ему нечего индексировать и нет ссылок, по которым можно перейти.Если бы это и было концом истории, то это было бы и концом истории одностраничных сайтов и множества других веб-приложений. К счастью, Google и другие поисковые системы осознали важность и право на жизнь одностраничных веб-сайтов, и предоставили инструменты, которые позволяют разработчикам предлагать ботам поисковую информацию даже лучше, чем это делают традиционные веб-сайты.

Как оптимизировать одностраничный сайт под поисковые системы

Первый ключ заключается в том, чтобы сделать наш одностраничный сайт доступным к сканированию и индексации, заключается в осознании того, что наш сервер способен отвечать, если поисковый робот или реальный посетитель делает запрос. Когда нашим посетителем является человек с веб-браузером, сервер должен отвечать обычным методом, но если это поисковый робот, он должен уметь возвращать страницу оптимизированной под этого робота, то есть, в том формате, в котором сайт можно заиндексировать.Если речь идет о главной странице нашего сайта, то каким образом должна выглядеть страница, оптимизированная под поисковых роботов? Прежде всего, нужно выставить основное изображение или логотип, которые будут отображаться на странице выдачи результатов. Кроме того, некоторый SEO-оптимизированный текст с описанием сайта и его предназначения, а также список HTML-ссылок только на те страницы, которые мы хотим заиндексировать в Google. На этой странице не должно быть никакого CSS-оформления или комплексных HTML-структур. Тем более здесь не должен использоваться javascript или ссылки на те области сайта, которые не обязательно или не желательно индексировать (например, страницы дисклеймера или другие страницы, на которые пользователи не должны иметь возможности попасть со страницы результатов поиска в Google). Ниже представлено изображение с примером того, как должна выглядеть такая страница. Слева изображение для веб-браузера, а справа – для поискового робота. 1389254430_1388069578_img-02-2393118

Адаптируем контент под поисковых роботов

Зачастую, одностраничные сайты ссылаются на тот или иной контент при помощи хэша (#!). Такие ссылки используются людьми и роботами по-разному.К примеру, на нашем одностраничном сайте ссылка на страницу пользователя выглядит следующим образом “/index.htm#!page=user:id,123,”. В этом случае поисковый робот видит “#!”, и знает, как обнаружить веб-страницу с URI “/index.htm?_escaped_fragment_=page=user:id,123”. Зная о том, как поведет себя робот, мы можем запрограммировать сервер таким образом, чтобы он отвечал на этот запрос HTML-структурой этой страницы, которая в обычном режиме для браузера генерируется посредством javascript.Этот макет будет индексирован Google, но все, кто будет кликать на выдачу в результатах Google, будут перенаправляться на /index.htm#!page=user:id,123. javascript-код одностраничного сайта будет взят оттуда и страница будет сгенерирована так, как ожидалось.Это предоставляет разработчикам одностраничных веб-сайтов возможность связать свой сайт с Google и с пользователями. Вместо того, чтобы подстраиваться, и создавать такой код, который будет одинаково понятен поисковым роботам и пользователям, вы можете просто оптимизировать страницы таким образом, чтобы живые пользователи перенаправлялись исключительно на нужный контент на странице, кликая по выдаче в Google. Для этого придется чуть больше поработать в процессе разработки, но с точки зрения SEO это дает огромное преимущество.

Определяем поискового робота Google

На момент написания этой статьи, Googlebot представлялся серверу как робот, делая запросы с использованием строки user-agent Googlebot/2.1 (+http://www.googlebot.com/bot.html). Приложение Node.js способно проверять эту строку и высылать роботу уже оптимизированную страницу. В противном случае, страница будет сгенерирована обычным образом.Здесь создается впечатление, будто этот механизм сложно проверить, так как мы не заведуем Googlebot. Тем не менее, Google предлагает сервис, который позволяет сделать это в рамках набора инструментов Webmaster Tools. Раньше этот процесс выглядел немного по-хакерски, с применением командной строки, но Chrome Developer Tools упростил все до простого нажатия кнопки:1. Откройте Chrome Developer Tools, нажав кнопку с тремя горизонтальными линиями в правой стороне Google Toolbar, а затем выберите Tools из меню, и нажмите на Developer Tools.2. В нижнем правом углу экрана имеется иконка с шестеренками: нажатие по ней позволит вам увидеть дополнительные опции вроде отключения кэширования или включения лог-файла для XmlHttpRequests.3. Во второй вкладке под названием Overrides нажмите по чекбоксу рядом с ярлыком User Agent и выберите любое количество user agent-ов из выпадающего списка с Chrome, Firefox, IE, iPad и многим другим. Googlebot – это не стандартная настройка. Чтобы воспользоваться им, выберите Other, а затем скопируйте и вставьте строку user-agent приведенное поле ввода.4. Теперь эта вкладка предлагает себя как Googlebot, и когда мы открываем URI нашего сайта, перед нами покажется страница, оптимизированная под робота.

В завершение

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

Стоит отметить, что существует и множество других роботов, и когда вы разберетесь с настройкой под Googlebot, следует подумать и о других поисковых системах.

Вернуться назад