2012-08-26 27 views
7

Agradecería sus comentarios. Me han puesto a cargo para volver a desarrollar un sitio importante que genera bastante tráfico. A partir de los últimos meses, he estado usando Backbone.js para desarrollar aplicaciones. He estado investigando las últimas semanas sobre si Backbone sería una buena opción para la remodelación del nuevo sitio.Transformar un sitio web importante en una aplicación de JavaScript

Mi preocupación inicial era SEO. Encontré una gran publicación here que habla sobre la mejora progresiva y un montón de preguntas sobre el stackoverflow que me han ayudado. Parece que no puedo sacudir la sensación de que construir un sitio estático y mejorarlo con Backbone es toda una hazaña y tomará mucho más tiempo.

Ahora mi pregunta es, ¿no hemos pasado la etapa en la que tenemos que construir sitios que tienen que funcionar con javascript deshabilitado? ¿Es esencial que nuestro sitio siga siendo funcional para lectores de pantalla, etc.?

Mi idea era servir la información de meta seo relevante del servidor en mi archivo principal app.html para que los motores de búsqueda puedan rastrear las diferentes direcciones URL. La aplicación Backbone se lanzará desde cualquier url que visite que sea relevante para la aplicación.

Acabo de visitar el nuevo hulu.com, y no puedo encontrar una razón de por qué no volver a desarrollar el sitio web en una aplicación Backbone. La mayoría, si no todos los sitios web que he visitado, no funcionarán sin js. Ve a hulu.com con js deshabilitado y podrás ver a qué me refiero. Entonces, para cerrar, ¿es seguro construir un sitio web que no funcione sin js y lo anterior sea suficiente para SEO?

Gracias

+0

¿Cuál es su razonamiento para reconstruir el sitio como una aplicación del lado del cliente? ¿Es algo que debe ser construido de esa manera para una buena experiencia de usuario? Debe sopesar esto contra el trabajo adicional de mejorar progresivamente la página. – Brad

+0

Hola Brad, definitivamente para mejorar la experiencia del usuario. Pero principalmente para avanzar hacia una api relajante. Quiero disminuir la carga en el servidor y hacer que el cliente haga más de la representación de la plantilla, etc. – TYRONEMICHAEL

+2

No creo que deba preocuparse por el soporte de JavaScript. Hay muchas personas que intentan asustarnos porque cada sitio web necesita compatibilidad con navegadores con JavaScript desactivado. Para ser honesto, creo que eso es totalmente incorrecto. Busque por ejemplo en [estas estadísticas] (http://developer.yahoo.com/blogs/ydn/posts/2010/10/how-many-users-have-javascript-disabled/). El número de navegadores con JavaScript deshabilitado es de alrededor del 1%, que es menor que el error estadístico. Apoyarlos es solo una pérdida de tiempo y dinero, ¿eh? – freakish

Respuesta

2

Me parece que habrá una gran cantidad de opiniones sobre esto. Aquí está el mío.

Como una configuración de la mente por defecto, siempre encuentro que la compatibilidad con versiones anteriores y el elegante repliegue son importantes. Normalmente creo que un sitio debería poder cumplir su objetivo principal: entregar contenido (el contenido se vende).

Sin embargo ... ¿qué pasa si el contenido del propósito aka está entregando algún tipo de funcionalidad, como una calculadora en línea o una aplicación de dibujo ... Entonces el usuario ya necesitaría y esperaría que cosas como javascript estuvieran habilitadas. En esos casos, felizmente haré las cosas de diseño/diseño más fáciles para mí, usando javascript. Piense en un sitio como jsfiddle: a quién le importaría que este sitio no muestre su UI correctamente porque javascript estaba deshabilitado ... Nadie.

En cuanto a SEO: creo que hay muchas cosas que influyen en esto. Si vendes manzanas y eres dueño del dominio apples.com, de todas maneras estás casi listo. De nuevo, el contenido se vende, así es como la mayoría de los motores intentan indexar.

Aparte de eso, en este (horrible) día e Internet, los motores de búsqueda más populares filtrarán y clasificarán los resultados de búsqueda para el usuario ... así que si uno quiere optimizar un sitio para el motor de búsqueda .. then for who's personal bubble (search results) do you try to optimize?!?.

Tengo más fe en algo que fue semánticamente codificado, mantenible y tiene un futuro previsible bastante estable (en lugar de tener que reconstruir lo mismo una y otra vez, cada 6 meses más o menos). Puesta simple: haga que el núcleo/base sea lo suficientemente simple como para que siempre se represente de una manera útil y luego agregue la especia usando javascript y css-edge-technology para darle sabor al contenido.

+0

+1, muy bien dicho. – Brad

+0

Wow increíble respuesta. – TYRONEMICHAEL

+0

@radio y TyroneMichael: ¡gracias! – GitaarLAB

1

¿Has mirado en node.js en absoluto? Desde su portar el renderizado de vista a javascript de todos modos. Sería un poco más amigable tener más componentes que hablen el mismo idioma. Además, el modelo de procesamiento asíncrono libera una gran cantidad de estrés en el servidor que suelen causar los procesos con subprocesos. Los procesos de subprocesos pasan mucho tiempo (y potencia) esperando para ejecutarse.Pero en javascript, la gente generalmente configura métodos de devolución de llamada. Por lo tanto, en lugar de esperar a que finalice el proceso anterior, el nodo simplemente deja atrás un método de devolución de llamada que se ejecutará cuando sea necesario, mientras tanto, el resto de la aplicación seguirá funcionando a toda velocidad.

El nodo también es muy liviano. Puede usarlo junto con otras tecnologías del lado del servidor y no ocupará mucho espacio. Tiene algunas características bastante potentes, pero, personalmente, creo que es mejor para renderizar vistas (es javascript después de todo). También hace que la configuración de servidores y el enrutamiento sean fáciles de realizar. Así que configurar las cosas que mencionas en tu 4 ° párrafo sería un sinch.

De todos modos, son mis 2 centavos.

+0

Gracias @Julian. Ha experimentado con Node.js y es sin duda un excelente lenguaje de servidor de JavaScript. En realidad, no me preocupa la pila del lado del servidor, sino que puedo ofrecer una aplicación de SEO SEO en lugar de un sitio web estático. – TYRONEMICHAEL

+0

Por lo que sé, los bots de búsqueda generalmente no ejecutan código JavaScript. Algo así tendría que hacerse en el lado del servidor. – Julian

Cuestiones relacionadas