2010-10-06 17 views
8

Scott Guthrie vient de publier un article sur le nouveau jQuery Templates sur lequel son équipe travaille, et je dois dire que ... ça a l'air vraiment gentil. J'ai cependant une question en plusieurs parties, où la réponse influencera ma décision de les utiliser.Les nouveaux modèles jQuery de Microsoft et SEO

Je travaille actuellement sur un projet où la page d'accueil affiche une liste des événements à venir dans votre région. La liste des événements est sensiblement la même que celle de http://nerddinner.com (mais je n'utilise aucun code).

Je pense à utiliser les nouveaux modèles jQuery pour formater les informations envoyées par mon contrôleur (MVC). La façon actuelle de faire ceci est d'envoyer l'objet ViewModel à la vue (avec tout le contenu nécessaire), mais aussi de sérialiser le même objet ViewModel en JSON (passé en utilisant ViewData) qui est utilisé par Bing Maps. Maintenant, je suppose qu'il y a un problème de performance en envoyant deux fois le même contenu, et donc je pense que l'envoi de JSON uniquement et l'utilisation de Bing Maps et du contenu (en utilisant jQuery Templates) est une excellente idée.

En marche ma question. Les moteurs de recherche peuvent-ils lire le JSON dans la page (et si oui, vont-ils l'utiliser pour l'indexation), ou mes pages seront-elles "vides" au moteur de recherche parce que j'affiche le contenu APRÈS la page? La deuxième partie de cette question est que, si le SEO est affecté, y a-t-il une meilleure façon d'accomplir ce dont j'ai besoin, ou suis-je coincé en envoyant le contenu deux fois? (Rappelez-vous, les informations sur la carte et les informations sur le contenu seront exactement les mêmes).

+0

Je viens de regarder la vidéo, c'est génial. Mais j'aime comment, parce que les gens s'éloignent des formulaires Web, MS essaient de "draw-back-in" l'ensemble du client html -> serveur de liaison, lol. Ce n'est plus runat = 'server', mais c'est proche :) C'est comme "Hey, pas plus de répéteur dans ASP.NET MVC", mais attendez - nous avons tartiné! Yay!. En tout cas, c'est cool. (surtout le glob). – RPM1984

+1

Eh bien dans MVC, nous utiliserions une boucle 'For Each' /' Next' au lieu de '' Le passage à MVC est plus une question d'éloignement de ViewState et une meilleure séparation de préoccupations. –

Répondre

5

Les modèles sont tous en JavaScript pour le moment, quelque chose qu'un robot d'exploration ne va pas exécuter. Google prend en charge les sites compatibles AJAX in a certain format ... mais vous ne verrez pas de support de crawler pour cela, du moins pas dans le nouveau futur.

Si quoi que ce soit, ça va faire mal SEO ... le prix que vous payez pour l'utilisation de nouvelles technologies/formats les robots d'exploration ne sont pas conçus pour gérer pour le moment.

Attention: Cette réponse a une durée de vie (je l'espère) et devrait invalide à un moment donné (date actuelle - 5 octobre 2010) ... quelqu'un me s'il vous plaît modifier lorsque cela arrive (et les moteurs de recherche gèrent bien cela).

+0

C'est exactement ce que je pensais. Merde ces modèles semblent friggin 'malade tho. Pouvez-vous parler de la pièce "performance hit" et éventuellement proposer une solution/suggestion? (J'ai édité ma question) –

+0

ps: bel avertissement ... lol. –

+0

@rockinthesixstring - Il y a un morceau de performance, le balisage des éléments sera moins cher que de prendre des gabarits pour baliser * puis * des éléments ... bien que la mise en cache des fragments de document devrait apporter des avantages pour les gabarits plus grands ... Je ne peux pas dire avec certitude quel impact, ça va varier selon le scénario. Je vais utiliser les modèles pour plusieurs cas .... mais je n'ai pas à me soucier de SEO :) Solution possible: vous pourriez rendre la page différemment au moteur, tant que les résultats sont identiques, ne pas "mentir" à la chenille si ... ce n'est pas idéal cependant. –