- Aprender
- Informática
- Programación
- Fundamentos de desarrollo web
- Publicación de un sitio web
Publicación y mantenimiento de un sitio web
PrincipianteUnidad 8 de 8 del curso Curso de Fundamentos de desarrollo web
Lo que aprenderás
- Organiza los archivos de un sitio web para que funcionen igual en tu computadora y en un servidor, enlázalos con rutas correctas y usa validadores para detectar errores en el HTML y el CSS.
- Organiza los archivos y las carpetas del sitioPlanifica una carpeta de proyecto con una página de inicio, nombres de archivo claros y carpetas separadas para estilos, scripts e imágenes.
- Enlaza páginas y archivos con rutas correctasEscribe rutas relativas y absolutas que encuentren el archivo correcto tanto en tu computadora como después de la carga, y evita errores de mayúsculas y barras que solo aparecen en línea.
- Valida HTML y CSSComprueba las páginas y las hojas de estilo con los validadores del W3C, lee sus mensajes y corrige los errores en un orden razonable.
- Organiza los archivos y las carpetas del sitio
- Usa las herramientas integradas en todos los navegadores principales para ver qué hace realmente el navegador con tu HTML y CSS, detectar errores y archivos que faltan y corregir problemas paso a paso.
- Inspecciona y ajusta HTML y CSS en tiempo realAbre las herramientas de desarrollo, inspecciona un elemento, observa qué reglas CSS se le aplican y por qué, y prueba correcciones antes de cambiar tus archivos.
- Detecta errores con los paneles Consola y RedLee los mensajes de error, encuentra archivos que faltan o cargan lentamente y comprende los códigos de estado que devuelve el servidor.
- Depura paso a paso y prueba distintos navegadores y tamaños de pantallaSigue un proceso repetible para encontrar la causa de un problema y comprueba las páginas en varios navegadores y anchos de pantalla antes de publicar.
- Inspecciona y ajusta HTML y CSS en tiempo real
- Prepara imágenes con el formato y el tamaño adecuados, añádelas a las páginas para que se carguen con eficiencia y mide y mejora la rapidez con que aparecen las páginas.
- Prepara archivos de imagen para la webElige un formato de imagen adecuado, cambia las dimensiones de las imágenes al tamaño en que se muestran y comprímelas sin pérdida visible de calidad.
- Añade imágenes a las páginas de forma que se carguen con eficienciaEscribe marcado de imágenes que reserve espacio, ofrezca el archivo adecuado para cada pantalla y formato y retrase la carga de las imágenes a las que el visitante aún no ha llegado al desplazarse.
- Mide y mejora la velocidad de la páginaAverigua qué ralentiza una página con herramientas de medición, interpreta las Core Web Vitals y aplica las correcciones básicas más eficaces.
- Prepara archivos de imagen para la web
- Proporciona a cada página el HTML que ayuda a los buscadores y a las vistas previas de enlaces a entender de qué trata, encontrarla y mostrarla correctamente.
- Describe cada página con un título, una descripción y encabezadosEscribe un título y una metadescripción únicos, declara el idioma de la página y estructura el contenido con encabezados significativos y elementos semánticos.
- Ayuda a los buscadores a encontrar e indexar las páginas adecuadasUsa enlaces, direcciones claras, robots.txt, un mapa del sitio y etiquetas canonical y noindex para que las páginas adecuadas puedan encontrarse y mostrarse en los resultados de búsqueda.
- Describe cada página con un título, una descripción y encabezados
- Comprende qué hace un alojamiento de sitios estáticos, elige uno adecuado para el sitio, ponlo en línea y publica actualizaciones de forma segura.
- Comprende el alojamiento de sitios estáticos y elige un proveedorExplica en qué se diferencia el alojamiento de sitios estáticos de otros tipos de alojamiento y compara proveedores según las necesidades de un sitio pequeño.
- Despliega un sitio y publica actualizacionesPon un sitio en línea con el método de publicación del proveedor, comprueba la versión publicada y publica cambios posteriores sin romper nada.
- Comprende el alojamiento de sitios estáticos y elige un proveedor
- Registra un nombre de dominio, conéctalo al proveedor de alojamiento mediante registros DNS, sirve el sitio de forma segura con HTTPS y mantenlo una vez publicado.
- Elige y registra un nombre de dominioInterpreta las partes de un nombre de dominio, elige un nombre y una terminación adecuados y regístralo y gestiónalo con un registrador de dominios.
- Apunta un dominio al alojamiento mediante DNSCrea los registros DNS que solicita un proveedor de alojamiento, comprende cuánto tardan los cambios y comprueba que el dominio apunte al lugar correcto.
- Sirve el sitio mediante HTTPSExplica qué protege HTTPS, obtén y renueva un certificado mediante el proveedor de alojamiento, redirige todo el tráfico a HTTPS y corrige el contenido mixto.
- Mantén un sitio publicadoMantén un sitio publicado correcto, operativo, seguro y accesible mediante comprobaciones rutinarias, copias de seguridad y renovaciones.
- Elige y registra un nombre de dominio
Guía de estudio de Publicación de un sitio web
1Prepara archivos que funcionen en línea
Un sitio puede parecer terminado en tu computadora y aun así fallar después de cargarlo. El servidor necesita un conjunto completo y bien organizado de archivos, y el navegador debe poder encontrar cada uno mediante su dirección. Empieza por elegir la carpeta que se convertirá en la raíz del sitio. Después, sigue los enlaces desde sus ubicaciones de origen y comprueba el HTML y el CSS en busca de errores que un navegador puede reparar u omitir sin avisar.
1.1 La carpeta que se convierte en tu sitio web
Un sitio web necesita una carpeta de proyecto que contenga todos los archivos que usarán los visitantes. Esta es la raíz del sitio. Publicar resulta mucho más fácil cuando esa carpeta es un sitio completo y portable: sin imágenes tomadas de Descargas ni hojas de estilo dejadas en la carpeta de otro proyecto.
Da un lugar a cada tipo de archivo
Un pequeño taller de reparación podría usar esta estructura:
riverside-bikes/
index.html
prices.html
contact.html
404.html
css/styles.css
scripts/menu.js
images/logo.svg
images/workshop-800.jpg
images/workshop-1600.jpg
blog/index.html
blog/winter-checklist.html
Las páginas HTML son el contenido, css/ contiene los estilos, scripts/ contiene los archivos JavaScript e images/ contiene las imágenes preparadas para los visitantes. Un sitio sin scripts no necesita una carpeta de scripts. Las carpetas separadas facilitan la búsqueda de archivos relacionados sin cambiar la forma en que los usa el navegador.
La mayoría de los servidores web envían index.html cuando un visitante solicita una carpeta. La dirección https://www.example.com/ abre la página de inicio de la raíz. La dirección https://www.example.com/blog/ abre blog/index.html. Un archivo llamado home.html sigue siendo una página, pero el servidor normalmente no lo elegirá para la dirección del sitio sin ruta.
Elige los nombres antes del lanzamiento
Usa letras minúsculas, guiones entre palabras y la extensión correcta. opening-hours.html y team-photo.jpg son nombres claros. Los espacios pueden aparecer en las URL como %20, lo que dificulta leer y escribir una dirección. Los nombres pasan a formar parte de las direcciones públicas del sitio, así que elígelos según el contenido que identifican.
La extensión debe corresponder al archivo: .html para HTML, .css para CSS, .js para scripts y una extensión de imagen adecuada como .jpg, .webp o .svg. El servidor envía una cabecera Content-Type que describe el formato del archivo. Los sistemas de alojamiento suelen usar las extensiones para elegir ese tipo. Cambiar el nombre de una foto de .jpg a .webp no convierte su contenido; expórtala al nuevo formato con una herramienta de imágenes.
La mayoría de los servidores distinguen los nombres en mayúsculas y minúsculas. Un enlace a Logo.svg puede fallar cuando el archivo cargado es logo.svg, aunque haya funcionado en una computadora con un sistema de archivos que no distingue mayúsculas de minúsculas. Acostumbrarte a usar nombres en minúsculas evita esa diferencia en los proyectos nuevos.
Separa los archivos públicos de los archivos de trabajo
Mantén los originales de cámara, los archivos de diseño y las notas fuera de la raíz del sitio, por ejemplo, en riverside-bikes-originals/. Exporta solo las imágenes preparadas para la web a images/. Los archivos de la carpeta publicada pueden descargarse incluso cuando ninguna página los enlaza. Mantén las contraseñas, los documentos privados y los datos personales fuera de esa carpeta.
Antes de cargar el sitio, comprueba que todos los recursos locales enlazados estén dentro del proyecto. Una foto en una dirección personal file:// existe en tu computadora; no viaja con el sitio a menos que la copies a la carpeta publicada. Después de moverla, actualiza el enlace y vuelve a probarlo.
Una estructura estable también protege los enlaces después del lanzamiento. Mover prices.html a una dirección nueva rompe los marcadores antiguos, salvo que el proveedor de alojamiento redirija esa dirección anterior a la página nueva.
Puntos clave
- La raíz del sitio contiene todo el sitio público, con
index.htmlen su nivel superior. - Usa nombres descriptivos en minúsculas, guiones y extensiones que correspondan al contenido de los archivos.
- Mantén los recursos originales y los archivos de trabajo privados fuera de la carpeta publicada.
- Mover una página publicada requiere una redirección para conservar su dirección anterior.
1.2 Rutas desde la página hasta el archivo
Una ruta indica al navegador dónde buscar un archivo. Para escribirla correctamente, identifica tanto el archivo solicitado como la ubicación desde la que el navegador resolverá la ruta.
Empieza en la carpeta del archivo que hace la referencia
Una ruta relativa comienza en la carpeta de la página actual. En el sitio del taller de bicicletas, index.html enlaza a prices.html con href="prices.html", al logotipo con src="images/logo.svg" y a una entrada con href="blog/winter-checklist.html".
Desde blog/winter-checklist.html, la ruta cambia:
<link rel="stylesheet" href="../css/styles.css">
<a href="../index.html">Home</a>
<img src="../images/logo.svg" alt="Riverside Bike Repair">
<a href="autumn-tips.html">Autumn tips</a>
Para el logotipo, primero sube desde blog/ con ../ y después entra en images/. Un archivo de la misma carpeta solo necesita su nombre. Para subir dos niveles, usa ../../. Usa siempre barras normales / en las rutas web, incluso cuando escribas en Windows.
Una ruta en un archivo CSS comienza en la carpeta del archivo CSS. En css/styles.css, la regla background-image: url("../images/pattern.svg"); sube desde css/ y después baja a images/. No comienza desde la página HTML que carga la hoja de estilo.
Distingue tres formas de dirección
| Forma | Ejemplo | Punto de partida |
|---|---|---|
| Ruta relativa | ../images/logo.svg | Carpeta del archivo que hace la referencia |
| Ruta relativa a la raíz | /images/logo.svg | Raíz del dominio |
| URL absoluta | https://www.example.com/images/logo.svg | Dirección web completa indicada |
Una URL absoluta incluye el esquema y el nombre del anfitrión. Úsala para otro sitio web. Las rutas relativas permiten trasladar tu propio sitio entre un servidor local, una dirección de vista previa y su dominio final sin sustituir el dominio en cada enlace.
Una barra inicial tiene un significado específico. En https://username.github.io/riverside-bikes/, /css/styles.css solicita https://username.github.io/css/styles.css. Elimina la carpeta del proyecto de la dirección. Desde la página raíz del sitio, css/styles.css conserva esa carpeta y llega al archivo deseado.
Prueba la dirección que realmente usa el navegador
Abrir HTML directamente desde el disco produce una dirección file://. Los enlaces a carpetas y las rutas que comienzan con / pueden comportarse de forma diferente allí. Ejecuta un servidor de desarrollo local desde la carpeta del sitio, por ejemplo, con python3 -m http.server, o usa la vista previa en vivo de un editor de código. Después abre la dirección HTTP local que proporciona.
En un servidor, href="blog/" abre blog/index.html. Si falla un enlace o una imagen, abre DevTools antes de recargar y busca su solicitud en Red. Un 404 significa que no se encontró el recurso solicitado. Lee la URL completa de la solicitud y compara cada carpeta, barra, letra y extensión con los archivos cargados. Una mayúscula o un ../ que falte bastan para enviar el navegador a otro lugar. Una ruta de una computadora personal copiada de un explorador de archivos no puede servir a los visitantes; sustitúyela por una ruta dentro del sitio.
Puntos clave
- Las rutas relativas comienzan en el archivo que hace la referencia;
../sube una carpeta. - Las rutas de imágenes en CSS comienzan en la hoja de estilo, no en la página HTML.
- Una
/inicial comienza en la raíz del dominio y puede omitir una subcarpeta del proyecto. - Usa barras normales y respeta exactamente las mayúsculas y minúsculas en las rutas.
- Rastrea un enlace roto mediante la URL completa de su solicitud en Red.
1.3 Errores que un navegador puede ocultar
Los navegadores intentan mostrar las páginas incluso cuando el código contiene errores. Esa recuperación es útil para los visitantes, pero puede ocultar problemas a quien crea la página. La validación comprueba el HTML o el CSS según las reglas de su estándar, independientemente de que la página se vea bien.
Usa el comprobador correspondiente al lenguaje
El W3C Nu Html Checker comprueba HTML. El W3C CSS Validation Service comprueba CSS. Puedes enviar una URL publicada, cargar un archivo o pegar código. Las comprobaciones integradas de un editor son útiles mientras escribes; los comprobadores web también permiten revisar la copia publicada.
Lee la línea y la columna asociadas a cada mensaje. Un error incumple una regla y debe corregirse. Una advertencia o un mensaje informativo pide atención, pero puede describir código permitido. Lee lo que indica antes de decidir si es necesario hacer un cambio.
Trabaja desde el primer error hacia abajo y vuelve a ejecutar el comprobador después de corregirlo. Una comilla que falta o un elemento mal cerrado pueden hacer que el código posterior parezca pertenecer a un lugar que no le corresponde y producir muchos mensajes adicionales.
Corrige la estructura en HTML
Considera estos elementos anidados incorrectamente:
<p>Open <strong>daily</p></strong>
El <strong> interior debe cerrarse antes que el <p> exterior:
<p>Open <strong>daily</strong></p>
Para una foto que aporta contenido, proporciona un atributo alt que describa su contenido relevante, como alt="Mechanic adjusting the brakes of a city bike". Una imagen decorativa usa un alt="" vacío. Cada id también debe ser único dentro de su página. Usa una clase compartida cuando varios elementos necesiten el mismo estilo.
Otras comprobaciones útiles incluyen la declaración de tipo de documento, un título de página, las comillas completas de los atributos y los elementos de lista dentro de una lista. Un <div> no puede estar dentro de un párrafo. El navegador cierra ese párrafo antes del elemento div y un </p> posterior puede convertirse en una etiqueta de cierre suelta. La estructura corregida por el navegador puede diferir del texto que escribiste.
Corrige las declaraciones en CSS
Un número y su unidad CSS deben ir juntos: escribe width: 100px;, sin espacio entre 100 y px. La propiedad para el color del texto es color. Una propiedad desconocida se ignora.
Un punto y coma que falta también puede afectar a la siguiente declaración:
.card {
margin: 10px
padding: 5px;
}
El navegador lee las dos líneas como una sola declaración no válida. Añade el punto y coma que falta después de 10px y vuelve a comprobar. Los navegadores suelen omitir las declaraciones no válidas sin mostrar un error en la página.
Combina las comprobaciones de código con las de la página
Superar la validación no demuestra que la página sea accesible, rápida, útil o que sus datos sean correctos. Prueba la navegación con teclado, examina la disposición en los navegadores y comprueba el propio contenido. Si el comprobador de CSS señala una función muy reciente, consulta su especificación y la información de compatibilidad de MDN antes de eliminar código que funciona; los comprobadores pueden ir por detrás de las funciones más recientes.
Valida después de cambios importantes y antes de publicar. Después de la carga, envía la dirección publicada y verifica que el contenido más reciente esté visible. Una página anterior válida puede superar la comprobación tan fácilmente como la actualizada.
Puntos clave
- Valida HTML y CSS con sus respectivos comprobadores.
- Corrige el primer error y vuelve a ejecutar la comprobación antes de ocuparte de los mensajes posteriores.
- Los navegadores reparan el HTML y omiten el CSS no válido, por lo que la apariencia por sí sola puede ocultar errores.
- Lee las advertencias y decide si señalan un problema real.
- Comprueba la accesibilidad, el comportamiento y la versión publicada junto con la validación.
2Encuentra la causa con las herramientas del navegador
Un navegador puede mostrarte la estructura que construyó, los estilos que seleccionó y cada archivo que solicitó. Estas pistas convierten un problema impreciso como «la página se ve mal» en algo que puedes comprobar. Usa Elementos para inspeccionar el elemento afectado, y Consola y Red para revisar los problemas de carga. Sigue un proceso repetible para aislar la causa. Guarda en los archivos fuente una corrección que funcione y pruébala en otros navegadores y tamaños de pantalla.
2.1 Observa qué CSS prevalece realmente
Las herramientas de desarrollo, llamadas a menudo DevTools, muestran cómo interpreta el navegador tu página. Haz clic derecho en un elemento y elige Inspeccionar. También puedes usar F12 o Ctrl+Shift+I en Windows y Linux, o Cmd+Option+I en macOS. En Safari, activa primero «Mostrar funciones para desarrolladores web» en Configuración, Avanzado.
Inspecciona la estructura del navegador
El panel Elementos, llamado Inspector en Firefox, muestra el DOM: la estructura construida a partir del HTML. El navegador puede haber reparado marcado no válido, por lo que no siempre es una copia directa del código fuente. Un <div> escrito dentro de un párrafo aparece fuera de él en el DOM porque el navegador cierra primero el párrafo.
Selecciona el elemento con el problema. El panel Estilos enumera las reglas CSS que coinciden y enlaza a sus archivos fuente y números de línea. Una declaración tachada no está activa. Otra regla puede prevalecer sobre ella, o un icono de advertencia puede mostrar que la declaración no es válida. El panel Calculado muestra los valores finales de las propiedades después de que el navegador haya resuelto esas reglas.
Sigue una regla de color que no prevalece
Supón que este enlace aparece en azul marino aunque su clase de botón indica blanco:
<a class="btn" href="contact.html">Contact us</a>
#main a { color: navy; }
.btn { color: white; }
Ambas reglas coinciden cuando el enlace está dentro de id="main". El selector de id hace que #main a sea más específico: su especificidad es (1, 0, 1), frente a (0, 1, 0) para .btn. En estas reglas ordinarias, colocar .btn más tarde no supera esa diferencia.
Una corrección precisa es #main .btn, con especificidad (1, 1, 0). Otra es sustituir la regla amplia de id por una clase para el enlace, como .nav-link. Dos selectores de una sola clase tienen la misma especificidad, por lo que su orden puede decidir el color. Cambiar #main a por .main a sigue dejando (0, 1, 1), que supera a .btn. Inspecciona la regla que prevalece realmente antes de elegir la corrección más pequeña que resulte útil.
Mide toda la caja
El diagrama del modelo de caja separa contenido, relleno, borde y margen. Con box-sizing: content-box, un ancho de contenido de 300px más un relleno de 20px a cada lado y bordes de 2px ocupa:
Es una caja con borde de 344px, antes de añadir márgenes. Con box-sizing: border-box, toda la caja con borde mantiene 300px de ancho; el ancho de su contenido pasa a ser:
Usa el diagrama para explicar una separación o un desbordamiento en lugar de cambiar repetidamente los anchos por tanteo. Los indicadores de flexbox y cuadrícula también pueden mostrar pistas, líneas y separaciones de la disposición.
Prueba un cambio y después guárdalo
Desactiva una declaración, edita un valor o añade una regla en Estilos. Fuerza :hover o :focus para examinar un estado sin mantener el puntero o el teclado en su lugar. Estas ediciones son temporales: la edición normal en DevTools no actualiza los archivos de tu proyecto. Copia el cambio que funciona al código fuente, guarda y recarga. Si la corrección desaparece, aún no se ha guardado en la copia que carga el navegador.
Puntos clave
- Elementos muestra el DOM construido por el navegador; Estilos muestra las reglas que coinciden; Calculado muestra los valores finales.
- Rastrea una declaración tachada hasta la regla o el valor no válido que impide que se aplique.
- Inspecciona el contenido, el relleno y el borde en conjunto al diagnosticar anchos.
- Copia los cambios probados en DevTools al código fuente y recarga para verificarlos.
2.2 Interpreta solicitudes fallidas y archivos desactualizados
Una página se construye a partir de varias solicitudes. El HTML puede llegar correctamente mientras falla una hoja de estilo o una imagen. Los mensajes de la Consola y el panel Red muestran estos resultados por separado.
Abre las herramientas antes de recargar
La Consola informa de errores y advertencias, incluidos fallos de scripts, recursos que faltan y contenido mixto. Los mensajes suelen enlazar al archivo y la línea afectados. Incluso un sitio de HTML y CSS puede tener mensajes útiles en la Consola.
El panel Red registra las solicitudes de la página mientras DevTools está abierto. Ábrelo, recarga y filtra por CSS, imágenes o fuentes para reducir la lista. Lee la URL solicitada, el estado, el tipo, el tamaño y el tiempo. Selecciona una entrada para inspeccionar sus cabeceras de respuesta y su contenido.
| Estado | Significado | Qué comprobar |
|---|---|---|
200 | Correcto; se envió una respuesta | Si es el archivo y el tipo esperados |
301 o 308 | Redirección permanente | La dirección de destino |
304 | No modificado | Se está reutilizando la copia guardada |
404 | No encontrado | Ruta, mayúsculas y archivo cargado |
5xx | Problema del servidor | Estado del proveedor y respuesta del servidor |
Un estado de la serie 400 se refiere a la solicitud; uno de la serie 500 se refiere al servidor. Un 404 no demuestra que debas cambiar la disposición CSS.
Rastrea un logotipo que falta
La página publicada tiene un espacio de imagen vacío. En Red, su solicitud es https://www.example.com/images/Logo.svg y devuelve 404. El archivo cargado es images/logo.svg. La L mayúscula solicitada no coincide con el nombre real en minúsculas. Corrige la ruta en el HTML, despliega la página y confirma que la solicitud ahora se completa correctamente.
Rastrea una página sin estilos
Busca primero la solicitud del CSS. Si no aparece ninguna solicitud, inspecciona el elemento <link>, incluido rel="stylesheet". Si la solicitud devuelve 404, compara su URL con la ubicación del archivo cargado.
Un 200 solo indica que la respuesta se recibió correctamente, no confirma que sea CSS. Comprueba la Consola y la cabecera Content-Type de la respuesta, que debe ser text/css. Un proveedor de alojamiento puede devolver por error una página de error HTML con estado 200, y el navegador se negará a aplicarla como hoja de estilo. Una vez que llegue el CSS correcto con el tipo adecuado, inspecciona las declaraciones no válidas y los selectores que no coinciden con el elemento afectado.
Descarta la copia guardada del navegador
Una caché guarda archivos para reutilizarlos. Ahorra tiempo de descarga, pero una copia antigua puede hacer que parezca que falta una actualización que sí se realizó. Con DevTools abierto, activa «Desactivar caché» en Red y recarga. En Chrome, Edge y Firefox, Ctrl+Shift+R en Windows y Linux o Cmd+Shift+R en macOS fuerza una recarga completa. Inspecciona el contenido recibido antes de concluir que la carga falló.
Las columnas de tamaño y tiempo también ayudan con los problemas de velocidad. Una imagen de 3,6 MB entre pequeños archivos de texto es un buen punto de partida. La limitación de la velocidad de red simula una conexión más lenta. Una página HTTPS que solicita un archivo con http:// puede provocar una advertencia de contenido mixto; inspecciona la URL exacta del recurso para encontrar la referencia insegura.
Puntos clave
- Abre Red antes de recargar para que registre las solicitudes que necesitas.
- Un 404 exige comprobar la ruta y la carga; un 200 sigue requiriendo que el contenido y el tipo de respuesta sean correctos.
- Usa conjuntamente los mensajes de la Consola y las cabeceras de respuesta para diagnosticar el CSS rechazado.
- Desactiva la caché al comprobar si ha llegado una versión nueva.
- Las columnas de tamaño y tiempo de Red revelan recursos pesados o lentos.
2.3 Una corrección repetible y fiable
Un informe de error útil describe una diferencia observable: «Con un ancho de 360px, la página de contacto se desplaza horizontalmente». Es más fácil de investigar que «la disposición para móviles está rota». Anota la dirección de la página, el navegador, el ancho de pantalla, el resultado real y el resultado esperado.
Sigue los indicios en cinco pasos
- Reproduce. Haz que el problema vuelva a aparecer en las mismas condiciones.
- Reúne indicios. Lee Consola y Red, valida el código e inspecciona el elemento afectado.
- Aísla. Desactiva una regla o elimina temporalmente una pequeña parte del código para acotar la causa.
- Cambia una cosa. Comprueba si ese cambio explica el resultado.
- Guarda y vuelve a probar. Aplica la corrección en el código fuente, recarga y comprueba otras condiciones.
Cambiar varias cosas a la vez dificulta interpretar el resultado. Un cambio puede resolver el problema original mientras otro crea uno nuevo. Mantén disponible el caso que falla para poder comparar el antes y el después.
Resuelve un desbordamiento en pantalla estrecha
Una página cabe en una computadora portátil, pero se desplaza horizontalmente con un área de visualización de 360px. Abre el modo de diseño adaptable con ese ancho. Pasa el puntero sobre los elementos en Elementos y observa sus cajas resaltadas. Una imagen es más ancha que su columna; su HTML le da un ancho intrínseco grande y ningún CSS lo limita.
Prueba esta regla:
img {
max-width: 100%;
height: auto;
}
El ancho máximo permite que la imagen se reduzca hasta caber en su contenedor. La altura automática conserva sus proporciones. Si el desbordamiento desaparece, guarda esa regla en la hoja de estilo correcta y recarga. Después prueba también la imagen con anchos mayores. Ocultar el desbordamiento horizontal de la página podría ocultar parte de la imagen sin hacer que quepa.
Si el cambio no hace nada, usa los indicios para acotar el siguiente paso. ¿Aparece la regla en Estilos? ¿Otra regla prevalece sobre ella? ¿Cargó el navegador el archivo que editaste? Las causas comunes incluyen nombres de clase que no coinciden, rutas incorrectas, llaves o puntos y coma que faltan, archivos sin guardar y copias en caché.
Prueba motores y tamaños de ventana
El modo de diseño adaptable cambia el ancho del área de visualización y puede simular la interacción táctil, pero no reproduce todos los detalles de velocidad, fuentes o renderizado de un teléfono real. Comprueba los puntos de ruptura de las consultas de medios y los anchos intermedios y después usa al menos un teléfono real.
Chrome y Edge usan Blink, Firefox usa Gecko y Safari usa WebKit. Dos navegadores que usan el mismo motor no ofrecen la misma amplitud de pruebas que los navegadores con motores distintos. Safari es especialmente relevante para los muchos navegadores de iPhone que usan WebKit. Consulta la información de compatibilidad de MDN antes de depender de una función más reciente.
Comprueba la versión publicada
El comportamiento del servidor puede revelar fallos ocultos al trabajar desde el disco: nombres que distinguen mayúsculas de minúsculas, archivos que no se cargaron y rutas que omiten una subcarpeta del proyecto. Abre la dirección publicada, sigue los enlaces e inspecciona allí las solicitudes fallidas.
Antes de publicar, valida el HTML y el CSS, inspecciona los errores de la Consola, comprueba que no haya errores 404 inesperados, prueba anchos de teléfono, tableta y escritorio y comprueba al menos dos motores de navegador. Usa el teclado para recorrer la navegación y activar controles. Después del despliegue, repite las comprobaciones en el sitio publicado allí donde se use la función modificada.
Puntos clave
- Describe un problema reproducible con su dirección, navegador y área de visualización.
- Aísla una causa y cambia una cosa cada vez.
- Prueba distintos motores de navegador y un teléfono real, además del modo de diseño adaptable.
- Comprueba tanto el código fuente guardado como la versión publicada.
- Incluye los enlaces y la navegación con teclado en las comprobaciones de lanzamiento.
3Haz que las páginas sean rápidas y estables
Las imágenes grandes suelen representar la mayor parte de la descarga de un sitio pequeño. Preparar los archivos ahorra datos; un buen marcado de imágenes ayuda después al navegador a elegir un archivo adecuado y reservar su espacio. Mide la página para encontrar las mayores demoras restantes y los desplazamientos inesperados. Usa Red, Lighthouse y los datos de visitantes reales para decidir qué mejorar, teniendo en cuenta la pantalla, la conexión y el dispositivo del visitante.
3.1 Archivos de imagen más pequeños con suficientes detalles
Una imagen optimizada es un archivo pequeño que sigue viéndose bien al tamaño al que se muestra. Empieza por el formato, las dimensiones en píxeles y la compresión. Reducir una foto demasiado grande con CSS cambia su apariencia, pero el navegador sigue descargando y decodificando el archivo original.
Adapta el formato al contenido
| Formato | Opción útil para | Propiedad principal |
|---|---|---|
| JPEG | Fotos | Compresión con pérdida; sin transparencia |
| PNG | Capturas de pantalla, gráficos nítidos | Sin pérdida; admite transparencia |
| WebP o AVIF | Fotos y otros gráficos de mapa de bits | Formatos modernos con pérdida o sin pérdida; transparencia |
| GIF | Animaciones sencillas existentes | Limitado a 256 colores por fotograma |
| SVG | Logotipos, iconos, dibujos sencillos | Formas vectoriales que se mantienen nítidas al cambiar de tamaño |
Las imágenes de mapa de bits almacenan píxeles. Al ampliar una imagen pequeña de mapa de bits aparece borrosidad porque no se crean detalles adicionales. SVG almacena formas y líneas, por lo que es adecuado para un logotipo, pero no para una foto de cámara. Los navegadores principales actuales admiten WebP y AVIF. Para animaciones, un formato de imagen moderno o un vídeo corto suelen generar un archivo más pequeño que GIF.
La compresión sin pérdida conserva los valores de los píxeles. La compresión con pérdida elimina algunos detalles para ahorrar más bytes. Una calidad menor acaba produciendo zonas cuadriculadas o bordes borrosos. Compara la exportación al tamaño real al que se muestra. Haz cada nueva exportación desde el original y evita guardar repetidamente con pérdida una copia ya comprimida.
Cambia las dimensiones para el mayor uso
Una foto que se muestra con un ancho máximo de 800 píxeles CSS necesita unos 800 píxeles de imagen en una pantalla de densidad estándar y 1600 en una pantalla que usa dos píxeles del dispositivo por píxel CSS. Prepara alternativas adecuadas en lugar de enviar el original de la cámara a todo el mundo.
El original del taller de bicicletas tiene 4000 × 3000 píxeles y ocupa 3,6 MB. Una exportación de 1600 × 1200 tiene:
píxeles, o el 16 % de los 12 millones del original. Una exportación JPEG con calidad 80 podría ocupar unos 240 KB; el tamaño real depende de la foto. Ese ejemplo ahorra aproximadamente el 93 % de los bytes del archivo.
A 10 Mbit/s, usando MB decimales, el tiempo de transferencia ideal del original es:
segundos. La exportación de 0,24 MB tarda unos 0,19 segundos. Estos son solo tiempos de transferencia; la carga real también incluye las demoras de conexión y del servidor. Al decodificar con 4 bytes por píxel, el uso de memoria baja de 48 MB a 7,68 MB. Un archivo codificado más pequeño y menos píxeles decodificados son dos mejoras distintas.
Exporta una copia pública
Usa los controles de exportación de un editor de imágenes o una herramienta como Squoosh. Conserva el original fuera de la carpeta publicada y da a las exportaciones nombres claros como workshop-800.jpg y workshop-1600.jpg. Elimina los metadatos de la cámara durante la exportación; pueden incluir la fecha de la foto, los datos de la cámara y la ubicación GPS.
Para un SVG, un optimizador como SVGO elimina los datos sobrantes del programa de dibujo. La compresión de texto en el servidor puede reducir aún más su tamaño de transferencia. Sea cual sea el formato, inspecciona la imagen terminada: una foto guardada como PNG puede ser innecesariamente grande, mientras que un logotipo con mucho texto guardado como JPEG puede tener bordes difuminados.
Puntos clave
- Elige un formato según el contenido de la imagen: las fotos necesitan formatos de mapa de bits; SVG suele ser adecuado para logotipos sencillos.
- Cambia las dimensiones del archivo para el tamaño de visualización y la densidad de pantalla.
- Compara las exportaciones con pérdida al tamaño en que se muestran y exporta desde el original.
- Elimina los metadatos innecesarios de las copias públicas de imágenes.
- Las dimensiones en píxeles afectan tanto a la memoria decodificada como al tamaño de descarga.
- Cambiar el tamaño solo con CSS no reduce el archivo de imagen descargado.
3.2 Imágenes que encajan sin desplazar el texto
Una imagen puede ser lo bastante pequeña para descargarse rápido y aun así hacer que la página dé un salto. El navegador necesita conocer sus proporciones antes de que llegue y disponer de opciones útiles para distintas pantallas.
Reserva espacio con las dimensiones
Escribe atributos width y height numéricos sin unidades:
<img src="images/workshop-800.jpg"
width="800" height="600"
alt="Mechanic adjusting the brakes of a city bike">
Estas dimensiones indican al navegador la relación de aspecto 4:3. Con max-width: 100%; height: auto; en CSS, la imagen se reduce para caber en una columna estrecha. En una columna de 360px de ancho, su altura es:
píxeles. Reservar ese espacio evita que el texto inferior se desplace hacia abajo cuando se carga la imagen. La falta de dimensiones puede producir desplazamientos del diseño, los movimientos inesperados que mide CLS.
Ofrece anchos que el navegador pueda elegir
Para la misma foto en dos tamaños, usa descriptores de ancho y una descripción de su ancho de visualización:
<img src="images/workshop-800.jpg"
srcset="images/workshop-800.jpg 800w,
images/workshop-1600.jpg 1600w"
sizes="(max-width: 840px) 100vw, 800px"
width="800" height="600"
alt="Mechanic adjusting the brakes of a city bike">
800w y 1600w indican los anchos reales de los archivos. En esta disposición, sizes indica que la imagen ocupa el ancho del área de visualización hasta 840px y 800px por encima de ese valor. El navegador usa el ancho declarado para la imagen, la densidad de pantalla y sus reglas de selección para elegir un archivo. Haz que sizes coincida con la disposición real; indicar que ocupa toda el área de visualización cuando la columna es mucho más estrecha puede causar descargas innecesarias.
Ofrece formatos con una alternativa
<picture>
<source srcset="images/workshop.avif" type="image/avif">
<source srcset="images/workshop.webp" type="image/webp">
<img src="images/workshop.jpg" width="800" height="600"
alt="Mechanic adjusting the brakes of a city bike">
</picture>
El navegador elige el primer formato de origen compatible. El <img> obligatorio proporciona la alternativa, las dimensiones y el texto alternativo. Esta es una elección de formato; srcset con descriptores de ancho resuelve el problema relacionado de elegir un ancho adecuado en píxeles.
Retrasa las imágenes que aún no se necesitan
Usa loading="lazy" para las imágenes situadas más abajo en una página. El navegador puede esperar hasta que el visitante se acerque a ellas, lo que ahorra datos de las imágenes a las que nunca llega. Mantén la carga inmediata de las imágenes visibles al principio, especialmente la gran imagen principal destacada. La carga diferida de esa imagen retrasa el contenido que los visitantes esperan ver. Una imagen principal en el HTML se descubre pronto; fetchpriority="high" puede solicitar una mayor prioridad de descarga para ella.
Escribe texto alt según la finalidad de la imagen en su contexto. Una imagen decorativa lleva alt="". Las fotos y los diagramas que aportan contenido deben estar en el HTML como imágenes; un fondo CSS es adecuado para la decoración y no tiene atributo alt ni atributo loading nativo.
Puntos clave
- Los atributos width y height correctos reservan la relación de aspecto de la imagen antes de la carga.
- Usa
srcsety unsizespreciso para ofrecer anchos de imagen adecuados. - Usa fuentes de
<picture>para elegir formatos y conserva el<img>alternativo obligatorio. - Aplica carga diferida a las imágenes situadas debajo de la zona visible inicial y mantén la carga inmediata de las visibles al abrir la página y de la imagen principal destacada.
- Coloca las imágenes que aportan contenido en el HTML con texto alternativo útil.
3.3 Mide lo que los visitantes esperan
El peso de la página es la cantidad total de datos descargados para una página. El HTML da lugar a solicitudes de CSS, imágenes, scripts y fuentes. Los tamaños de los archivos, el número de solicitudes, la velocidad de conexión y el rendimiento del dispositivo contribuyen a la experiencia.
Encuentra la parte más grande
La página de inicio del taller de bicicletas descarga 15 KB de HTML, 30 KB de CSS, dos fuentes de 40 KB, una imagen principal de 2400 KB y tres fotos de 350 KB:
KB. Las imágenes representan 3450 KB, aproximadamente el 96,5 %. Con una imagen principal de 220 KB y tres fotos de 45 KB, el total pasa a ser:
KB, aproximadamente un 87 % menos. A 10 Mbit/s, el tiempo de transferencia ideal baja de unos 2,86 segundos a 0,38 segundos. La respuesta del servidor y el establecimiento de la conexión añaden tiempo. Eliminar unos pocos espacios del CSS tendría poco efecto en comparación con este ahorro en imágenes.
Interpreta las medidas de experiencia
Las Core Web Vitals, a octubre de 2026, miden distintos problemas:
| Medida | Qué registra | Umbral bueno |
|---|---|---|
| LCP: renderizado del mayor elemento con contenido | Cuándo aparece la imagen o el bloque de texto visible más grande | 2,5 segundos o menos |
| INP: interacción hasta el siguiente pintado | Demora desde la interacción hasta la siguiente respuesta visible | 200 milisegundos o menos |
| CLS: desplazamiento acumulado del diseño | Movimiento inesperado durante toda la vida de la página | 0,1 o menos |
Un buen rendimiento en los datos de campo cumple cada umbral en el percentil 75. CLS puede incluir un banner que desplaza contenido después de la carga, no solo una imagen que llega durante la carga inicial.
Lighthouse en Chrome o Edge ejecuta una prueba de laboratorio con puntuaciones y correcciones sugeridas. PageSpeed Insights ejecuta pruebas en línea y, cuando hay suficientes observaciones, muestra datos de campo de visitas reales de Chrome. Una puntuación de laboratorio es una prueba en unas condiciones elegidas. Repite las comparaciones con la misma configuración y consulta las visitas reales cuando haya datos disponibles.
Mejora primero lo que más recursos consume
Prepara primero las imágenes y su marcado. Después reduce las familias y variantes de grosor innecesarias, usa fuentes WOFF2 y usa font-display: swap para que aparezca texto con una fuente alternativa mientras se carga la fuente. Añade defer a los scripts externos adecuados para que la descarga no bloquee el análisis del HTML y la ejecución se produzca después de ese análisis. Los mapas grandes, reproductores de vídeo y otros contenidos insertados de terceros pueden cargarse a demanda.
La minificación elimina espacios y comentarios del código. La compresión con gzip o Brotli reduce los bytes de texto transferidos. Ambas ayudan, pero las imágenes JPEG, WebP y AVIF, ya comprimidas, se benefician poco de una compresión adicional como la que se aplica al texto.
El uso de caché permite que los visitantes que regresan reutilicen archivos, y se controla mediante cabeceras como Cache-Control. Una CDN conserva copias en distintas regiones para reducir la distancia que recorren las solicitudes. Cuando cambia un recurso que permanece mucho tiempo en caché, un nombre como styles-v2.css o una dirección como styles.css?v=2 hace que se realice una nueva solicitud. Prueba con limitación de la velocidad de red y en un teléfono; una computadora portátil rápida con Wi-Fi puede ocultar una experiencia móvil lenta.
Puntos clave
- Usa el peso de la página y los tiempos de las solicitudes para elegir la mejora más útil y de mayor impacto.
- LCP, INP y CLS registran la carga, la capacidad de respuesta y la estabilidad visual.
- Compara pruebas de laboratorio con la misma configuración; los datos de campo reflejan visitas reales.
- Optimiza las imágenes antes de buscar pequeños ahorros en archivos de texto cuando las imágenes ocupan la mayor parte.
- Mantén ligeros las fuentes, los scripts y los contenidos insertados de terceros.
- La caché y las CDN aceleran la entrega; los archivos modificados que permanecen mucho tiempo en caché necesitan una dirección nueva.
4Haz que las páginas sean claras para los buscadores
Los buscadores descubren páginas mediante enlaces y leen su contenido para comprenderlas. Un título de página útil, una descripción fiel y un esquema claro de encabezados dan a cada página una finalidad reconocible. Los controles de rastreo e indexación ayudan después a orientar qué páginas públicas se encuentran y se muestran. Aprende las distintas funciones de los enlaces, robots.txt, noindex, los mapas del sitio y las URL canónicas para que una configuración no anule otra por accidente.
4.1 Títulos, descripciones y un esquema legible
Cada página debe explicar su propia finalidad en su HTML. Los buscadores leen ese marcado, y las pestañas del navegador, los marcadores y los lectores de pantalla también dependen de él. Una estructura clara comienza con el contenido que los visitantes pueden leer realmente.
Nombra la página en la cabecera
El elemento <title> va dentro de <head>. Da a cada página su propio título descriptivo, con el nombre del sitio después del tema específico:
<title>Repair Prices – Riverside Bike Repair</title>
<meta name="description"
content="Prices for flat repairs, brake adjustments and full services at Riverside Bike Repair. Walk in Monday to Saturday or book online.">
El título aparece en la pestaña del navegador y en los marcadores y normalmente aporta el titular de los resultados de búsqueda. HTML no impone un límite de longitud al título, pero los resultados de búsqueda recortan el texto para que quepa, así que coloca las palabras útiles al principio. Un título genérico como «Inicio» aporta poca información cuando aparece separado del sitio.
La metadescripción es un resumen legible de la página de una o dos frases. Los buscadores pueden usarla para el fragmento de un resultado, pero también pueden seleccionar texto de la página. Adapta la descripción al contenido de esa página. Copiar una misma descripción en todas las páginas oculta las diferencias entre ellas; una lista de palabras clave repetidas no es un resumen útil. Google ignora la antigua etiqueta meta keywords.
Declara el idioma y los caracteres
Usa <html lang="en"> para una página en inglés. Ayuda a los lectores de pantalla a elegir la pronunciación y a los navegadores a gestionar las funciones de idioma. Google identifica el idioma a partir del texto visible e ignora este atributo, así que no lo trates como un ajuste del idioma para Google.
Coloca <meta charset="utf-8"> al principio de la cabecera para que caracteres como é y una raya corta se muestren correctamente. Incluye la etiqueta meta del área de visualización que se usa para páginas adaptables:
<meta name="viewport" content="width=device-width, initial-scale=1">
Haz que el esquema corresponda a las ideas
Usa un <h1> claro para el tema principal de la página, <h2> para sus secciones principales y <h3> para las subsecciones. En la página de precios, «Servicios» es un h2, con «Servicio básico» y «Servicio completo» como encabezados h3 debajo. Elige los niveles de encabezado según esta relación; ajusta sus tamaños visuales con CSS.
Los elementos semánticos identifican funciones: <nav> para la navegación, <main> para el contenido principal y los elementos <header>, <article>, <section> y <footer> adecuados. Usa listas reales, enlaces para navegar y botones para las acciones. Una página de divisiones genéricas pierde estas señales de función. Mantén las palabras importantes, como precios, horarios de apertura y encabezados, en texto HTML, donde están disponibles como texto para los visitantes y las herramientas.
Configura una vista previa útil del enlace compartido
Las etiquetas Open Graph describen una vista previa del enlace en aplicaciones sociales y de mensajería. Las propiedades habituales son og:title, og:description y og:image:
<meta property="og:title" content="Repair Prices">
<meta property="og:image"
content="https://www.example.com/images/workshop-800.jpg">
Usa una URL HTTPS completa para la imagen de vista previa. Estas etiquetas describen la tarjeta compartida; no sustituyen los encabezados visibles de la página ni su título y descripción habituales.
Puntos clave
- Da a cada página un título específico y una descripción fiel y única.
- Usa
langpara los navegadores y las tecnologías de apoyo que tienen en cuenta el idioma. - Elige los niveles de encabezado según el esquema del contenido y aplica estilos a su tamaño con CSS.
- El HTML semántico y el texto real de la página facilitan la interpretación del contenido.
- Las etiquetas Open Graph proporcionan los detalles de la vista previa del enlace compartido.
4.2 Descubrimiento, indexación y direcciones preferidas
El rastreo consiste en obtener páginas, a menudo siguiendo enlaces. La indexación consiste en almacenar información sobre esas páginas para los resultados de búsqueda.
Da a cada página una vía de acceso
Enlaza cada página desde al menos otra página con un enlace <a href> normal. Un texto descriptivo como «precios de reparación» indica a los visitantes y a los rastreadores qué contiene el destino. Una ruta legible como /blog/winter-checklist.html da más contexto que /page7.html.
Un mapa del sitio enumera las URL preferidas completas que quieres que se descubran. Una entrada XML puede ser así:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/prices.html</loc>
<lastmod>2026-10-01</lastmod>
</url>
</urlset>
La fecha opcional de última modificación debe representar un cambio significativo. Actualiza el mapa del sitio a medida que cambien las páginas. Un sitio pequeño y bien enlazado puede descubrirse sin un mapa del sitio.
Distingue los controles de rastreo e indexación
Un archivo robots.txt en la raíz del dominio indica a los rastreadores que respetan sus reglas qué rutas no deben obtener:
User-agent: *
Disallow: /drafts/
Sitemap: https://www.example.com/sitemap.xml
Esto no bloquea el acceso a la carpeta. Las personas pueden abrir sus direcciones y una URL bloqueada aún puede aparecer en los resultados si otras páginas la enlazan. Sin un archivo robots.txt, los rastreadores tienen permiso para obtener las páginas. Una línea Disallow: / copiada bloquea el rastreo de todo el sitio, así que elimina el bloqueo de un sitio de prueba antes del lanzamiento cuando el sitio deba rastrearse.
Para solicitar que una página se excluya de los resultados de búsqueda, coloca esto en su cabecera:
<meta name="robots" content="noindex">
El rastreador debe obtener la página para leer esa instrucción. Bloquear la misma URL en robots.txt puede impedir que descubra noindex. Ninguna de las dos configuraciones hace privada una página: el contenido privado necesita control de acceso o debe permanecer fuera del sitio público.
Elige una dirección para el contenido duplicado
Una página puede responder en direcciones HTTP y HTTPS, con y sin www, o tanto en /blog/ como en /blog/index.html. Un enlace canónico identifica la dirección preferida:
<link rel="canonical" href="https://www.example.com/blog/">
Usa la URL absoluta completa. El marcado canónico es una indicación importante; una redirección que envía realmente a los visitantes a la dirección preferida es una señal más fuerte. Haz que los enlaces internos y las URL del mapa del sitio coincidan con esa preferencia para evitar señales contradictorias.
Comprueba qué pueden ver los buscadores
Google Search Console y Bing Webmaster Tools aceptan mapas del sitio y muestran problemas de indexación y rastreo después de que verifiques que controlas el sitio. Una búsqueda de site:example.com da una visión aproximada de las páginas indexadas. Los sitios nuevos pueden tardar días o semanas en aparecer. Un mapa del sitio, un marcado claro o un pago no pueden garantizar una posición alta; estas herramientas te ayudan a encontrar obstáculos técnicos y a entender qué se ha procesado.
Puntos clave
- El rastreo obtiene una página; la indexación pone su contenido a disposición de la búsqueda.
- Enlaza cada página con un texto de enlace útil y enumera las URL preferidas en un mapa del sitio.
robots.txtcontrola las solicitudes de rastreo, mientras quenoindexsolicita la exclusión de los resultados.- Un rastreador necesita acceso para leer una etiqueta
noindexde la página. - Los enlaces canónicos sugieren una URL preferida; las redirecciones envían allí a los visitantes.
- Usa las herramientas para administradores de sitios web para inspeccionar problemas de descubrimiento e indexación.
5Publica y actualiza un sitio estático
El alojamiento de sitios estáticos sirve el HTML, el CSS y los demás archivos que has preparado. Elige un servicio cuyo método de publicación, límites y funciones se ajusten al sitio que necesitas mantener. Después despliega la carpeta correcta, comprueba la dirección publicada del proveedor y sigue un proceso controlado para los cambios posteriores. Una carga correcta es el comienzo de la comprobación del sitio publicado: aún hay que detectar recursos que faltan, contenido antiguo y direcciones rotas.
5.1 Elige alojamiento para el sitio que tienes
Un sitio web estático sirve archivos HTML, CSS, de imagen y de scripts preparados. Su contenido puede actualizarse cada vez que publicas archivos nuevos; «estático» describe cómo los sirve el proveedor de alojamiento. El servidor de alojamiento sigue entregándolos cuando tu propia computadora está apagada.
Conoce lo que ofrece el proveedor
Un sitio web dinámico construye respuestas en el servidor, a menudo a partir de una base de datos. Un pequeño sitio informativo o portafolio creado con HTML y CSS puede usar alojamiento de sitios estáticos sin programación del lado del servidor. Añadir el marcado de un formulario de contacto no crea por sí solo un servicio que guarde o envíe por correo los datos recibidos. Eso requiere un servicio de procesamiento de formularios del proveedor de alojamiento o un servicio independiente.
Los proveedores de alojamiento de sitios estáticos suelen ofrecer una dirección temporal, controles de publicación y HTTPS. Muchos sirven archivos mediante una red de distribución de contenidos, que conserva copias regionales. GitHub Pages, Netlify, Cloudflare Pages y Vercel son ejemplos, con distintas condiciones de plan y procesos de trabajo. El alojamiento compartido es otra opción y a menudo admite la transferencia segura de archivos.
Una página estática puede seguir ejecutando JavaScript en el navegador del visitante, por ejemplo, para la interacción con un menú. El proveedor sigue sirviendo un archivo de script preparado. Sin código de aplicación del sitio ni base de datos ejecutándose en el servidor, hay menos componentes de la aplicación que atacar; la cuenta de alojamiento y los archivos públicos siguen necesitando protección.
Un sitio de usuario de GitHub Pages usa la dirección raíz https://username.github.io/ desde un repositorio llamado username.github.io. Un sitio de proyecto usa una subcarpeta como /riverside-bikes/. Esa estructura de dirección importa al probar rutas de recursos relativas a la raíz.
Compara las necesidades con el plan actual
Lee los límites y las condiciones del plan antes de elegir. Comprueba:
- Las cantidades permitidas de almacenamiento y transferencia mensual de datos.
- Si el plan permite el uso comercial.
- La compatibilidad con dominios personalizados y el HTTPS automático.
- Un método de publicación que puedas usar de forma fiable.
- Las páginas de error personalizadas, las redirecciones y la recuperación de despliegues anteriores.
- El procesamiento de formularios si los visitantes deben enviar información.
- La facilidad con que puedes llevar tus archivos a otro proveedor de alojamiento.
Un portafolio de fotógrafo de seis páginas con 40 fotos preparadas cabe en muchos planes gratuitos de alojamiento de sitios estáticos. Sin embargo, si atrae trabajos remunerados, su finalidad comercial también importa. El tamaño por sí solo no demuestra que un plan gratuito lo permita. Las condiciones cambian, así que comprueba el servicio y el plan concretos en lugar de depender de una comparación antigua.
Elige una vía de publicación que puedas manejar
La publicación mediante arrastrar y soltar puede ser adecuada para un proyecto pequeño: cargas la carpeta mediante la interfaz del proveedor. Una conexión a un repositorio publica desde una fuente de código almacenada y elegida y puede desplegar actualizaciones cuando se envían cambios. Las herramientas de línea de comandos ofrecen otra vía. El alojamiento compartido suele admitir SFTP, un método cifrado de transferencia de archivos. FTP sin cifrar expone las credenciales y los archivos durante la transferencia, así que usa una vía segura.
En el plan gratuito de GitHub Pages se puede publicar desde repositorios públicos. Cualquiera puede leer los archivos del repositorio. Los recursos publicados también son públicos, aunque la navegación no los enlace. Limita la carga a los archivos destinados a ser públicos y protege la cuenta de alojamiento con autenticación de dos factores.
Comprueba cada función en su proceso real
Si el sitio incluye un formulario de contacto, localiza el punto de recepción del formulario o la función del proveedor que lo recibe. Confirma que el plan incluye esa función y envía un formulario de prueba después del lanzamiento. Un formulario que parece completo puede no tener ningún lugar al que enviar los datos. Si una página 404 personalizada o una redirección permanente es importante, confirma el método exacto de configuración del proveedor antes de depender de ella.
Puntos clave
- Los alojamientos de sitios estáticos sirven archivos preparados y los mantienen disponibles independientemente de tu computadora.
- Comprueba los límites actuales del plan, las reglas de uso comercial y las funciones necesarias.
- Un formulario de contacto funcional necesita un servicio que reciba los datos, además de su HTML.
- Elige una vía de publicación que puedas mantener y protege la cuenta de alojamiento.
5.2 Despliega la carpeta correcta y compruébala una vez publicada
Desplegar consiste en publicar los archivos actuales del sitio en un alojamiento. El directorio de publicación se convierte en la raíz del sitio en línea. Para HTML y CSS sin herramientas adicionales, no hay una fase de compilación: selecciona la carpeta que contiene el index.html terminado y sus recursos.
Haz la primera publicación
Para un alojamiento que permite arrastrar y soltar:
- Abre la carpeta que quieres publicar y confirma que
index.htmlesté directamente dentro de ella. - Valida las páginas y prueba sus enlaces y su disposición mediante un servidor local.
- Carga esa carpeta mediante la interfaz de publicación del proveedor.
- Espera hasta que el proveedor indique que el despliegue está publicado.
- Abre la dirección web proporcionada y comprueba allí el sitio.
Si la página de inicio solo aparece en /riverside-bikes/index.html, es posible que hayas cargado la carpeta contenedora de un nivel superior. El directorio de publicación previsto es riverside-bikes/, no la carpeta que lo contiene. Corrige la selección del directorio y vuelve a publicar; limitarse a enlazar a los visitantes con la dirección anidada deja incorrecta la dirección de inicio sin ruta.
Publica desde un repositorio
En GitHub Pages, abre Settings y Pages del repositorio. Elige «Deploy from a branch», selecciona la rama y la carpeta de publicación, ya sea su raíz o /docs, y guarda. Cuando se envía una versión nueva a esa fuente de publicación, Pages la despliega de nuevo. Comprueba la dirección de Pages que se muestra después de que termine el despliegue. Una URL de proyecto puede incluir el nombre del repositorio, así que prueba las rutas en esa ubicación real.
Otros proveedores tienen sus propias opciones de conexión al repositorio y configuración del directorio. Para un sitio creado con archivos sin herramientas adicionales, no añadas un comando de compilación solo porque la interfaz ofrezca un campo para ello.
Comprueba la versión servida
Abre todas las páginas, sigue los enlaces internos e inspecciona Consola y Red en busca de recursos que no se hayan cargado. Fuerza una recarga completa para no confundir los archivos en caché con la nueva versión. Prueba el sitio en un teléfono real. Comprueba que se vea el cambio que querías publicar, no solo la ausencia de un mensaje de error.
Configura una página 404.html personalizada cuando el proveedor lo permita. Debe informar al visitante de que no se encontró la dirección y ofrecer una forma útil de volver al inicio. Prueba una dirección inexistente inventada para verificar que el proveedor la usa realmente. Una página de error útil no sustituye una redirección cuando el contenido se ha trasladado.
Conserva una fuente que puedas recuperar
El proyecto local o el repositorio conectado es la fuente de referencia, la copia a partir de la cual se crean las publicaciones futuras. Una corrección rápida en el editor web de un proveedor puede desaparecer en la siguiente carga, a menos que también la incorpores a esa fuente.
Usa un despliegue de vista previa cuando esté disponible para probar una actualización antes de que llegue a los visitantes. Si una actualización rompe el sitio publicado, la reversión a una versión anterior del proveedor puede restaurar un despliegue previo. Después corrige también la fuente, o la siguiente publicación podría reintroducir el fallo.
Cuando una página cambie de dirección, añade una redirección 301 permanente de la URL antigua a la nueva mediante las reglas de redirección del proveedor. Prueba la dirección antigua después de publicar: debe llevar a la nueva página prevista. En Netlify, un archivo _redirects es una forma de configurarla; otros proveedores usan ajustes diferentes.
Puntos clave
- El directorio de publicación tiene
index.htmldirectamente en su nivel superior. - Comprueba la dirección real publicada, las solicitudes de recursos y el contenido más reciente después de cada despliegue.
- Mantén el proyecto local o el repositorio como fuente para publicaciones futuras.
- Usa vistas previas de las actualizaciones y recurre a la reversión cuando sea necesario recuperar una publicación.
- Usa una redirección permanente para una página trasladada y una página 404 para una página que no se encuentra.
6Conecta un dominio y mantén el sitio en funcionamiento
Un dominio personalizado da al sitio un nombre público duradero, pero varios servicios trabajan juntos para que ese nombre se pueda usar. El registro conserva tu derecho a utilizarlo, DNS lo apunta al proveedor de alojamiento y HTTPS protege las conexiones al nombre correcto. Después del lanzamiento, las renovaciones, las copias de seguridad y las comprobaciones periódicas mantienen todas esas piezas en funcionamiento. Sigue la conexión a través de cada servicio para que un cambio en uno no rompa otro sin que te des cuenta.
6.1 Registra un nombre que puedas conservar
Un nombre de dominio es un nombre legible como example.com. DNS conecta ese nombre con información como la dirección IP de un servidor. El registro te da el derecho a usar el nombre durante un periodo; no es una compra permanente.
Interpreta una dirección web
En https://www.example.com/prices.html, https es el esquema, www.example.com es el nombre del anfitrión y /prices.html es la ruta. Lee las etiquetas del dominio de derecha a izquierda: .com es el dominio de nivel superior o TLD; example es el nombre registrado bajo él; www es un subdominio.
Los TLD genéricos incluyen .com, .org, .net, .dev, .shop y .studio. Los TLD de código de país usan dos letras, como .de, .fr, .jp, .ca y .au. Algunos nombres se registran bajo una categoría de segundo nivel, como .co.uk.
Algunas terminaciones tienen requisitos. .ca exige una vinculación con Canadá; .eu acepta ciudadanos, residentes y organizaciones establecidas de la UE o el EEE que cumplan los requisitos; .us exige una vinculación con Estados Unidos. Comprueba las reglas del operador del registro antes de elegir una terminación restringida. Las terminaciones .dev y .app requieren HTTPS en los navegadores.
Conoce quién gestiona el registro
Un registrador de dominios inscribe tu registro ante el operador del registro de dominios que administra el TLD. ICANN coordina el sistema de TLD genéricos y acredita a sus registradores; los operadores de registros de código de país establecen sus propias reglas. Los registros suelen durar de uno a diez años y necesitan renovación.
Elige un nombre corto, fácil de decir y escribir, y cercano al nombre del proyecto o negocio. Evita números y guiones confusos y comprueba que el nombre no use una marca comercial ajena. Si un nombre .com preferido está ocupado, compara un nombre más largo y claro, una terminación local adecuada o una terminación genérica pertinente. Que un nombre esté disponible no autoriza a usar el nombre de otro negocio.
Compara el compromiso a largo plazo
Comprueba el precio de renovación además de la oferta del primer año. Los servicios adicionales, incluido el correo electrónico, pueden tener cargos separados. El dominio y el alojamiento del sitio web pueden proceder de empresas diferentes; registrar un dominio no carga por sí solo un sitio web.
Proporciona datos correctos del titular y de contacto y responde al correo de verificación del registrador. Los datos de contacto no confirmados pueden provocar la suspensión. Para la información de registro de TLD genéricos, RDAP se convirtió en la vía definitiva de consulta pública en enero de 2025, sustituyendo los requisitos del antiguo servicio WHOIS. La consulta pública suele ocultar los datos personales; el registrador sigue necesitando registros correctos.
Mantén el control en manos del propietario
El propietario del proyecto o negocio debe controlar la cuenta del titular del dominio, incluso cuando un diseñador crea el sitio. Activa la autenticación de dos factores y mantén actualizados los datos de recuperación. Para cambiar de registrador, sigue el proceso de transferencia, que incluye un código de transferencia y el desbloqueo del dominio cuando corresponda.
Anota la fecha de vencimiento, activa la renovación y mantén vigente el método de pago. Un registro vencido puede interrumpir el sitio web y el correo del dominio; después de los periodos de gracia y eliminación aplicables, otra persona puede registrar el nombre. Las copias de seguridad del alojamiento no pueden conservar un registro de dominio que hayas dejado vencer.
Puntos clave
- Un dominio, un servicio de alojamiento y una ruta de página cumplen funciones diferentes.
- Elige un TLD cuyos requisitos cumplas y compara los costos de renovación además de las ofertas iniciales.
- Un registrador gestiona el registro a través del operador del registro del TLD.
- Mantén correctos los datos del registro y deja el control de la cuenta en manos del propietario.
- Renueva el dominio y mantén actualizados los datos de recuperación de la cuenta y de pago.
6.2 Apunta el nombre correcto al alojamiento adecuado
El sistema de nombres de dominio, o DNS, almacena registros asociados a nombres. Un resolvedor consulta esos registros y suele conservar una respuesta en caché. Los servidores de nombres autoritativos son los servidores responsables de la información DNS del dominio. Haz los cambios en el proveedor cuyos servidores de nombres sirven realmente el dominio.
Elige el tipo de registro
| Tipo | Función del registro | Valor de ejemplo |
|---|---|---|
| A | Nombre a dirección IPv4 | 192.0.2.44 |
| AAAA | Nombre a dirección IPv6 | 2001:db8::44 |
| CNAME | Nombre a otro nombre de anfitrión | riverside-bikes.pages.example |
| TXT | Texto, a menudo de verificación | Un código de verificación de un servicio |
| MX | Servidor receptor de correo electrónico | Un nombre de servidor de correo |
| NS | Servidor de nombres | Un nombre de servidor DNS |
Las direcciones IP y el nombre .example de aquí son valores para documentación. Para una conexión real, usa los valores que tu proveedor de alojamiento proporciona para tu sitio.
El dominio raíz es el nombre raíz registrado, como example.com. El DNS estándar no permite allí un CNAME porque el dominio raíz también necesita otros registros, incluidos los NS. Usa los valores A y AAAA del proveedor de alojamiento o una función ALIAS, ANAME o de aplanamiento de CNAME admitida por el proveedor de DNS. Un subdominio como www suele usar un CNAME.
Conecta dos formas de una dirección
Supón que un proveedor de alojamiento solicita un registro A para el dominio raíz y un CNAME para www. Un proveedor de DNS que usa @ para el dominio raíz podría mostrar:
Type Name Value TTL
A @ 192.0.2.44 3600
CNAME www riverside-bikes.pages.example 3600
Introduce también el dominio personalizado en la configuración del alojamiento. El proveedor debe reconocer el nombre solicitado y asignarlo al sitio. Elige la dirección principal y configura la otra forma para que redirija a ella.
Lee las instrucciones del proveedor sobre el campo de nombre. Si añade automáticamente example.com, escribir www.example.com puede crear www.example.com.example.com. Elimina los registros de dirección obsoletos al cambiar de proveedor de alojamiento; dejar los valores antiguos y los nuevos puede enviar a los visitantes a servidores diferentes.
Deja que venzan las respuestas en caché
El TTL, o tiempo de vida, indica cuántos segundos puede permanecer en caché una respuesta DNS. Un TTL de 3600 es una hora; 86 400 son 24 horas. Después de una actualización, distintos visitantes pueden recibir temporalmente respuestas diferentes. Los cambios pueden tardar 24 horas o más en verse en todas partes.
Para un traslado planificado, reduce el TTL a 300 segundos al menos un periodo del TTL anterior antes del cambio. Reducirlo en el momento del cambio no puede acortar la duración de una respuesta que ya está en caché con el TTL anterior.
Traslada el DNS sin perder otros servicios
Puedes dejar el DNS en el registrador y editar los registros, o cambiar los servidores de nombres a un proveedor nuevo. Un cambio de servidores de nombres no copia los registros. Vuelve a crear y comprueba los registros MX, TXT y demás registros necesarios en el nuevo proveedor antes de cambiar, especialmente cuando el correo del dominio ya funciona.
Comprueba las respuestas con nslookup www.example.com, dig example.com A +short o un servicio de consulta DNS, y compáralas con la configuración del proveedor de alojamiento. Añade registros comodín solo de forma deliberada y cuando el proveedor los admita. Cuando elimines un sitio alojado, elimina también los registros DNS que apuntan a él; un alias olvidado puede permitir que otra persona reclame el destino abandonado en el alojamiento.
Puntos clave
- Edita los registros en el proveedor de DNS autoritativo.
- A y AAAA apuntan a direcciones IP; CNAME apunta a otro nombre.
- El dominio raíz necesita registros A/AAAA o una función de alias compatible, no un CNAME estándar.
- El TTL controla las respuestas en caché; redúcelo antes de un traslado planificado.
- Vuelve a crear todos los registros necesarios antes de cambiar los servidores de nombres.
- Configura el dominio personalizado en el alojamiento y elimina los destinos DNS obsoletos.
6.3 HTTPS para los nombres que usan los visitantes
HTTPS envía HTTP a través de una conexión TLS cifrada. Protege la privacidad y la integridad de los datos en tránsito y permite que el navegador autentique el servidor para el dominio solicitado. HTTP sin cifrar expone los datos a quienes pueden observar la conexión.
Un certificado identifica el dominio
Un certificado TLS vincula un nombre de dominio a una clave pública y está firmado por una autoridad de certificación de confianza. Enumera los nombres que cubre y su vencimiento. Si los visitantes usan tanto example.com como www.example.com, el certificado debe cubrir ambos nombres, incluso cuando uno redirige al otro: el navegador se conecta de forma segura antes de recibir esa redirección.
Una conexión HTTPS no es un juicio sobre la honestidad de un negocio. Un sitio fraudulento puede obtener un certificado para un nombre que controla. La protección de la conexión y la fiabilidad del sitio son cuestiones distintas.
Deja que el proveedor lo emita y renueve
Muchos proveedores de alojamiento de sitios estáticos solicitan automáticamente un certificado gratuito, a menudo a Let's Encrypt, una vez que el DNS apunta al alojamiento y el dominio está configurado. La autoridad de certificación comprueba el control del nombre, por ejemplo, mediante un registro DNS o un archivo obtenido a través de la web. La emisión puede tardar desde unos minutos hasta aproximadamente un día.
A octubre de 2026, los certificados de servidor TLS de confianza pública recién emitidos tienen una duración máxima de 200 días según las reglas vigentes desde el 15 de marzo de 2026. El máximo pasa a 100 días en marzo de 2027 y a 47 días en marzo de 2029. Los certificados clásicos predeterminados de Let's Encrypt duran actualmente 90 días y también hay perfiles de menor duración. La renovación automática evita tener que repetir este trabajo manualmente.
En un ejemplo de 90 días, un certificado emitido el 1 de marzo de 2026 vence el 30 de mayo. Una renovación cuando queden 30 días se produciría alrededor del 30 de abril. La fecha de vencimiento real y el estado de la renovación están disponibles en el proveedor de alojamiento o en los detalles del certificado; no supongas que un registro de dominio vigente también significa que el certificado está al día.
Redirige a HTTPS y corrige los recursos inseguros
Activa el uso obligatorio de HTTPS del proveedor de alojamiento. Redirige las solicitudes http:// a la dirección HTTPS, normalmente con estado 301 o 308. Elige también un nombre de anfitrión principal, con o sin www, y redirige el otro hacia él.
El contenido mixto se produce cuando una página HTTPS solicita un recurso mediante http://. Los navegadores bloquean los scripts, las hojas de estilo, los marcos y las fuentes inseguros. Intentan actualizar algunas solicitudes de contenido multimedia a HTTPS, lo que falla si el origen no puede servirlo. Comprueba los mensajes de la Consola y busca http:// en el código. Usa rutas relativas para tus propios archivos y URL HTTPS que funcionen para los recursos externos.
HSTS indica a los navegadores que usen HTTPS durante un periodo determinado. Actívalo cuando HTTPS funcione de forma fiable; los navegadores que hayan recibido la política no volverán a usar HTTP sin cifrar durante ese periodo. Las terminaciones .dev y .app están precargadas para funcionar solo con HTTPS.
Si aparece una advertencia de certificado después de conectar un dominio, comprueba el DNS, el estado de emisión y los nombres cubiertos. El dominio raíz puede funcionar mientras que www falla si solo está cubierto el nombre raíz. Corrige la configuración y espera a la emisión cuando sea necesario; los visitantes no deben ignorar una advertencia de certificado.
Puntos clave
- HTTPS protege los datos en tránsito y autentica la conexión para el dominio solicitado.
- El certificado debe cubrir cada nombre HTTPS que usen los visitantes.
- Mantén operativa la renovación automática del certificado; la renovación del registro es una tarea independiente.
- Exige el uso de HTTPS y sustituye las URL inseguras de recursos para corregir el contenido mixto.
- Activa HSTS solo después de que HTTPS funcione de forma fiable.
- Una conexión cifrada no demuestra que un sitio sea honesto.
6.4 Una rutina de mantenimiento que detecta fallos
Un sitio publicado cambia incluso cuando sus archivos no cambian. Los enlaces externos se trasladan, los datos de contacto quedan desactualizados, los dominios se acercan al vencimiento y los widgets de terceros cambian. El mantenimiento mantiene correcto el contenido y fiable su entrega.
Sigue el mismo proceso para cada actualización
Edita el proyecto local o el repositorio, prueba en un navegador, valida el código afectado, despliega y verifica las páginas publicadas. Crea una vista previa cuando el proveedor de alojamiento lo permita. Comprueba que una corrección que funciona esté en la copia utilizada para futuras publicaciones para que no se pierda en la siguiente carga.
Un cambio de contenido también merece una comprobación del contenido. Confirma las fechas, los horarios de apertura, los precios y los datos de contacto con su fuente actual. Asigna a las páginas una persona responsable o una fecha de revisión. Elimina o sustituye la información que ya no describa el servicio; un aviso de un evento antiguo puede confundir a los visitantes aunque todas las etiquetas sean válidas.
Comprueba los enlaces y las tareas de los visitantes
El deterioro de los enlaces es el fallo gradual de los enlaces a medida que las páginas de destino se trasladan o desaparecen. Usa un comprobador de enlaces como el W3C Link Checker y después verifica y repara los fallos señalados. Cuando se haya trasladado una página propia, una redirección conserva los enlaces entrantes antiguos. Para una página externa, actualiza el destino o elimina el enlace si no existe una alternativa útil.
Prueba tareas reales de los visitantes. Envía una prueba del formulario de contacto y confirma que llegue. Recorre la navegación con un teclado. Prueba la disposición en un teléfono. Una comprobación de disponibilidad que recibe una página no puede demostrar que funcionen un formulario o la navegación.
Conserva copias recuperables
Guarda copias de seguridad del código fuente y los recursos necesarios en al menos dos lugares, como una computadora y una unidad externa, almacenamiento en la nube o un repositorio. Un problema con la cuenta de alojamiento o un despliegue equivocado pueden eliminar la copia publicada, así que el alojamiento del sitio publicado no debe ser tu única copia de seguridad. El historial de versiones puede permitir recuperar versiones anteriores. Conserva información suficiente para volver a conectar el dominio y publicar el sitio.
Protege las renovaciones y el acceso a las cuentas
Activa la renovación automática del dominio y mantén vigente el método de pago. Comprueba la fecha de vencimiento y los mensajes de confirmación. Asegúrate de que las cuentas del registrador y del proveedor de alojamiento usen autenticación de dos factores y tengan datos de recuperación actualizados. La renovación del certificado también depende de una configuración funcional del dominio, así que comprueba HTTPS después de cambios en el DNS.
Un monitor de disponibilidad comprueba el sitio repetidamente y te avisa cuando deja de responder. Las herramientas para administradores de sitios web pueden revelar fallos de rastreo y errores 404 de direcciones antiguas. Revisa esos informes y después prueba el problema subyacente en lugar de suponer que todas las alertas tienen la misma causa.
Programa el trabajo según el tipo de cambio
| Cuándo | Comprobaciones útiles |
|---|---|
| Después de cada cambio | Validar, desplegar y verificar en el sitio publicado las páginas y los recursos modificados |
| Cada mes | Comprobar enlaces, enviar una prueba del formulario, revisar errores y ejecutar una prueba rápida de velocidad |
| Cada año | Confirmar los datos de renovación y pago; revisar cada página, dependencia y límite del plan |
Las fuentes, los scripts, los mapas y otros contenidos insertados de terceros pueden ralentizarse, cambiar o desaparecer independientemente de tu sitio. Usa pocos y revisa si siguen siendo necesarios. Cuando una licencia lo permita, alojar una copia local de un recurso puede reducir la dependencia de otro servidor. Vuelve a comprobar su licencia y sus necesidades de actualización cuando lo sustituyas.
Puntos clave
- Sigue una rutina repetible de edición, prueba, validación, despliegue y comprobación del sitio publicado.
- Revisa los datos y las tareas de los visitantes, además del código y los enlaces.
- Conserva el código fuente y los recursos recuperables en al menos dos lugares.
- Mantén por separado la renovación del dominio, la renovación del certificado y la recuperación de la cuenta.
- Usa la supervisión y los informes para administradores de sitios web para encontrar fallos y después investigar su causa.
- Revisa las dependencias de terceros y los límites del plan a medida que cambia el sitio.
Ejemplos de Publicación de un sitio web
1Prepara el sitio de un taller para cargarlo
12 pasos
- 1IntroducciónHaz que la carpeta sea portable
Willow Workshop tiene una página de inicio, una página de eventos y un logotipo. El sitio se ve bien en la computadora de su autor, pero ese es solo un resultado local. El proveedor de alojamiento necesita una carpeta pública completa y todas las rutas de recursos deben seguir funcionando después de trasladarla, de modo que cada ruta se escribe desde la página que la usa.
Prepararás su estructura, seguirás los enlaces desde una página anidada y corregirás marcado que un navegador podría ocultar, errores que encuentras al validar el código.
- 2EjemploElige la carpeta pública
Usa una carpeta llamada
willow-site/, conindex.htmldirectamente dentro. Añadeevents/next.html,css/main.csseimages/mark.svg.Mantén los originales de cámara y las notas de planificación en una carpeta separada fuera de ella. La carpeta pública debe contener los archivos que necesitan los visitantes; un archivo sin enlaces sigue pudiéndose descargar si alguien conoce su dirección.
- 3DesafíoDetecta el riesgo de la carga
El autor añade una lista de contactos sin enlaces a
willow-site/por comodidad. ¿Mantenerla fuera de la navegación la hace privada?---reveal---
No. Un visitante puede solicitar el archivo directamente si conoce o adivina su dirección. Elimina la lista privada de la carpeta antes de publicar; la ausencia de un enlace de navegación no controla el acceso a un archivo.
- 4ExplicaciónEmpieza desde la página que hace la referencia
La página de inicio y la página anidada de eventos parten de carpetas diferentes. En
index.html,images/mark.svgllega al logotipo. Desdeevents/next.html, el mismo texto buscaría dentro deevents/images/.Sigue el recorrido como movimientos entre carpetas:
../sale primero deevents/y despuésimages/mark.svgentra en la carpeta correcta. La ruta completa es../images/mark.svg. - 5EjemploEscribe los enlaces de la página anidada
Dentro de
events/next.html, escribe:<a href="../index.html">Home</a> <link rel="stylesheet" href="../css/main.css">Ambas solicitudes suben un nivel hasta la raíz del sitio. Un enlace a otra página dentro de
events/, comolater.html, solo necesita ese nombre de archivo. Usa siempre barras normales y respeta exactamente los nombres cargados, incluidas las mayúsculas y minúsculas. - 6Idea claveCSS tiene su propia carpeta de partida
La hoja de estilo
css/main.cssnecesitaimages/paper.svgcomo fondo. Su URL comienza encss/, incluso cuando la hoja de estilo se carga desde la página anidada de eventos.body { background-image: url("../images/paper.svg"); }Sube desde
css/y baja aimages/. Cambiar la profundidad de la página HTML no cambia la ubicación de partida de esta hoja de estilo externa. - 7DesafíoMantén una subcarpeta del proyecto en la ruta
Ahora se muestra una vista previa del sitio en
https://pages.example/willow-site/. Su página de inicio enlaza a/css/main.css. ¿A dónde va esa solicitud y qué ruta relativa llega a la hoja de estilo prevista?---reveal---
Solicita
https://pages.example/css/main.cssy omite/willow-site/. Usacss/main.cssdesde la página de inicio. La barra inicial comienza en la raíz del dominio, no en la carpeta del proyecto. - 8ExplicaciónComprueba lo que repara el navegador
Comprueba el HTML con W3C Nu Html Checker y el CSS con W3C CSS Validation Service. La apariencia de la página no puede revelar todos los errores: los navegadores se recuperan del HTML mal formado y omiten el CSS no válido.
Empieza por el primer mensaje de error, usando su línea y columna. Corrígelo y vuelve a comprobar antes de editar los mensajes posteriores que puedan ser consecuencia del primer error.
- 9EjemploCorrige el anidamiento de elementos
La página de eventos contiene este fragmento:
<p>Bring <strong>gloves</p></strong>strongcomienza dentro del párrafo, así que ciérralo antes de cerrar el párrafo:<p>Bring <strong>gloves</strong></p>Guarda la corrección y vuelve a ejecutar el comprobador. Inspecciona de nuevo los mensajes cercanos; una corrección estructural puede eliminar varias advertencias posteriores.
- 10DesafíoCorrige un valor CSS omitido
El comprobador señala
margin: 16 px;y falta el espaciado previsto. ¿Cómo debería ser la declaración y por qué?---reveal---
Escribe
margin: 16px;. El número y la unidad deben permanecer juntos como una sola longitud. El valor con espacio no es válido y el navegador puede ignorarlo, así que añadir una segunda regla de disposición dejaría intacta la causa original. - 11DesafíoRastrea un fallo en el sitio publicado
El logotipo local funciona. En la página de eventos publicada, Red solicita
/willow-site/events/images/Mark.svg, pero el archivo cargado es/willow-site/images/mark.svg. ¿Qué dos correcciones necesita la ruta?---reveal---
Usa
../images/mark.svg: sal de la carpeta de eventos y respeta el nombre de archivo en minúsculas. Después vuelve a desplegar e inspecciona la solicitud en el sitio publicado. Tanto la carpeta de partida como las mayúsculas y minúsculas deben ser correctas. - 12RepasoTermina con comprobaciones que detecten distintos fallos
Prepara la carpeta de publicación y después pruébala mediante un servidor HTTP local para que las rutas a carpetas se comporten de forma realista. Valida el código y sigue los enlaces reales de las páginas. Después de la carga, repite las comprobaciones pertinentes en la dirección publicada y confirma el contenido más reciente.
Si falla un recurso, compara la URL solicitada con su ubicación de carga antes de cambiar código de disposición que no esté relacionado.
2Averigua por qué una página se ve mal
13 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónConvierte un síntoma en una prueba
- 2ConsejoInspecciona el enlace afectado
- 3EjemploInterpreta las reglas que compiten
- 4DesafíoHaz que la corrección perdure al recargar
- 5EjemploExplica una caja más ancha de lo esperado
- 6ExplicaciónRegistra las solicitudes de recursos
- 7EjemploUna respuesta HTML en una dirección CSS
- 8DesafíoDistingue una vista desactualizada de una carga fallida
- 9ExplicaciónAcota la causa del desbordamiento
- 10DesafíoElige una prueba que puedas interpretar
- 11ConexiónUsa dispositivos y motores para distintas comprobaciones
- 12DesafíoCombina los indicios
- 13RepasoVerifica la corrección guardada
3Mejora una página de galería paso a paso
15 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónSigue la mayor demora
- 2ExplicaciónElige la representación
- 3EjemploCalcula el tamaño de exportación útil
- 4ConsejoCompara exportaciones desde el original
- 5DesafíoPor qué no se redujo la descarga
- 6EjemploReserva el espacio de la imagen de la galería
- 7ExplicaciónDescribe el espacio disponible con precisión
- 8ConexiónLos formatos y los anchos resuelven elecciones distintas
- 9DesafíoElige qué puede esperar
- 10EjemploSuma los bytes reales de la página
- 11ExplicaciónRelaciona un síntoma con una medida
- 12Idea claveUna ejecución de laboratorio es un tipo de indicio
- 13ConsejoAborda el siguiente costo más grande
- 14DesafíoElige una siguiente comprobación completa
- 15RepasoCompara la experiencia y conserva la mejora
4Ayuda a que las páginas adecuadas aparezcan en las búsquedas
11 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónDistingue la comprensión del descubrimiento
- 2EjemploNombra cada página
- 3ExplicaciónDa estructura al esquema
- 4DesafíoCorrige la plantilla copiada
- 5ConsejoConfigura metadatos para sus usuarios reales
- 6ExplicaciónCrea una vía que se pueda descubrir
- 7EjemploMantén una página pública fuera de los resultados
- 8DesafíoExplica por qué sigue apareciendo una URL bloqueada
- 9Idea claveUna ruta preferida para un duplicado
- 10DesafíoComprueba un lanzamiento sin visitas desde buscadores
- 11RepasoComprueba los estados previstos de las páginas
5Publica un sitio que puedas actualizar
10 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónPasa de los archivos locales a una dirección publicada
- 2ExplicaciónAjusta el plan al uso real
- 3DesafíoMira más allá del tamaño de los archivos
- 4EjemploSelecciona la carpeta de publicación
- 5EjemploPublica y verifica la misma versión
- 6ConexiónUsa un repositorio como fuente de publicación
- 7DesafíoPrepara también la recuperación de la próxima publicación
- 8ConsejoConserva una dirección trasladada
- 9DesafíoDetecta dos fallos de lanzamiento distintos
- 10RepasoMantén completa la fuente de publicación
6Conecta un dominio personalizado y mantenlo
18 pasos
Guarda esta unidad para seguir cada Lección Interactiva paso a paso.
- 1IntroducciónSigue el nombre a través de los servicios
- 2ExplicaciónRegistra el dominio con control duradero
- 3DesafíoSepara el nombre del alojamiento
- 4ExplicaciónEdita donde se originan las respuestas
- 5EjemploAñade los registros de dirección solicitados
- 6Idea claveDistingue las funciones de los registros
- 7DesafíoTraslada el DNS sin perder el correo
- 8ExplicaciónPlanifica teniendo en cuenta las respuestas en caché
- 9ExplicaciónUsa el control del dominio para obtener un certificado
- 10EjemploUna redirección sigue necesitando TLS primero
- 11DesafíoCorrige la hoja de estilo insegura
- 12ConsejoMantén operativos el uso obligatorio de HTTPS y la renovación
- 13ExplicaciónProtege el código fuente fuera del alojamiento
- 14DesafíoPrueba lo que una comprobación de disponibilidad no detecta
- 15ConexiónPrograma las comprobaciones según cuándo se necesiten
- 16DesafíoCierra una ruta abandonada
- 17DesafíoInvestiga un lanzamiento parcial del dominio
- 18RepasoConserva un registro que puedas usar durante una interrupción
Ejercicios de Publicación de un sitio web
Set 1: Archivos, páginas y primeras comprobaciones de lanzamiento10 Preguntas de Práctica
Pregunta 1 de 10
news/update.html. El logotipo está en images/mark.svg en la raíz del sitio. ¿Qué ruta relativa de imagen llega a él?Mostrar respuestaOcultar respuesta
news/, así que ../ lleva al navegador a la raíz del sitio antes de entrar en images/. Sin ese paso hacia arriba, images/mark.svg solicitaría una carpeta dentro de news/, donde no está guardado el logotipo.Pregunta 2 de 10
https://pages.example/garden/. Su página raíz solicita /css/main.css, pero la hoja de estilo está en https://pages.example/garden/css/main.css. ¿Qué cambio corrige el enlace de la página raíz?Mostrar respuestaOcultar respuesta
/garden/ de esta solicitud. Desde la página raíz del sitio, css/main.css conserva la carpeta del proyecto. Subir con ../ también saldría de /garden/ y solicitaría la ubicación incorrecta.Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Pregunta 4 de 10
id="content": #content a { color: green; } y, más tarde, .action { color: white; }. ¿Qué explica que su texto sea verde?Mostrar respuestaOcultar respuesta
#content a prevalece en este conflicto ordinario de color aunque .action aparezca más tarde. El orden del código fuente decide entre reglas que compiten en igualdad de condiciones; mover una regla de clase de menor especificidad a una posición posterior no le da el peso de la regla con id.Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Pregunta 7 de 10
width="1200" height="800" y se ajusta proporcionalmente a una columna de 450px de ancho. ¿Qué altura debería reservar el navegador?Mostrar respuestaOcultar respuesta
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Set 2: Diagnostica solicitudes y conecta servicios10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
home.html, css/ e images/. Su proveedor de alojamiento espera el archivo de inicio predeterminado habitual. ¿Cómo debería llamarse la página de inicio?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
content-box, width: 240px, padding: 12px y border: 3px solid. ¿Cuál es el ancho de su caja con borde, sin incluir los márgenes?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
/public-site/index.html, pero la dirección del alojamiento sin ruta da un error. La carpeta padre cargada contiene public-site/, que contiene index.html. ¿Qué debería cambiar?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
example.com, pero www.example.com muestra una advertencia sobre el nombre del certificado antes de que se ejecute su redirección. Ambos nombres apuntan al alojamiento previsto. ¿Qué necesita corregirse?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 3: Interpreta los indicios antes de cambiar el sitio10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
padding: 18 px;. ¿Cuál es la sintaxis correcta?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
text/html. La página aparece sin estilos. ¿Qué deberías corregir primero?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
<h3> para todos los encabezados porque su tamaño predeterminado parece adecuado. ¿Qué cambio da al contenido una estructura más clara?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
www apunte a studio.pages.example. ¿Qué registro DNS estándar representa esa relación entre nombres?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 4: Planifica actualizaciones sin interrumpir servicios operativos10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
/field-notes/. Su css/main.css solicita url("images/paper.svg"), pero la imagen está en /field-notes/images/paper.svg. El mismo CSS se usa en páginas raíz y anidadas. ¿Qué URL debería usar el CSS?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
lang="en" y muestra sus precios solo dentro de una foto. ¿Qué cambio hace que esos precios estén disponibles como texto normal de la página?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Set 5: Resuelve casos de lanzamiento y mantenimiento10 Preguntas de Práctica
Guarda esta unidad para ver todas las respuestas y practicar cada set.
Pregunta 1 de 10
opening-times.html se renombra como visit.html. El contenido de la página sigue disponible, pero los marcadores antiguos fallan. ¿Qué conserva esas visitas desde los marcadores antiguos?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 2 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 3 de 10
width: 100%; box-sizing: content-box; padding: 20px; border: 2px solid; causa desplazamiento horizontal. La hoja de estilo carga correctamente. ¿Qué cambio y verificación abordan la causa conservando el relleno?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 4 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 5 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 6 de 10
/guide/ y /guide/index.html. Enlaza internamente a la segunda, enumera la primera en su mapa del sitio y no tiene enlace canónico ni redirección. ¿Qué plan ofrece a los visitantes y rastreadores una única ruta preferida coherente?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 7 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 8 de 10
/docs, pero los archivos editados están en la raíz del repositorio. ¿Qué debería corregirse?Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 9 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
Pregunta 10 de 10
Mostrar respuestaOcultar respuesta
Guarda esta unidad para ver esta respuesta.
¿Te atascas con una pregunta tuya? Ayuda con Tareas
Términos Clave
A
Advertencia de validación
Alojamiento de sitios estáticos
Archivo robots.txt
Disallow: / que quedó por error pide a los rastreadores que omitan el sitio aunque los visitantes aún puedan abrirlo.Atributo de idioma
lang="en" para que un lector de pantalla pueda elegir una pronunciación inglesa para su contenido.Atributo sizes
sizes describe el ancho del espacio de visualización de una imagen en distintas condiciones cuando srcset usa descriptores de ancho.Atributo srcset
srcset ofrece imágenes candidatas, con descriptores como los anchos reales en píxeles, entre las que el navegador selecciona un recurso.Autenticación de dos factores
Autoridad de certificación
C
Cabecera Content-Type
text/html ayuda a explicar por qué el navegador lo rechaza.Caché del navegador
Carga diferida (lazy loading)
Certificado TLS
Código de estado HTTP
Compresión con pérdida
Compresión de datos durante la transferencia
Compresión sin pérdida
Consola
Contenido mixto
Copia de seguridad (respaldo)
D
Datos de campo
Datos de laboratorio
Dependencia de terceros
Depuración
Desplazamiento acumulado del diseño (Cumulative Layout Shift, CLS)
Despliegue
Despliegue de vista previa
Deterioro de los enlaces
Dimensiones en píxeles
Directiva noindex
Directorio de publicación
Directorio padre
../ sube un nivel hacia ella.css/ llega a la carpeta de imágenes de la raíz mediante ../images/background.svg.Distinción entre mayúsculas y minúsculas
Photo.jpg falla en un alojamiento que distingue mayúsculas de minúsculas cuando el archivo cargado es photo.jpg.Dominio de nivel superior (TLD)
Dominio raíz
E
Elemento picture
Error de validación
Especificidad
.action que aparece más tarde no prevalece frente a #main a en un conflicto de reglas ordinario porque su especificidad es menor.Extensión de archivo (fichero)
main.css; renombrar un archivo de texto que no está relacionado no lo convierte en CSS.F
Fuente de referencia
H
Herramientas de desarrollo
Herramientas para administradores de sitios web
HTML semántico
I
Imagen de mapa de bits (imagen ráster)
Imagen principal destacada (hero image)
Imagen vectorial
Indexación
Interacción hasta el siguiente pintado (Interaction to Next Paint, INP)
J
Jerarquía de encabezados
L
Limitación de la velocidad de red
M
Mantenimiento
Mapa del sitio (sitemap)
Metadatos
Metadescripción
Minificación
Modelo de caja
Modelo de objetos del documento (DOM)
Modo de diseño adaptable
Monitor de disponibilidad
Motor de renderizado
N
Nombre de dominio
O
Open Graph
Operador del registro de dominios
P
Página de inicio predeterminada
index.html que contiene./news/ abre news/index.html cuando el proveedor de alojamiento usa esa convención de página predeterminada.Panel Estilos
Panel Red (Network)
Peso de la página
Protocolo de acceso a datos de registro (RDAP)
Protocolo de transferencia de archivos SSH (SFTP)
Protocolo seguro de transferencia de hipertexto (HTTPS)
Pruebas en distintos navegadores
R
Raíz del sitio
public-site/, así que esa carpeta es la raíz del sitio para este despliegue.Rastreo
Recurso del sitio
Red de distribución de contenidos (CDN)
Redirección permanente
/classes.html a la nueva página /learn/.Registrador de dominios
Registro A
Registro AAAA
Registro CNAME
www usa el nombre del sitio en el alojamiento en lugar de un número IPv4 o una ruta de URL.Registro MX
Registro TXT
Relación de aspecto
Renderizado del mayor elemento con contenido (Largest Contentful Paint, LCP)
Renovación del certificado
Reversión a una versión anterior (rollback)
Ruta relativa
news/update.html, ../images/icon.svg sube a la raíz y después entra en la carpeta de imágenes.Ruta relativa a la raíz
/ y localiza un recurso desde la raíz del dominio, independientemente de la carpeta de la página actual./club/, /css/main.css solicita una ubicación diferente de /club/css/main.css.S
Seguridad de transporte estricta de HTTP (HSTS)
Servicio de procesamiento de formularios
Servidor de desarrollo local
python3 -m http.server en la carpeta del sitio permite probar el proyecto mediante HTTP.Servidor de nombres
Sistema de nombres de dominio (DNS)
Sitio web dinámico
Subdominio
www apunta al mismo sitio web mientras una redirección selecciona la dirección pública preferida.T
Tiempo de vida (TTL)
Titular del dominio
Título de la página
U
URL absoluta
https://www.example.com/images/share.jpg para que su anfitrión y ubicación sean explícitos.URL canónica
/guide/.Uso obligatorio de HTTPS
V
Validación
Valor calculado
#
404 No encontrado (Not Found)
Sobre esta unidad
Crea tus propios Materiales de Estudio
Convierte tus notas, diapositivas y documentos en Guías de Estudio, Preguntas de Práctica, Flashcards y 6 herramientas más.