? _escaped_fragment_ = - безголовый браузер - PullRequest
0 голосов
/ 13 апреля 2011

Что мне нужно сделать, чтобы добавить поддержку ?_escaped_fragment_= на мой сервер? Я хочу, чтобы Google мог сканировать мой ajax-сайт. Мои хэши уже в #! форме

Но я понятия не имею, как сказать моему серверу, что когда я ввожу mywebsite.com/?_escaped_fragment_=section в свой браузер, URL-адрес mywebsite.com/section будет равен mywebsite.com/#!

спасибо

1 Ответ

5 голосов
/ 26 апреля 2011

Простой ответ - мой метод (который скоро будет использоваться для сайта с приблизительно 50 000 сгенерированных AJAX URL-адресов) состоит в том, чтобы сервер node.js использовал безголовую среду (попробуйте zombie, phantomjs или любую другую) для загрузкисайт, убедившись, что он в состоянии выполнить javascript и прочитать DOM - затем во время выполнения, если Google запрашивает фрагмент, отправляет запрос на сервер node.js, который загружает сайт, выполняет javascript, ждет ответа ивозвращает HTML-код, который выводится в браузер.

Если это звучит как большая работа - я почти на 90% закончил над кодом, который сделает все за вас, куда вы просто уронитеодна строка (PHP) кода в верхней части вашего сайта / приложения, и он сделает все остальное за вас, используя удаленный сервер node.js.

Код будет с открытым исходным кодом, поэтому, если вы хотите его установитьЗайдите на сервер узлов, вы можете - или, если это PITA, чтобы настроить его самостоятельно, я, вероятно, запустил бы работающий сервер, на который ваше приложение / веб-сайт будет отправлять ?_escaped_fragment_ запросов и получатьhtml снимок назад.Он также реализует кеширование, так что они запрашиваются только один раз каждые X дней.

Посмотрите это место - только несколько изломов, чтобы работать, и это будет на моем сайте (josscrowcroft.com), и я 'Я тоже положу его в репозиторий github.

...