Хобрук: Ваш путь к мастерству в программировании

escaped_fragment в карте сайта или шебанге?

Мой сайт представляет собой одностраничное приложение и использует много javascript. У меня есть настройка сервера для создания сайта, который пользователь видит с помощью javascript, поэтому Google видит тот же контент. Google знает об этом через метатег fragment и преобразует ссылки с шебангом в escaped_fragment, чтобы получить этот отображаемый сайт. Поскольку я хочу, чтобы Google знал о недавних статьях на моем сайте, на которые больше нет ссылки с главной страницы, я добавил карту сайта.

Вопрос в том, должен ли я добавлять URL-адреса с или без шебанга или преобразовывать его в escaped_fragment.

http://www.example.com/#!veryAwsomeDynamicPage

or

http://www.example.com/?_escaped_fragment=veryAwsomeDynamicPage

Моя цель: я хочу, чтобы Google получал мой контент через escaped_fragment, но хочу, чтобы ссылка, которую Google показывает в результатах поиска, была с shebang (чтобы пользователи не перенаправлялись)


  • Hashbang и escaped fragment — ужасный, ужасный хак. Теперь у нас есть pushState, так что вам действительно стоит подумать о переходе на него. 27.04.2015
  • @Квентин спасибо за комментарий. Я использую pushState на стороне клиента для маршрутизации, выборки и т. д., но я хочу, чтобы поисковые системы отображали мою страницу, а не пустой html-пень. Любые идеи? 27.04.2015
  • Вы делаете что-то вроде pushState("/myURL");, когда используете JS, чтобы (например) заполнить страницу 100 символами X. Затем вы пишете код на стороне сервера, чтобы при запросе /myURL сервер в первую очередь доставлял страницу, состоящую из 100 X символов. 27.04.2015
  • хм... Так что, я думаю, мне нужно понюхать пользовательский агент, чтобы определить распространенные сканеры поисковых систем... или просто вывести отрендеренную страницу всем... 27.04.2015
  • Просто выведите отрендеренную страницу всем. Это дает лучшую производительность, чем загрузка домашней страницы, а затем немедленная замена ее другим контентом, загруженным с помощью Ajax. 27.04.2015
  • поскольку контент является динамическим в зависимости от размера устройства пользователя и локальной конфигурации (если он посещал его ранее), не имеет смысла отправлять что-то, что пользователю нужно будет заменить. Google увидит устаревший, но релевантный контент на основе настроек по умолчанию. Вот почему мне нужны страницы, не поддерживающие javascript (поисковые системы), в то время как пользователи, нажимающие на результаты поиска, должны получать страницу, дружественную к javascript, которая все делает динамичной. 27.04.2015

Ответы:


1

как указано в спецификации Google в разделе "Роль поискового робота". состояния

The search engine agrees to display in the search results the corresponding pretty URLs:

таким образом, в результатах поиска отображается http://www.example.com/#!veryAwsomeDynamicPage. пока Google извлекает содержимое на http://www.example.com/?_escaped_fragment=veryAwsomeDynamicPage.

поэтому http://www.example.com/#!veryAwsomeDynamicPage должен быть в файле sitemap.xml.

27.04.2015
Новые материалы

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

стройный-i18следующий
Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..