Publicar tu web, GitHub Pages, Netlify y Vercel

Una web que solo está en tu ordenador no la ve nadie.

Conecta GitHub con un servicio de despliegue y cada push publica la web.

GitHub Pages para lo sencillo; Netlify y Vercel añaden vistas previas por rama y soporte de npm.

Configura bien el comando de build y la carpeta de salida.

El registro del despliegue explica cualquier fallo.

  • Una web que solo está en tu ordenador no la ve nadie. Ya sabes qué son el hosting y los dominios (lección Cómo funciona la web (y quién hace qué)); ahora vas a publicar tu portfolio gratis y de forma profesional: conectando tu repositorio de GitHub a un servicio que publica la web automáticamente cada vez que haces push. Es lo que se llama despliegue continuo.
  • Tu ordenador ──commit + push──▶ GitHub ──aviso──▶ Netlify / Vercel ──▶ https://tu-web.netlify.app
  • Tu proyecto en un repositorio de GitHub (lección Git, el historial de tu proyecto), con el index.html en la raíz o en una carpeta conocida. Nombres de ficheros en minúsculas y sin espacios, y rutas relativas (css/estilos.css, no C:\Users\…). En el servidor, Foto.JPG y foto.jpg son ficheros distintos.
  • La más directa: en el repositorio, Settings → Pages → Deploy from a branch → main / (root). En un minuto tu web está en https://tu-usuario.github.io/nombre-repo/. Ideal para webs de HTML, CSS y JS sin herramientas.
  • Entra en netlify.com y regístrate con tu cuenta de GitHub. Add new site → Import an existing project → GitHub y elige el repositorio. Configuración:Web de HTML y CSS sin herramientas: deja Build command vacío y Publish directory en la carpeta donde está el index.html (normalmente la raíz, .). Con npm (por ejemplo, Tailwind): Build command npm run build y el directorio que genera ese script. Deploy. Te da una dirección tipo https://nombre-aleatorio.netlify.app, que puedes cambiar en Site configuration → Change site name.

Introducción

Una web que solo está en tu ordenador no la ve nadie. Ya sabes qué son el hosting y los dominios (lección Cómo funciona la web (y quién hace qué)); ahora vas a publicar tu portfolio gratis y de forma profesional: conectando tu repositorio de GitHub a un servicio que publica la web automáticamente cada vez que haces push. Es lo que se llama despliegue continuo.

Tu ordenador ──commit + push──▶ GitHub ──aviso──▶ Netlify / Vercel ──▶ https://tu-web.netlify.app

Qué necesitas antes

Tu proyecto en un repositorio de GitHub (lección Git, el historial de tu proyecto), con el index.html en la raíz o en una carpeta conocida. Nombres de ficheros en minúsculas y sin espacios, y rutas relativas (css/estilos.css, no C:\Users\…). En el servidor, Foto.JPG y foto.jpg son ficheros distintos.

Opción 1: GitHub Pages

La más directa: en el repositorio, Settings → Pages → Deploy from a branch → main / (root). En un minuto tu web está en https://tu-usuario.github.io/nombre-repo/. Ideal para webs de HTML, CSS y JS sin herramientas.

Opción 2: Netlify

Entra en netlify.com y regístrate con tu cuenta de GitHub. Add new site → Import an existing project → GitHub y elige el repositorio. Configuración:Web de HTML y CSS sin herramientas: deja Build command vacío y Publish directory en la carpeta donde está el index.html (normalmente la raíz, .). Con npm (por ejemplo, Tailwind): Build command npm run build y el directorio que genera ese script. Deploy. Te da una dirección tipo https://nombre-aleatorio.netlify.app, que puedes cambiar en Site configuration → Change site name.

Extra muy útil: Netlify recoge formularios sin programar un servidor. Añade el atributo data-netlify="true" a tu <form> y los mensajes aparecerán en su panel.

Opción 3: Vercel

Entra en vercel.com y regístrate con GitHub. Add New → Project → Import el repositorio. Framework Preset: Other si es HTML y CSS; Vercel detecta solo si usas Vite, Astro, Next… Con npm, comprueba el Build Command (npm run build) y el Output Directory. Deploy. Dirección tipo https://nombre-repo.vercel.app.

El flujo de trabajo a partir de ahora

Cambias algo en VS Code y lo pruebas en local. Commit con un mensaje claro y push (GitHub Desktop). En uno o dos minutos, la web publicada se actualiza sola. Si algo falla, el panel de Netlify o Vercel muestra el registro del despliegue (deploy log) con el error, y puedes volver a una versión anterior con un clic.

Si trabajas en una rama distinta de main, ambos servicios crean una vista previa con su propia dirección: perfecta para enseñar un cambio a un cliente (o al profesor) antes de publicarlo.

Tu propio dominio

Los tres permiten usar un dominio propio (tunombre.com): lo compras en un registrador y en su panel apuntas los DNS a Netlify, Vercel o GitHub siguiendo las instrucciones que te dan. El certificado HTTPS lo ponen gratis. (Repasa dominios y DNS en la lección Cómo funciona la web (y quién hace qué).)

¿Cuál elijo?

GitHub PagesNetlifyVercel Mejor paraHTML, CSS y JS sin herramientasWebs estáticas y con npm; formulariosProyectos con frameworks (Next, Astro…) Vistas previas por ramaNoSíSí Formularios sin servidorNoSíNo Plan gratuitoSíSí (con límites de uso)Sí, para uso personal (con límites)

Revisa siempre las condiciones del plan gratuito: cambian con el tiempo.

⚠️ Atención. Todo lo que subes a un repositorio público y a una web publicada lo puede ver cualquiera. No subas contraseñas, datos personales de otras personas ni fotos de terceros sin permiso.

Practica

Publica tu portfolio en Netlify o Vercel conectado a tu repositorio de GitHub. Cambia el nombre del sitio por uno reconocible (nombre-apellido-portfolio). Haz un cambio visible, commit y push, y comprueba que se actualiza solo. Pega la dirección publicada en el README.md del repositorio.

Errores frecuentes

404 en la portada: el index.html no está donde dice el Publish/Output directory, o se llama Index.html. Sin estilos ni imágenes publicados, pero sí en local: rutas con mayúsculas distintas o absolutas a tu disco. Con npm, olvidar el build command: se publica el input.css sin procesar. Subir node_modules/: no hace falta; el servicio ejecuta npm install por su cuenta.

Introducción al Mundo Web, Hosting y Dominios
19

Publicar tu web, GitHub Pages, Netlify y Vercel

Una web que solo está en tu ordenador no la ve nadie.

Código del tema: git push

📘 Teoría

Introducción

Una web que solo está en tu ordenador no la ve nadie. Ya sabes qué son el hosting y los dominios (lección Cómo funciona la web (y quién hace qué)); ahora vas a publicar tu portfolio gratis y de forma profesional: conectando tu repositorio de GitHub a un servicio que publica la web automáticamente cada vez que haces push. Es lo que se llama despliegue continuo.

Tu ordenador ──commit + push──▶ GitHub ──aviso──▶ Netlify / Vercel ──▶ https://tu-web.netlify.app

Qué necesitas antes

  1. Tu proyecto en un repositorio de GitHub (lección Git, el historial de tu proyecto), con el index.html en la raíz o en una carpeta conocida.
  2. Nombres de ficheros en minúsculas y sin espacios, y rutas relativas (css/estilos.css, no C:\Users\…). En el servidor, Foto.JPG y foto.jpg son ficheros distintos.

Opción 1: GitHub Pages

La más directa: en el repositorio, Settings → Pages → Deploy from a branch → main / (root). En un minuto tu web está en https://tu-usuario.github.io/nombre-repo/. Ideal para webs de HTML, CSS y JS sin herramientas.

Opción 2: Netlify

  1. Entra en netlify.com y regístrate con tu cuenta de GitHub.
  2. Add new site → Import an existing project → GitHub y elige el repositorio.
  3. Configuración:
    • Web de HTML y CSS sin herramientas: deja Build command vacío y Publish directory en la carpeta donde está el index.html (normalmente la raíz, .).
    • Con npm (por ejemplo, Tailwind): Build command npm run build y el directorio que genera ese script.
  4. Deploy. Te da una dirección tipo https://nombre-aleatorio.netlify.app, que puedes cambiar en Site configuration → Change site name.

Extra muy útil: Netlify recoge formularios sin programar un servidor. Añade el atributo data-netlify="true" a tu <form> y los mensajes aparecerán en su panel.

Opción 3: Vercel

  1. Entra en vercel.com y regístrate con GitHub.
  2. Add New → Project → Import el repositorio.
  3. Framework Preset: Other si es HTML y CSS; Vercel detecta solo si usas Vite, Astro, Next… Con npm, comprueba el Build Command (npm run build) y el Output Directory.
  4. Deploy. Dirección tipo https://nombre-repo.vercel.app.

El flujo de trabajo a partir de ahora

  1. Cambias algo en VS Code y lo pruebas en local.
  2. Commit con un mensaje claro y push (GitHub Desktop).
  3. En uno o dos minutos, la web publicada se actualiza sola.
  4. Si algo falla, el panel de Netlify o Vercel muestra el registro del despliegue (deploy log) con el error, y puedes volver a una versión anterior con un clic.

Si trabajas en una rama distinta de main, ambos servicios crean una vista previa con su propia dirección: perfecta para enseñar un cambio a un cliente (o al profesor) antes de publicarlo.

Tu propio dominio

Los tres permiten usar un dominio propio (tunombre.com): lo compras en un registrador y en su panel apuntas los DNS a Netlify, Vercel o GitHub siguiendo las instrucciones que te dan. El certificado HTTPS lo ponen gratis. (Repasa dominios y DNS en la lección Cómo funciona la web (y quién hace qué).)

¿Cuál elijo?

GitHub PagesNetlifyVercel
Mejor paraHTML, CSS y JS sin herramientasWebs estáticas y con npm; formulariosProyectos con frameworks (Next, Astro…)
Vistas previas por ramaNoSíSí
Formularios sin servidorNoSíNo
Plan gratuitoSíSí (con límites de uso)Sí, para uso personal (con límites)

Revisa siempre las condiciones del plan gratuito: cambian con el tiempo.

⚠️ Atención. Todo lo que subes a un repositorio público y a una web publicada lo puede ver cualquiera. No subas contraseñas, datos personales de otras personas ni fotos de terceros sin permiso.

Practica

  1. Publica tu portfolio en Netlify o Vercel conectado a tu repositorio de GitHub.
  2. Cambia el nombre del sitio por uno reconocible (nombre-apellido-portfolio).
  3. Haz un cambio visible, commit y push, y comprueba que se actualiza solo.
  4. Pega la dirección publicada en el README.md del repositorio.

Errores frecuentes

  • 404 en la portada: el index.html no está donde dice el Publish/Output directory, o se llama Index.html.
  • Sin estilos ni imágenes publicados, pero sí en local: rutas con mayúsculas distintas o absolutas a tu disco.
  • Con npm, olvidar el build command: se publica el input.css sin procesar.
  • Subir node_modules/: no hace falta; el servicio ejecuta npm install por su cuenta.

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros. culTest

La hice en febrero de 2026 para facilitar el aprendizaje de mis alumnos. La idea es aprender desarrollo web practicando y que el proyecto siga creciendo con nuevos temas, tests y retos.

Está inspirada en MDN, W3Schools, CodePen, Manz y muchos otros sitios de documentación sobre desarrollo web. Quería combinar teoría útil, ejemplos ejecutables, retos y el sistema de tests que ya tenía en culTest. culTest

Si te gustó, si no te gustó o si quieres escribirme, puedes hacerlo en cristianeslava@gmail.com