SEO pour un backbone js lourds page
Nous utilisons épine dorsale fortement pour le rendu de nos pages. Toutes les données sont transmises sous forme de json à partir du serveur et le code html est créé sur le client avec la colonne vertébrale et la moustache.
Cela pose un gros problème pour le RÉFÉRENCEMENT. Une façon que j'ai été la planification pour obtenir autour de cette était de détecter si la demande émane d'un bot et utiliser quelque chose comme interface htmlunit pour le rendu de la page sur le serveur et de le cracher.
Aimerait certaines des idées de rechange. Aussi voudrais savoir si il y a une faille dans ce que je prévois de faire.
OriginalL'auteur Saurav Shah | 2012-05-29
Vous devez vous connecter pour publier un commentaire.
Je n'aime pas nécessairement que la seule option que vous avez les réponses sont à tout refaire de répondre à un vaste meilleures pratiques. Il y a une bonne raison d'envisager de faire les choses à l'aide d'un Javascript non-intrusif, mais peut-être il ya une bonne raison que vous faites cela comme un JS-requis site. On dirait qu'il est.
Si vous êtes en train de faire un Backbone.js application de façon dynamique rempli dans des modèles client, le mieux que j'ai pu penser à faire ce qui est dans le lien ci-dessous. En gros, cela revient à dire à un navigateur sans courir à travers un ensemble de commandes de navigation pour afficher l'ensemble de vos utilisateurs/produits/les pages et enregistrer un fichier html statique à chaque étape, pour des raisons SEO.
Ce qui est le moins redondant façon de faire un site avec JavaScript-HTML généré crawlable?
OriginalL'auteur
Construire votre site à l'aide de Amélioration Progressive et JavaScript Discret.
Lorsque vous faites significative Ajax trucs, utilisez l'histoire de l'API.
Alors vous avez de réelles Url pour tout et Google ne sera pas un problème.
OriginalL'auteur
Dans un projet sur lequel je travaille en ce moment je suis d'essayer de couvrir toutes les bases.. épine Dorsale conduit client, pushstate uri, bookmarkable pages html et de secours, si possible. L'approche que j'ai adoptée consiste à utiliser la Moustache pour les modèles, les casser dans de jolies petites composants pour mon épine dorsale de vues et de les rendre disponibles dans un format raw pour le client. Lorsqu'une page est demandée, les modèles peuvent être traitées sur le serveur pour produire une pleine page et de la colonne vertébrale attache à ce que les éléments qu'il veut contrôler.
Ce n'est pas une configuration simple mais jusqu'à présent, je n'ai pas touché toute entrave, et je n'ai pas dupliquer les modèles. J'ai dû créer une page modèle emballage pour chaque url de la Moustache ne fait pas "wrappers" mais je pense que je devrais être en mesure d'éliminer ces avec certains codage supplémentaire sur le serveur.
Le plan est d'être en mesure d'avoir certains composants comme pure js lorsqu'elle est requise par l'interface et quelques rendus par le serveur et renforcée avec js si vous le désirez..
Nous sommes en train de partager des modèles entre le serveur et le client. L'exécution de Python sur le serveur que nous utilisons Pystache pour traiter les modèles. Nous utilisons des partiels pour des choses comme des éléments dans une liste et de faire la partielle de modèle à la disposition du client code de sorte qu'il peut ajouter des éléments à la liste en cas de besoin. Je pense que la logique nécessaire est généralement va être différente selon que vous êtes dans le client ou sur le serveur, mais nous partageons une logique côté serveur entre rpc gestionnaires de page et des gestionnaires en leur faisant très léger-poids et de l'appel de méthodes sur la commune de contrôleur/objets de modèle.
OriginalL'auteur
Il y a des avantages et des inconvénients à l'utilisation de google processus d'exploration ajax - je l'ai utilisé pour un site de réseautage social (http://beta.playup.com) avec des résultats mitigés...
J'ai écrit un joyau de gérer cela de manière transparente comme middleware rack pour ruby utilisateurs (gem install google_ajax_crawler) (https://github.com/benkitzelman/google-ajax-crawler)
Lire à ce sujet à http://thecodeabode.blogspot.com.au/2013/03/backbonejs-and-seo-google-ajax-crawling.html
Le résumé est que même si j'ai réussi a posté rendu dom instantanés à la demande d'un moteur de recherche, et j'ai pu voir à l'aide des outils pour les webmasters Google ont été rampant comme de 11 000 pages du site, j'ai constaté que Google étaient plus enclins à classer les applications de différents états (url) des versions de la même page, et non pas comme des indices distincts. Essayez de faire une recherche pour beta.playup.com - un seul indice est répertorié même si le rendu du contenu change radicalement entre les url )....
OriginalL'auteur
si vous êtes à l'aide node.js utilisation rendr
OriginalL'auteur