J'ai un site qui utilise AJAX pour interroger la base de données Last.fm, puis dessine de manière dynamique un graphique des résultats sur un canevas HTML. Dans la fonction de recherche, j'ai une commande qui définit window.location.hash sur les paramètres de recherche. J'ai aussi une fonction qui vérifie si un hachage a été fourni dans l'URL et si c'est le cas, génère la page.
Par exemple, http://www.thenlistento.com/#!/led+zeppelin ira automatiquement vers une page de recherche pour Led Zeppelin.
Ma question est, comment optimiser cette configuration pour le référencement? Cela peut-il être fait du tout? J'ai consulté Google Webmaster Docs et lu le protocole hashbang, mais je ne sais pas trop comment l'appliquer à ma situation ... ou même si je le peux du tout.
Toute aide/suggestion serait grandement appréciée.
Lien vers le site: http://www.thenlistento.com
Je pense que vous pourriez utiliser RL Rewriting et des images permanentes pour obtenir un bon référencement Google ici:
http://www.thenlistento.com/bands-similar-to/led-zeppelin
Utilisez la réécriture d'URL ou le proxy pour transformer ceci en:
http://www.thenlistento.com/#!/led+zeppelin
Ensuite, assurez-vous d’avoir une bonne méta description sur la page ci-dessus.
Lorsque quelqu'un visite une page, vous devez également transformer votre graphique en image permanente et le reproduire sur la page, par exemple. bands-similar-to-led-zeppelin.png, peut-être redimensionné quelque part en haut à côté du texte.
Cela donne à Google quelque chose d'unique à indexer sur vos pages.
Il me semble que vous devez utiliser '? _Escaped_fragment_' sur le serveur pour envoyer une réponse que vous obtiendrez de manière dynamique en utilisant un hash-bang.
Par exemple, lorsque l'URL suivante est demandée:
http://www.thenlistento.com/?_escaped_fragment_=/led+zeppelin
Le serveur sert le même contenu que vous obtiendriez en allant ici:
http://www.thenlistento.com/#!/led+zeppelin
Cela peut signifier simplement que Led Zeppelin est la valeur par défaut et peut-être une simple liste ordonnée d'artistes similaires sous forme de texte sous l'animation. Le code côté client examinerait alors la valeur par défaut de la zone de saisie et chargerait l'animation si quelque chose s'y trouvait et ne ferait rien sinon. La simple liste de textes sera bénéfique pour des raisons d'accessibilité et pour fournir à Google au moins quelque chose à mâcher.
Ce n'est pas vraiment une solution simple - il faudra un peu de travail pour comprendre les exigences et les faire vérifier de manière approfondie.
La documentation Google Developers sur l'exploration Ajax la décompose vraiment. Il vous suffira de digérer cette information et de lui donner un sens.
Essentiellement, si vous souhaitez que Google analyse ce contenu dynamique, vous devez trouver un moyen de l'afficher et de l'afficher sous forme de code HTML normal à la demande, avec _scaped_fragment à la place du hashbang. Cela devra se produire côté serveur - soit en traitant ces demandes différemment pour servir le code HTML au lieu de la réponse Ajax, soit en utilisant un navigateur sans interface graphique pour obtenir les résultats post-JavaScript, puis les servir.