JavaScript

JavaScript es un lenguaje de programación que funciona en el lado del cliente y con el que las webs pueden ser más funcionales.

Integración en código HTML[editar]

El código JavaScript puede ser incrustado en las páginas HTML, para que adquieran funcionalidad. Hay varias opciones. Puede estar entre las etiquetas <SCRIPT> y </SCRIPT>, puede estar contenido en un archivo externo, puede ser un parámetro de las etiquetas HTML, y puede estar incrustado en forma de enlaces HTML. Al insertarlo en el código HTML, asegúrate de que el script no tiene errores. Por lo tanto, los errores pueden ser evitados, y éstos pueden que podría afectar negativamente a la optimización de motores de búsqueda.

DOM[editar]

Un lenguaje de scripting como JavaScript debería implementar DOM. DOM significa "Document Object Model" y es una recomendación del W3C. Es un modelo general para objetos en un documento.

Posibles aplicaciones[editar]

JavaScript tiene muchas aplicaciones diferentes. Se pueden contar las visitas al sitio, mostrar calendarios mensuales o verificar las entradas de formularios. Otro ejemplo de uso común es la calculadora. El carrito virtual en las webshops es otra aplicación muy buena. Los malos ejemplos son las ventanas emergentes que normalmente inundan a los usuarios con publicidad. También es posible ocultar el código fuente de una página de sus visitantes con JavaScript o impedir la copia de imágenes o textos. Puesto que en este caso se bloquea el botón derecho del ratón, el usuario también perderá otras funciones y sin quererlo, estaría muy limitado.

CommonJS puede servir como una extensión de JavaScript. Esto hace posibles las interfaces de programación, que son adecuadas para la implementación en aplicaciones como bases de datos, servicios web y aplicaciones de desktop.

Consecuencias de la desactivación[editar]

Los navegadores ofrecen a los usuarios la opción de desactivar JavaScript mediante complementos de NoScript. Los visitantes de una web ya no pueden utilizar aplicaciones JavaScript, pero estarán protegidos, por ejemplo, contra la publicidad molesta. Si demasiados elementos en un sitio web utilizan JavaScript, los usuarios no disfrutarán visitando esa web. La accesibilidad será limitada. Un sitio web debe ser navegable incluso cuando JavaScript está desactivado.

Seguridad a través del principio Sandbox[editar]

El principio Sandbox ha sido desarrollado para proteger a los usuarios del abuso de aplicaciones JavaScript. El Sandbox es una especie de jaula que restringe el lenguaje en su alcance. Una aplicación no puede acceder a ficheros locales, por ejemplo. Por lo tanto, las personas no autorizadas no pueden leer archivos ni escribir en ellos.

Relevancia para el SEO[editar]

Un motor de búsqueda generalmente no tiene en cuenta el código JavaScript. La interacción habilitada para los usuarios por las aplicaciones JavaScript no puede ser utilizada por un crawler. Éste visita una web de la misma manera que un usuario que ha desactivado JavaScript lo haría y no puede acceder a páginas web a las que sólo se puede acceder mediante JavaScript. El texto que se muestra con JavaScript tampoco es percibido por el motor de búsqueda en la mayoría de los casos. Las redirecciones se implementan mejor en el lado del servidor.

Tamaño del archivo y rendimiento[editar]

Si una web tiene elementos de interacción extensos que han sido implementados usando JavaScript y colocados al final del código fuente, aumentará el tamaño del archivo de cada subpágina individual. Esto a su vez aumenta el esfuerzo de rastreo para los motores de búsqueda. El tiempo de carga para los usuarios con conexiones lentas a Internet (como los teléfonos inteligentes) aumenta para cada subpágina.

En este caso, el código debe ser externalizado a un archivo JavaScript externo e integrado al final del código fuente. El archivo externo también debe ser almacenado en caché en el navegador del usuario para poder ser cargado con la primera vista de página. Esto resulta en un mejor rendimiento con la segunda vista de página y los motores de búsqueda también tendrán una tarea más fácil, porque el código fuente de las subpáginas es "más pobre". Los recursos del crawler se utilizan así en más contenido de la web e indirectamente promueven un mejor rposicionamiento.

Tiempo de carga y optimización de la conversión[editar]

Algunos webmasters tienden a externalizar los JavaScripts de varias subpáginas en archivos externos individuales. Esto puede causar que se soliciten muchos archivos JavaScript externos mientras se navega. Esto puede causar un aumento en el tiempo de renderizado debido a que los navegadores tienen un límite establecido de descargas paralelas máximas desde estos archivos externos (esto incluye imágenes y archivos CSS). Con demasiados archivos y una conexión lenta a Internet, puede ocurrir que la página tarde mucho tiempo en cargarse, lo que equivale a una "experiencia de usuario" pobre y, por lo tanto, puede tener un efecto negativo en la tasa de conversión.

Lo ideal es que todos los archivos JavaScript se fusionen en un único archivo que el usuario cargue una sola vez (caché) y que, por lo tanto, impida un doble rendimiento.

Tiempo de renderizado y optimización de la conversión[editar]

Otro truco para mejorar el rendimiento y la conversión de la web es colocar los archivos JavaScript externos al final del código fuente. La razón es que los navegadores pueden dejar de renderizar parcialmente la página web en el punto en el que se enlazó un archivo externo y cargarlo primero. Si el archivo JavaScript externo se encuentra en un servidor externo, que responde lentamente, el usuario sólo ve inicialmente una página en blanco.

Sólo una vez que todos los scripts y archivos CSS estén cargados finalizará el renderizado. Si colocas la referencia al archivo externo al final del código fuente, se mostrará el contenido del archivo HTML y los textos serán visibles antes de la carga completa. La ventaja es que los usuarios sólo tienen que esperar para obtener acceso a las funciones de interacción de las aplicaciones JavaScript si hay un servidor externo lento.

Enlaces Web[editar]