2011-04-13 2 views
0

Que dois-je faire pour ajouter un support ?_escaped_fragment_= à mon serveur? Je veux que Google soit capable d'explorer mon site ajax. Mes hash sont déjà en #! forme? _escaped_fragment_ = - navigateur sans interface

Mais je ne sais pas comment dire à mon serveur quand je rentre mywebsite.com/?_escaped_fragment_=section à mon navigateur pour l'url mywebsite.com/section et il serait égal à mywebsite.com/#!

grâce

Répondre

5

Simple answer - ma méthode (qui sera bientôt utilisée pour un site avec environ 50 000 URL générées par AJAX) est d'avoir un serveur node.js utilisant un environnement sans tête (essayez zombie, phantomjs, ou autre) pour charger le site, en s'assurant il est capable d'exécuter javascript et de lire le DOM - puis à l'exécution, si c'est google qui demande le fragment, envoyer une requête au serveur node.js, qui charge le site, exécute le javascript, attend la réponse et restitue le code HTML qui est envoyé au navigateur. Si cela vous semble être beaucoup de travail, j'ai fini à 90% sur le code qui fait tout pour vous, où vous perdriez simplement une ligne de code (PHP) en haut de votre site/application et il fait le reste pour vous, en utilisant un serveur distant node.js.

Le code sera open source donc si vous voulez le configurer vous-même sur un serveur de noeud, vous pouvez - ou si c'est un PITA pour le configurer vous-même, je vais probablement avoir un serveur live qui fonctionne votre application/site Web envoie des demandes à ?_escaped_fragment_ et récupère l'instantané html. Il implémente également la mise en cache afin que celles-ci ne soient demandées qu'une fois tous les X jours.

Regardez cet espace - j'ai juste quelques trucs à faire, et ce sera sur mon site (josscrowcroft.com) et je le mettrai aussi dans un dépôt de github.

+0

ok, donc si je comprends bien, la première chose dont j'ai besoin est le serveur node.js. Merci beaucoup. Et puis j'attendrai que vous publiiez votre code sur github ... – simPod

+0

Ouais - à partir de la semaine prochaine, je vais le tester sur un site client sur un serveur virtuel Rackspace, donc une fois qu'il a été testé dans la nature et j'ai vérifié sur quel type de charge il met sur le serveur, je posterai le repo - certainement dans quelques semaines. –

+0

ok, merci ... – simPod

Questions connexes