Crear un Blog con Hugo y Desplegarlo en Cloudflare Pages
En este artículo, te guiaré paso a paso a través del proceso completo de construcción de un blog personal usando Hugo y desplegarlo en Cloudflare Pages. Hugo es un generador de sitios estáticos rápido y flexible, mientras que Cloudflare Pages ofrece servicios de alojamiento gratuitos con aceleración CDN global, permitiendo que tu blog esté en línea rápidamente y proporcione una buena experiencia de usuario. Ya seas un novato técnico o un desarrollador experimentado, este tutorial te ayudará a configurar rápidamente tu propio blog.
¿Por Qué Elegir Hugo y Cloudflare Pages?
- Hugo: Escrito en Go, es extremadamente rápido, soporta una rica variedad de temas y formato Markdown, siendo adecuado para blogs y sitios de documentación.
- Cloudflare Pages: Proporciona una integración perfecta con GitHub, despliegue automático, certificados SSL gratuitos y aceleración CDN global, ofreciendo mejores velocidades de acceso que GitHub Pages.
- Costo: La combinación de ambos es completamente gratuita, ideal para blogs personales o pequeños proyectos.
Preparación
Antes de comenzar, necesitas preparar las siguientes herramientas y cuentas:
- Hugo: Instala la última versión de Hugo (se recomienda usar la versión extendida para más características).
- Git: Para el control de versiones y enviar código a GitHub.
- Cuenta de GitHub: Para almacenar el código fuente del blog.
- Cuenta de Cloudflare: Para desplegar y alojar el blog.
- Editor de Texto: Como VSCode, para editar archivos Markdown y archivos de configuración.
Paso 1: Instalar Hugo
Windows
- Instala el gestor de paquetes Chocolatey (si aún no está instalado):
POWERSHELL
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) - Usa Chocolatey para instalar la versión extendida de Hugo:
POWERSHELL
choco install hugo-extended - Verifica la instalación:
POWERSHELL
hugo version
macOS
- Instala usando Homebrew:
BASH
brew install hugo - Verifica la instalación:
BASH
hugo version
Para más métodos de instalación, consulta la documentación oficial de Hugo.
Paso 2: Crear un Sitio Hugo
-
Crea un nuevo sitio en la terminal:
BASHhugo new site my-blog cd my-blogEsto generará la estructura de directorios del sitio Hugo en la carpeta
my-blog:PLAINTEXT├── archetypes ├── content ├── data ├── layouts ├── public ├── static ├── themes └── hugo.toml -
Inicializa un repositorio Git:
BASHgit init -
Agrega un archivo
.gitignorepara ignorar archivos generados:BASHecho "public/" >> .gitignore echo "resources/" >> .gitignore
Paso 3: Instalar y Configurar el Tema
-
Elige un tema de Hugo, por ejemplo, hugo-theme-stack:
BASHgit submodule add https://github.com/CaiJimmy/hugo-theme-stack.git themes/hugo-theme-stack -
Copia el archivo de configuración de ejemplo del tema a la raíz del proyecto:
BASHcp themes/hugo-theme-stack/exampleSite/config.yaml . -
Edita
config.yaml(ohugo.toml) para establecer información básica:YAMLbaseURL: "https://your-domain.com/" # Reemplaza con tu dominio languageCode: "es" title: "Mi Blog" theme: "hugo-theme-stack" DefaultContentLanguage: "es" paginate: 5
Para más configuración del tema, consulta la documentación oficial del tema.
Paso 4: Crear Tu Primera Publicación de Blog
-
Crea una nueva publicación:
BASHhugo new posts/mi-primera-publicacion.mdEsto generará el archivo
mi-primera-publicacion.mden el directoriocontent/posts/. -
Edita el contenido de la publicación y modifica el Front Matter (metadatos de la publicación):
MARKDOWN--- title: "Mi Primera Publicación de Blog" date: 2025-06-16T20:29:00+08:00 draft: false --- ¡Bienvenido al blog de Hugo! Esta es mi primera publicación. -
Inicia el servidor local de Hugo para previsualizar:
BASHhugo server -DAbre el navegador y ve a
http://localhost:1313/para ver la vista previa local del blog.
Paso 5: Enviar Código a GitHub
- Crea un nuevo repositorio en GitHub (como
my-blog), ya sea público o privado. - Envía el código local a GitHub:
BASH
git add . git commit -m "Commit inicial" git remote add origin https://github.com/your-username/my-blog.git git branch -M main git push -u origin main
Paso 6: Desplegar en Cloudflare Pages
- Inicia sesión en el Panel de Cloudflare, ve a “Workers and Pages” > “Pages” > “Create a Project”.

- Conecta tu cuenta de GitHub y selecciona el repositorio
my-blogrecién creado.
- Configura los ajustes de construcción:
- Project Name: Cualquier nombre (como
my-blog), asignará un subdominio comomy-blog.pages.dev. - Production Branch: Por defecto es
main. - Build Command:
hugo --gc --minify(optimiza los archivos de salida). - Output Directory:
public. - Environment Variables: Agrega
HUGO_VERSION(como0.125.4) para especificar la versión de Hugo, se recomienda usar la última versión; consulta las versiones de Hugo.
- Project Name: Cualquier nombre (como
- Haz clic en “Save and Deploy”, Cloudflare Pages automáticamente extraerá el código, construirá y desplegará. Una vez que el despliegue esté completo, puedes acceder a tu blog a través de
my-blog.pages.dev.
Paso 7: Vincular un Dominio Personalizado
- Asegúrate de que tu dominio esté alojado en Cloudflare (puedes comprarlo a través de Cloudflare o migrarlo desde otros registradores).
- En el proyecto de Cloudflare Pages, haz clic en “Custom Domain” > “Set Custom Domain”.
- Ingresa tu dominio (como
your-domain.com), Cloudflare automáticamente agregará un registro CNAME. - Espera a que la resolución DNS surta efecto (generalmente de unos pocos minutos a unas pocas horas), luego accede a tu blog usando el dominio personalizado.
Paso 8: Despliegue Automatizado
Cada vez que actualices el contenido de tu blog (como agregar nuevas publicaciones o modificar configuraciones), simplemente ejecuta los siguientes comandos para enviar el código:
git add .
git commit -m "Actualizar contenido del blog"
git push origin mainCloudflare Pages detectará automáticamente las actualizaciones en el repositorio de GitHub, reconstruirá y redeplegará, típicamente completando en 1-2 minutos.
Problemas y Soluciones
- Discrepancia en la Versión de Hugo: Cloudflare Pages podría tener por defecto una versión antigua de Hugo, causando fallos en la construcción. La solución es especificar la última versión en las variables de entorno (como
HUGO_VERSION=0.125.4). - Publicaciones No Se Muestran: Verifica si
draft: falseestá configurado correctamente, ya que Hugo no renderiza publicaciones condraft: truepor defecto. - Velocidad de Acceso Lenta desde China: Asegúrate de que el dominio esté acelerado por el CDN de Cloudflare y SSL esté habilitado.
Resumen
Con Hugo y Cloudflare Pages, puedes construir rápidamente un blog personal de alto rendimiento y gratuito. Hugo proporciona gestión de contenido flexible y soporte rico de temas, mientras que el despliegue automático y la aceleración CDN global de Cloudflare Pages aseguran que la publicación y el acceso del blog sean más eficientes.
Comentarios