Как заставить Google сканировать страницы AJAX без использования #! URL-адрес?

13

В совете Google «Создание приложений AJAX для сканирования» они советуют сделать URL-адреса AJAX, не использующие фрагменты хеш-бэнга (#!), Добавляемыми <meta name="fragment" content="!">на страницу <head>.

Кто-нибудь имел успех с этим? Я не могу найти, чтобы робот Google делал снимки страниц HTML при использовании функции «Получить как робот Google» в Инструментах для веб-мастеров.

йога
источник
Я думаю, что это может быть лучше в SO.
Вс
интересный. Возможно, Google не делает снимки фрагментов. Индексируются ли фрагменты URL?
SteveS

Ответы:

4

В предыдущих разделах о разрешении сканирования контента AJAX Google заявляет :


3. Обрабатывать страницы без хеш-фрагментов.

Некоторые из ваших страниц могут не иметь хеш-фрагментов. Например, вы можете захотеть, чтобы ваша домашняя страница была www.example.com, а не www.example.com#!home. По этой причине у нас есть специальное положение для страниц без хеш-фрагментов.

Примечание. Убедитесь, что вы используете эту опцию только для страниц, которые содержат динамический контент, созданный Ajax. Для страниц, которые имеют только статический контент, он не предоставит сканеру дополнительную информацию, но это увеличит нагрузку на серверы Google и вас.

Для того, чтобы страницы без хеш-фрагментов могли сканироваться, вы добавляете специальный метатег в заголовок HTML вашей страницы.

Метатег принимает следующую форму:

<meta name="fragment" content="!">

Это указывает сканеру, что он должен сканировать некрасивую версию этого URL. В соответствии с приведенным выше соглашением сканер временно сопоставит симпатичный URL-адрес с соответствующим уродливым URL-адресом. Другими словами, если вы разместите на странице www.example.com, сканер временно сопоставит этот URL-адрес www.example.com?_escaped_fragment_=и запросит его у вашего сервера. Ваш сервер должен затем вернуть снимок HTML, соответствующий www.example.com. Обратите внимание, что к этому метатегу применяется одно важное ограничение: единственное допустимое содержимое - «!». Другими словами, метатег всегда будет иметь точную форму:, <meta name="fragment" content="!">который указывает пустой фрагмент хеша, но страницу с содержимым AJAX.


Поэтому вам все еще нужно включить сопоставление URL-адреса с «уродливой» версией, содержащей ?_escaped_fragment_=использование безголового браузера.

Они следуют с предупреждением:

Если контент для www.example.com?_escaped_fragment_=возврата кода 404, контент не будет проиндексирован www.example.com!

Таким образом, вы должны проверить это также.

Майк Хадсон
источник