2012-01-04 4 views
7

Introducción

Sé que esto se ha preguntado antes, pero las preguntas que encontré fueron específicas o generales para provocar el tipo de respuesta que estaba buscando. La mejor respuesta posible que puedo imaginar sería un ejemplo de uso de red troncal y la menor cantidad posible de lógica del lado del servidor (no hay un lenguaje/marco preferido allí).¿Cuál es un buen ejemplo de una estrategia para lograr la compatibilidad con SEO en una aplicación con alto contenido de javascript?

Problema

Estoy planeando una aplicación Javascript/Ajax-pesado (sobre todo en JSON backend espina dorsal +) que implementa una búsqueda facetada. Tome, por ejemplo, una búsqueda facetada de una sencilla aplicación de tienda de zapatos que le permite filtrar el color, la marca y el tipo de zapatos, y ordenarlos por precio y tamaño, o cualquier otra cosa.

Supongamos que estoy usando backbone o un framework similar en el cliente y un servicio json como back-end.

¿Cuál sería una estrategia buena (compensación entre esfuerzo y resultado) para lograr seo-friendliness así como también una interfaz ágil?

Recursos

Una solución que me llamó la atención es Hijax mediante la reutilización de plantillas de cliente unilateral en el lado del servidor, tal como se describe aquí: http://duganchen.ca/single-page-web-app-architecture-done-right

Recursos que digiere sin conclusión final

+2

Sugeriría usar el diseño discutido en el enlace "Arquitectura de aplicación web de una sola página hecho a la derecha" que publicó: Primero haga que su aplicación web no sea amigable con Javascript, y entonces no tendrá este problema. – Ivan

Respuesta

3

El punto general de SEO uso: debería funcionar sin JavaScript.

También es bueno para la accesibilidad, por lo que debe hacerlo así, si el usuario no tiene JavaScript habilitado (como lo hace el motor de búsqueda), funcionará.

Si tiene habilitado JavaScript, (como cualquier ser humano en su sano juicio), funcionará con todas las funciones ingeniosas de JavaScript que haya agregado.

Como regla general de usabilidad: ¡Si funciona, también debería funcionar sin JavaScript!

1

La solución de su primer enlace suena bien. El principal problema de una aplicación de una sola página es que debe renderizar sus plantillas en ambos lados, el backend y el frontend. Usar la plantilla Bigote o Google closures será una buena solución para esto.

La misma solución que se usó para google +, donde inicialmente el lado se procesará en el servidor y se cargará una página html estática, luego la página se representará en el lado del cliente pero con las mismas plantillas que en el servidor.

1

Recuerde también que los motores de búsqueda siguen los enlaces mucho más a menudo que (¿alguna vez?) Completan los formularios.

Este problema de permitir a los rastreadores ver los contenidos de su BD se denomina "web oscura", "web invisible", "web profunda" o "web oculta".Blog post

también lo son su planteamiento del problema:

una búsqueda de facetas de una sencilla aplicación de tienda de zapatos que permite filtrar el color, la marca y el tipo de zapatos y ordenarlos por precio y tamaño o cualquier otra cosa.

me gustaría sugerir que incluya las búsquedas a través de una jerarquía de enlaces, además de buscar a través de formularios con campos de selección.

Por ejemplo, en un menú secundario, incluya todas las diferentes marcas como enlaces individuales. Luego, cada enlace debe conducir a una lista de los productos vendidos por esa marca. El truco está en arreglar las cosas para que el enlace a un zapato individual lo lleve de regreso a la primera página (la aplicación de una página rica) pero mostrando el zapato específico. - Y la página debe implementar las recomendaciones de rastreo de Google Ajax a las que hace referencia en el PO.

Cuestiones relacionadas