Я думаю, что вы что-то не так поняли, поэтому я попытаюсь объяснить, что здесь происходит, включая предысторию и альтернативы.поскольку это действительно очень важная тема, на которую большинство из нас время от времени натыкаются (или, по крайней мере, на что-то подобное).
Использование AJAX или скорее асинхронное инкрементное обновление страницы (потому что большинство страниц на самом деле не используют XML, ноJSON), обогатил сеть и обеспечил отличный пользовательский опыт.
Однако, это также дорого стоило.
Основной проблемой были клиенты, которые не поддерживали объект xmlhttpget или JavaScript ввсе.В начале вы должны были обеспечить обратную совместимость.Обычно это делается путем предоставления ссылок, захвата события onclick и запуска вызова AJAX вместо перезагрузки страницы (если клиент поддерживает это).
Сегодня почти каждый клиент поддерживает необходимые функции.
Так что проблема сегодня в поисковых системах.Потому что они этого не делают.Ну, это не совсем так, потому что они частично (особенно Google), но для других целей.Google оценивает определенный код JavaScript, чтобы предотвратить SEO Blackhat (например, ссылка, указывающая куда-то, но JavaScript открывает какую-то совершенно другую веб-страницу ... Или HTML-коды ключевых слов, которые невидимы для клиента, потому что они удаляются JavaScript или наоборот).
Но, сохраняя простоту, лучше всего подумать о поисковике для самого простого браузера без поддержки CSS или JS (то же самое с CSS, его партия анализируется по особым причинам).
Так что, если у вас есть «ссылки AJAX» на вашем веб-сайте, и веб-сканер не поддерживает отслеживание их использования с помощью JavaScript, они просто не сканируются.Или они?Ответ: ссылки JavaScript (например, document.location) следуют.Google часто достаточно умен, чтобы угадать цель.Но Ajax-звонки не совершаются.простой, потому что они возвращают частичное содержимое, и из него невозможно построить полноценную целую страницу, поскольку контекст неизвестен, а уникальный URI не представляет местоположение содержимого.
Таким образом, в основном существует 3 стратегии для обходачто.
- имеют событие onclick для ссылок с обычным атрибутом href в качестве запасного (я думаю, это лучший вариант, так как он решает проблему как для клиентов, так и для поисковых систем)
- отправкасодержание сайтов через вашу карту сайта, чтобы они были проиндексированы, но совершенно отдельно от ссылок на ваш сайт (обычно страницы предоставляют постоянную ссылку на эти URL, чтобы внешние страницы связывали их с поиском страниц)
- схема сканирования ajax
Идея состоит в том, чтобы ваши запросы JavaScript xmlhttpget были связаны с соответствующими атрибутами href, которые выглядят так: www.example.com/ajax.php#!key=value
, поэтому ссылка выглядит следующим образом:
<a href="http://www.example.com/ajax.php#!page=imprint" onclick="handleajax()">go to my imprint</a>
функция handleajax
может оценить переменную document.location
для запуска инкрементного асинхронного обновления страницы.Также возможно передать идентификатор или URL или что-то еще.
однако сканер распознает формат схемы сканирования ajax и автоматически выбирает http://www.example.com/ajax.php.php?%23!page=imprint
вместо http://www.example.com/ajax.php#!page=imprint
, поэтому вы запрашиваете строку, затем включаете фрагмент html, из которогоВы можете сказать, какой частичный контент был обновлен.поэтому вам просто нужно убедиться, что http://www.example.com/ajax.php.php?%23!page=imprint возвращает полный веб-сайт, который выглядит так, как будто веб-сайт должен выглядеть для пользователя после обновления xmlhttpget.
очень элегантное решение такжепередать сам объект в функцию-обработчик, которая затем выбирает тот же URL, что и сканер, выбранный с использованием ajax, но с дополнительными параметрами.Затем ваш серверный скрипт решает, доставить ли всю страницу или только частичное содержимое.
Это действительно очень креативный подход, и вот мой личный анализ pr / con:
pro:
- частично обновленные страницы получают уникальный идентификатор, после чего они становятся полностью квалифицированными ресурсами в семантической сети
- частично обновленные сайты получают уникальный идентификатор, который может быть представлен поисковыми системами
жулик:
- это просто запасное решение для поисковых систем, а не для клиентов без JavaScript
- это предоставляет возможности для черной шляпы SEO. Так что Google наверняка не примет его полностью или не оценит страницы с этой техникой высоко без надлежащей проверки содержания.
Вывод:
просто обычные ссылки с резервными унаследованными рабочими атрибутами href, но обработчик onclick - лучший подход, поскольку он обеспечивает функциональность для старых браузеров.
главное преимущество схемы сканирования ajax заключается в том, что частично обновленные веб-сайты получают уникальный URI, и вам не нужно создавать дублированный контент, который каким-то образом служит в качестве индексируемой и связываемой копии.
можно утверждать, что реализация схемы сканирования ajax более последовательна и проще в реализации. Я думаю, что это вопрос дизайна вашего приложения.