<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Hugo on Gatto Land</title>
        <link>https://gatto.land/es/tags/hugo/</link>
        <description>Recent content in Hugo on Gatto Land</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>es</language>
        <lastBuildDate>Thu, 15 May 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://gatto.land/es/tags/hugo/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>¡Hola, mundo! - Reconstruir este sitio con Hugo y Cloudflare Pages</title>
            <link>https://gatto.land/es/p/hello-world/</link>
            <pubDate>Thu, 15 May 2025 00:00:00 +0000</pubDate>
            <guid>https://gatto.land/es/p/hello-world/</guid>
            <description>&lt;img src=&#34;https://gatto.land/p/hello-world/Logo_of_Hugo.png&#34; alt=&#34;Featured image of post ¡Hola, mundo! - Reconstruir este sitio con Hugo y Cloudflare Pages&#34; /&gt;&lt;p&gt;Esta entrada marca el relanzamiento de este sitio web con &lt;strong&gt;Hugo&lt;/strong&gt; y &lt;strong&gt;Cloudflare Pages&lt;/strong&gt;. Después de experimentar anteriormente con GitHub Pages y WordPress, he migrado el sitio a un flujo de publicación estático que resulta más fácil de mantener, más sencillo de gestionar mediante control de versiones y más sólido desde el punto de vista de la seguridad.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;picture&gt;&lt;source type=&#34;image/avif&#34; srcset=&#34;https://gatto.land/p/hello-world/Logo_of_Cloudflare_hu_bf995b3bda0ae58e.avif 480w, https://gatto.land/p/hello-world/Logo_of_Cloudflare_hu_6de4728c48733327.avif 512w&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34;&gt;&lt;source type=&#34;image/webp&#34; srcset=&#34;https://gatto.land/p/hello-world/Logo_of_Cloudflare_hu_5154e65ef08ea7b7.webp 480w, https://gatto.land/p/hello-world/Logo_of_Cloudflare_hu_fa40e8c6b522a830.webp 512w&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34;&gt;&lt;img alt=&#34;Logotipo de Cloudflare&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;722px&#34; data-flex-grow=&#34;301&#34; height=&#34;170&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://gatto.land/p/hello-world/Logo_of_Cloudflare.jpg&#34; srcset=&#34;https://gatto.land/p/hello-world/Logo_of_Cloudflare_hu_f43c4797f7943a8f.jpg 480w, https://gatto.land/p/hello-world/Logo_of_Cloudflare.jpg 512w&#34; width=&#34;512&#34;&gt;&lt;/picture&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;cronología-de-la-migración-del-sitio&#34;&gt;Cronología de la migración del sitio&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Año&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Plataforma&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Lección principal&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2017&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;GitHub Pages (Jekyll)&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Fue una buena introducción a la publicación basada en Git, pero con el tiempo las opciones de diseño y funcionalidades resultaron limitadas.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2020&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;WordPress&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Ofreció un entorno cómodo de edición visual, pero exigía mantenimiento continuo, gestión de plugins y supervisión de seguridad.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2025&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;Hugo + Cloudflare Pages&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Estableció un flujo de trabajo estático y basado en Git, con despliegues más rápidos, menos dependencias en tiempo de ejecución y mejor mantenibilidad.&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;por-qué-dejé-wordpress&#34;&gt;Por qué dejé WordPress&#xA;&lt;/h2&gt;&lt;p&gt;WordPress sigue siendo una plataforma de publicación potente, especialmente para sitios web dinámicos y equipos editoriales que necesitan un sistema de gestión de contenidos basado en la web. Sin embargo, para un sitio personal orientado a investigación y documentación técnica, la carga de mantenimiento se volvió desproporcionada en relación con mis necesidades reales de publicación.&lt;/p&gt;&#xA;&lt;p&gt;Dos cuestiones relacionadas con la seguridad fueron especialmente relevantes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;En 2024 se divulgaron 7.966 nuevas vulnerabilidades en el ecosistema de WordPress&lt;/strong&gt;, lo que representa un &lt;strong&gt;aumento del 34%&lt;/strong&gt; respecto a 2023, o aproximadamente 22 nuevas vulnerabilidades al día (Patchstack, 2025).&lt;/li&gt;&#xA;&lt;li&gt;El conjunto de datos de incidentes de Sucuri de 2022 indicó que &lt;strong&gt;el 96,2% de los sitios CMS comprometidos de su muestra ejecutaban WordPress&lt;/strong&gt; (Sucuri, 2023).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Mi propia instalación de WordPress se vio afectada a través de un plugin obsoleto. El incidente provocó la alteración de la página principal y la pérdida del acceso administrativo. Como no tenía una copia de seguridad reciente, recuperar la base de datos no era práctico. Esta experiencia dejó claras las limitaciones de mi flujo de trabajo anterior: el sitio dependía demasiado de una base de datos activa, de plugins de terceros y de rutinas de mantenimiento manual.&lt;/p&gt;&#xA;&lt;p&gt;&lt;picture&gt;&lt;source type=&#34;image/avif&#34; srcset=&#34;https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_5e067a75f9b91e65.avif 480w, https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_c0ac2c82c3d0182.avif 672w, https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_d7d6962062ebebc.avif 768w, https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_2a436c38bd799eb0.avif 960w&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34;&gt;&lt;source type=&#34;image/webp&#34; srcset=&#34;https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_b074f6ea34be8406.webp 480w, https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_46904401d4122939.webp 672w, https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_5cdb21e911d40fea.webp 768w, https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_be774fd50568065c.webp 960w&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34;&gt;&lt;img alt=&#34;Ilustración de un incidente de seguridad web&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;320px&#34; data-flex-grow=&#34;133&#34; height=&#34;720&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code.jpg&#34; srcset=&#34;https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_b485cc3a1d830cc.jpg 480w, https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_ba5cb857ca9a0aad.jpg 672w, https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code_hu_d717b3f36101b898.jpg 768w, https://gatto.land/p/hello-world/Cliche_Hacker_and_Binary_Code.jpg 960w&#34; width=&#34;960&#34;&gt;&lt;/picture&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;lecciones-operativas&#34;&gt;Lecciones operativas&#xA;&lt;/h2&gt;&lt;p&gt;El proceso de migración aclaró varias lecciones prácticas para la gestión del sitio a largo plazo.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;La gestión del dominio debe estar automatizada.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Anteriormente dejé caducar el dominio &lt;strong&gt;&lt;code&gt;jiyuuneko.com&lt;/code&gt;&lt;/strong&gt;. Poco después fue registrado por otra parte. La renovación automática se considera ahora parte de la infraestructura básica del sitio.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;El control de versiones debe funcionar como una capa central de copia de seguridad.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Un sitio estático almacenado en Git es más fácil de auditar, restaurar y redesplegar que un sitio basado en base de datos sin copias de seguridad fiables.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Una superficie de ejecución más pequeña es más fácil de gestionar.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;La publicación estática no elimina todos los riesgos de seguridad, pero reduce la exposición al eliminar la necesidad de un CMS ejecutándose en el servidor, ejecución de PHP y una base de datos MySQL activa.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;picture&gt;&lt;source type=&#34;image/avif&#34; srcset=&#34;https://gatto.land/p/hello-world/Logo_of_Hugo_hu_5d8a5df7f71fef99.avif 480w, https://gatto.land/p/hello-world/Logo_of_Hugo_hu_c034ae3f0a218b90.avif 512w&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34;&gt;&lt;source type=&#34;image/webp&#34; srcset=&#34;https://gatto.land/p/hello-world/Logo_of_Hugo_hu_d05934b2bf730f91.webp 480w, https://gatto.land/p/hello-world/Logo_of_Hugo_hu_89e801938b76d6e4.webp 512w&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34;&gt;&lt;img alt=&#34;Logotipo de Hugo&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;877px&#34; data-flex-grow=&#34;365&#34; height=&#34;140&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://gatto.land/p/hello-world/Logo_of_Hugo.png&#34; srcset=&#34;https://gatto.land/p/hello-world/Logo_of_Hugo_hu_58a57cac2f0588a4.png 480w, https://gatto.land/p/hello-world/Logo_of_Hugo.png 512w&#34; width=&#34;512&#34;&gt;&lt;/picture&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;por-qué-hugo-y-cloudflare-pages&#34;&gt;Por qué Hugo y Cloudflare Pages&#xA;&lt;/h2&gt;&lt;p&gt;Hugo y Cloudflare Pages se ajustan al propósito actual de este sitio web: publicar notas estructuradas, reflexiones de investigación, documentación técnica y actualizaciones de proyectos con una carga operativa mínima.&lt;/p&gt;&#xA;&lt;p&gt;Las principales ventajas son:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Generación estática rápida.&lt;/strong&gt; Hugo puede generar páginas con rapidez, lo que lo hace adecuado para un archivo creciente de entradas, notas y documentación.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Publicación basada en Git.&lt;/strong&gt; El contenido se escribe en Markdown, se rastrea mediante Git y se despliega a través de un flujo reproducible.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Menor carga de mantenimiento.&lt;/strong&gt; No hay panel de WordPress, conjunto de plugins, entorno PHP ni base de datos de producción que mantener.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Distribución en el edge.&lt;/strong&gt; Cloudflare Pages sirve archivos estáticos a través de la red global de Cloudflare, lo que puede mejorar el rendimiento de carga para lectores en distintas regiones.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Previsualizaciones de despliegue integradas.&lt;/strong&gt; Las previsualizaciones de pull requests facilitan revisar los cambios antes de publicarlos en el sitio activo.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;HTTPS y controles de seguridad.&lt;/strong&gt; Cloudflare proporciona HTTPS automático y funciones de seguridad configurables que apoyan un entorno de despliegue más controlado.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;qué-esperar-de-este-sitio&#34;&gt;Qué esperar de este sitio&#xA;&lt;/h2&gt;&lt;p&gt;El sitio se centrará en escritura orientada a la investigación y a la práctica, incluyendo:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;notas de investigación sobre paisaje;&lt;/li&gt;&#xA;&lt;li&gt;resiliencia urbana e infraestructura sostenible;&lt;/li&gt;&#xA;&lt;li&gt;flujos de publicación digital;&lt;/li&gt;&#xA;&lt;li&gt;documentación técnica para mantener este sitio web;&lt;/li&gt;&#xA;&lt;li&gt;reflexiones profesionales sobre proyectos y notas de desarrollo de investigación.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;El nuevo sitio está disponible en &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://gatto.land&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://gatto.land&lt;/a&gt;&lt;/strong&gt;. El sitio anterior en WordPress ya no es el entorno principal de publicación, y el flujo actual está diseñado para ser más estable, transparente y mantenible a largo plazo.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;referencias-y-créditos-de-imágenes&#34;&gt;Referencias y créditos de imágenes&#xA;&lt;/h3&gt;&lt;p&gt;Cloudflare. (2016, September 27). Cloudflare logo [SVG logo]. Wikimedia Commons. &lt;a class=&#34;link&#34; href=&#34;https://commons.wikimedia.org/wiki/File:Cloudflare_Logo.svg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://commons.wikimedia.org/wiki/File:Cloudflare_Logo.svg&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Coelho, E., &amp;amp; YellowIcon. (2008, May 2). Stachledraht DDoS attack diagram [SVG image]. Wikimedia Commons. &lt;a class=&#34;link&#34; href=&#34;https://commons.wikimedia.org/wiki/File:Stachledraht_DDos_Attack.svg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://commons.wikimedia.org/wiki/File:Stachledraht_DDos_Attack.svg&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Francia, S., &amp;amp; Parr, B. (2014, May 28). Logo of Hugo the static website generator [SVG logo]. Wikimedia Commons. &lt;a class=&#34;link&#34; href=&#34;https://commons.wikimedia.org/wiki/File:Logo_of_Hugo_the_static_website_generator.svg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://commons.wikimedia.org/wiki/File:Logo_of_Hugo_the_static_website_generator.svg&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Patchstack. (2025). &lt;em&gt;State of WordPress Security in 2025&lt;/em&gt;. &lt;a class=&#34;link&#34; href=&#34;https://patchstack.com/whitepaper/state-of-wordpress-security-in-2025/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://patchstack.com/whitepaper/state-of-wordpress-security-in-2025/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sucuri. (2023). &lt;em&gt;2022 Hacked Website Report&lt;/em&gt;. &lt;a class=&#34;link&#34; href=&#34;https://sucuri.net/reports/2022-hacked-website-report/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://sucuri.net/reports/2022-hacked-website-report/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Whelan, D. (2016, May 24). &lt;em&gt;Cliche Hacker and Binary Code (26946304530)&lt;/em&gt; [Photograph]. Wikimedia Commons. CC0. &lt;a class=&#34;link&#34; href=&#34;https://commons.wikimedia.org/wiki/File:Cliche_Hacker_and_Binary_Code_%2826946304530%29.jpg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://commons.wikimedia.org/wiki/File:Cliche_Hacker_and_Binary_Code_(26946304530).jpg&lt;/a&gt;&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
