javascript — Google Шебанг #! синтаксис сканирования ajax не приводит к просканированным страницам

У меня есть сайт, на котором реализован шебанг от Google «#!» синтаксис для сканирования ajax.

Обе стороны системы были реализованы, как обсуждалось на https://developers.google.com/webmasters/ajax-crawling/docs/specification

Другими словами, URL для страницы, созданной Ajax, такой как: http://avianguitars.ca/configurator/#!S
сопоставляется со статическими версиями HTML, которые кэшируются на стороне сервера в http://avianguitars.ca/configurator/?_escaped_fragment_=S

Google должен увидеть #! синтаксис, сканируйте _escaped_fragment_ версию и отображайте ее в Google вместе с оригиналом http://avianguitars.ca/configurator/#!S URL.

Я также добавил URL-адреса в формате http://avianguitars.ca/configurator/#!S к карте сайта, которая отправляется с помощью инструментов разработчика Google, однако URL-адреса! # все игнорируются и по-прежнему не индексируются.

Еще один пример URL-адреса «шебанг» http://avianguitars.ca/configurator/#!action=showline&lineid = 46 какие карты на http://avianguitars.ca/configurator/?_escaped_fragment_=action%3Dshowline%26lineid%3D46

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

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

2

Решение

Да, вы что-то упустили. Вам нужно добавить <meta name="fragment" content="!" /> сказать, что в вашем URL-адресе используется фрагмент идентификатора.

Это скажет вам больше на стороне Google: https://developers.google.com/webmasters/ajax-crawling/docs/specification

1

Другие решения

Обязательно выводите ссылку rel = canonical tag в вашей HEAD, когда страница запрашивается с использованием параметра _escaped_fragment.

Поэтому, когда ваша страница запрашивается с использованием специального параметра, включите его в свой вывод:

<link rel="canonical" href="http://avianguitars.ca/configurator/#!action=showline&lineid=46"/>

У меня есть сайт, полностью основанный на хэш-банге, и он полностью проиндексирован (312 отправленных URL-адресов, 309 проиндексированных URL-адресов). Я только что сравнил ваш сайт с моим, и это единственное, что, кажется, отсутствует. Я не уверен, что это решение вашей проблемы, но я не вижу его в вашем HTML. Я добавил этот тег, потому что я прочитал его где-то в документации Google, но теперь я не могу найти его больше …

Кроме того, мой сайт не включает это:

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

… но это не помешало его индексировать.

Кроме того, URL-адреса в карте сайта Google должны использовать синтаксис hashbang, а не синтаксис _escaped_fragment. Если у вас возникли проблемы, попробуйте зарегистрировать свой веб-сайт с помощью инструментов Google для веб-мастеров и посмотрите, есть ли там какие-либо проблемы:

https://www.google.com/webmasters/tools/

1

По вопросам рекламы [email protected]