{"content_id":"nz3psdk2a0","slug":"low-involvement-web-static-generation-html-cache","locale":"es","schema_type":"TechArticle","category":"knowledge_base","category_name":"Base de conocimiento","title":"Web de baja implicación: generación estática y caché HTML","summary":"En el diseño técnico de una web de baja implicación, hay que comprobar tanto el contenido del HTML inicial como la caché HTML de la CDN. Un TTFB de 0.8 segundos es un valor de referencia para mejorar el rendimiento; el alcance de la caché y su actualización tras los cambios también deben formar parte del diseño.","sponsorship_disclosure":null,"affiliate_disclosure":null,"commerce_disclosure":null,"author":{"name":"Equipo editorial de Injoys","url":"https://injoys.com/ko/about"},"key_points":["Si el HTML inicial incluye el contenido principal, se puede reducir la dependencia de la ejecución de JavaScript.","Google ejecuta JavaScript, por lo que el uso de React por sí solo no permite concluir que el rastreo haya fallado.","Un TTFB de 0.8 segundos o menos es un valor de referencia para mejorar el rendimiento y no indica el tiempo de carga total de la página.","Cloudflare CDN no almacena HTML en caché por defecto, por lo que hay que revisar las reglas de caché de las páginas públicas.","Para la caché HTML, se necesita excluir las páginas de inicio de sesión y definir una política de actualización tras modificar el contenido."],"content_markdown":"Para facilitar el rastreo de los sitios web de baja implicación, el HTML inicial debe incluir el contenido principal. La generación estática y la caché de HTML en la CDN son útiles para el contenido público. Sin embargo, alcanzar un TTFB de 0.8 segundos no basta para garantizar la visibilidad en las búsquedas.\n\nLa referencia para el valor de TTFB es el documento de web.dev actualizado el 18 de noviembre de 2025.\n\n## Condiciones técnicas que conviene revisar primero en los sitios web de baja implicación\n\nEn este artículo, los sitios web de baja implicación son aquellos donde se consulta brevemente la información necesaria. El renderizado y la velocidad de transferencia son aspectos que deben revisarse en estos sitios. Sin embargo, estos dos aspectos no explican por sí solos todas las diferencias de visibilidad en las búsquedas.\n\nEl rastreo es el proceso por el que un robot obtiene una página. La indexación es el proceso que prepara el contenido obtenido para que pueda aparecer en las búsquedas. Google explica que no todas las páginas rastreadas se incluyen en el índice. [Guía de Google sobre el presupuesto de rastreo](https://developers.google.com/crawling/docs/crawl-budget)\n\n| Aspecto que revisar | Qué comprobar | Problema que se busca resolver |\n| --- | --- | --- |\n| HTML inicial | Si la respuesta incluye el título y el contenido principal | Dependencia de una ejecución adicional para leer el contenido |\n| Renderizado | Si el contenido aparece correctamente tras ejecutar JavaScript | Omisiones por errores de ejecución o bloqueos |\n| TTFB | Tiempo que tarda en llegar la primera respuesta | Retrasos de conexión y de respuesta del servidor |\n| Caché de HTML | Si la CDN reutiliza los documentos públicos | Coste de enviar solicitudes repetidas al servidor de origen |\n| Estado de indexación | Cómo ha procesado Google esa URL | Confusión entre un rastreo correcto y la inclusión en las búsquedas |\n\n## Por qué una página de React puede parecer un HTML vacío\n\nEl HTML inicial de una página de React depende de cómo esté implementada. El método que genera el contenido en el navegador se llama CSR. Con este método, la primera respuesta puede contener solo código para ejecutar, sin el contenido principal.\n\nGoogle usa Chromium para ejecutar JavaScript. Después del rastreo, la página puede quedar a la espera del renderizado. Las páginas o los archivos bloqueados pueden quedar excluidos del renderizado. Además, no todos los robots ejecutan JavaScript. [Guía básica de Google sobre SEO para JavaScript](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics)\n\nPor tanto, no evalúe el estado del rastreo solo porque la página se vea bien. Compruebe primero si la respuesta inicial contiene el contenido principal. Puede consultar el resultado renderizado por Google con la inspección de URLs de Search Console.\n\n## Comparación entre generación estática y renderizado en el servidor\n\nPuede elegir el método de generación de HTML según cómo se actualice el contenido público. La generación estática crea el HTML antes de recibir una solicitud. El renderizado en el servidor crea el HTML en el servidor cuando recibe una solicitud. Estos métodos también pueden usarse con React. [Guía de web.dev sobre métodos de renderizado](https://web.dev/articles/rendering-on-the-web)\n\n| Método | Cuándo se crea el HTML | Situaciones en las que conviene considerarlo | Aspectos operativos que revisar |\n| --- | --- | --- | --- |\n| Renderizado en el cliente CSR | Al ejecutar JavaScript en el navegador | Pantallas con mucha interacción del usuario | Ejecución y solicitudes necesarias hasta mostrar el contenido |\n| Generación estática SSG | Durante la compilación o la creación del contenido | Documentos públicos que muestran el mismo contenido a todos los visitantes | Regeneración y despliegue después de los cambios |\n| Renderizado en el servidor SSR | Al procesar la solicitud de una página | Pantallas que generan contenido actualizado para cada solicitud | Tiempo de consulta de datos y de generación de HTML |\n| Prerenderizado | Al ejecutar la aplicación antes del despliegue para obtener el HTML | Cuando se quiere ofrecer de antemano el contenido inicial de una aplicación existente | JavaScript necesario para las funciones posteriores |\n\nLa generación estática y la CDN cumplen funciones distintas. La generación estática es una decisión sobre cuándo crear el HTML. La CDN es una infraestructura para entregar y reutilizar contenido. El HTML creado en el servidor también puede almacenarse en la caché de la CDN si cumple las condiciones.\n\n## ¿Qué significa un TTFB de 0.8 segundos?\n\nTTFB es el tiempo que transcurre desde el inicio de la navegación hasta la llegada del primer byte de respuesta. web.dev propone **0.8 segundos o menos** como objetivo orientativo para la mayoría de los sitios. No es lo mismo que el tiempo necesario para mostrar la página completa. TTFB tampoco es una métrica de Core Web Vitals. [Explicación de TTFB en web.dev](https://web.dev/articles/ttfb)\n\nTTFB incluye retrasos ajenos al procesamiento interno del servidor. La consulta DNS es el proceso que busca la dirección de conexión de un dominio. Las conexiones TCP y TLS también pueden tardar. Las redirecciones que envían a otra dirección también influyen.\n\n- Tiempo de consulta DNS y preparación de la conexión\n- Tiempo de viaje de la solicitud y la respuesta por la red\n- Tiempo de consulta de datos y generación de HTML en el servidor de origen\n- Tiempo de las redirecciones anteriores a la primera respuesta\n\nEl hecho de que el servidor esté en Seúl no basta para concluir que el TTFB será de más de 0.8 segundos. El resultado depende de la ubicación desde la que se accede y de si se reutiliza la conexión. Los rastreadores de Google usan principalmente direcciones IP de Estados Unidos. Sin embargo, también pueden acceder desde direcciones IP de otros países. [Características técnicas de los rastreadores de Google](https://developers.google.com/crawling/docs/crawlers-fetchers/overview-google-crawlers?hl=en)\n\nLos retrasos persistentes en las respuestas afectan a la capacidad de rastreo de Google. Los errores del servidor también pueden reducir el volumen de rastreo. Eso no significa que exista una regla que detenga el rastreo por superar una vez los 0.8 segundos. La calidad de las páginas y su frecuencia de actualización también influyen en la demanda de rastreo. [Guía de Google sobre el presupuesto de rastreo](https://developers.google.com/crawling/docs/crawl-budget)\n\n## Por qué debe comprobar la caché de HTML en la CDN\n\nLa CDN de Cloudflare no almacena HTML en caché de forma predeterminada. Aunque las imágenes o el CSS estén en caché, debe comprobar por separado el documento que contiene el texto principal. Consulte la documentación de cada servicio para conocer el comportamiento predeterminado de otras CDN.\n\n\u003e La CDN de Cloudflare no almacena HTML ni JSON en caché de forma predeterminada.\n\u003e\n\u003e Cloudflare, Comportamiento predeterminado de la caché\n\nEsta frase significa que HTML y JSON no se incluyen de forma predeterminada entre los contenidos que se almacenan en caché. Puede incluir el HTML público mediante Cache Rules. El almacenamiento efectivo también depende de condiciones como las cabeceras de respuesta y las cookies. [Comportamiento predeterminado de la caché de Cloudflare](https://developers.cloudflare.com/cache/concepts/default-cache-behavior/)\n\nLa caché permite reutilizar respuestas almacenadas. Conectar una CDN no replica de inmediato todos los documentos por todo el mundo. Cloudflare almacena el contenido en caché en el centro de datos que atiende la solicitud. Si el contenido solicitado no está en caché, puede ser necesario consultar el servidor de origen. [Guía de inicio de la caché de Cloudflare](https://developers.cloudflare.com/cache/get-started/)\n\nAl aplicar reglas de caché al HTML público, excluya las páginas personalizadas. Cloudflare advierte de que almacenar HTML dinámico en caché puede hacer que se entregue información de otra persona. No almacene en caché las páginas de inicio de sesión ni de cuenta. [Precauciones sobre Cache Everything de Cloudflare](https://developers.cloudflare.com/cache/how-to/cache-rules/examples/cache-everything/)\n\n## Criterios para aplicar la caché según las condiciones de la página\n\nEl punto de partida para definir el alcance de la caché es si todos los visitantes ven el mismo contenido. Los textos explicativos públicos son adecuados para su reutilización compartida. Las respuestas cuyo contenido cambia según el estado de inicio de sesión deben tratarse por separado.\n\n| Condición de la página | Configuración que considerar | Aspectos que comprobar también |\n| --- | --- | --- |\n| Ofrece el mismo texto explicativo a todos los visitantes | Generación estática y caché de HTML público | Regeneración y actualización de la caché después de los cambios |\n| El contenido público incluye cifras que cambian con frecuencia | Separar los métodos de actualización del texto y de los datos variables | Momento de referencia de las cifras y qué se muestra si se produce un fallo |\n| Necesita información pública actualizada en el momento de la solicitud | Considerar el renderizado en el servidor y la caché condicional | Retraso aceptable en la información |\n| Pantallas de inicio de sesión, cuenta y pago | Excluirlas de la caché compartida de HTML | Cookies de autenticación y respuestas específicas de cada usuario |\n| Ofrece documentos públicos en varios idiomas | URL por idioma y caché de cada documento | Enlaces entre traducciones y actualización por idioma |\n\nCargar los datos en tiempo real más tarde facilita mantener estático el contenido principal. Sin embargo, no posponga la carga de todo el contenido esencial para las búsquedas. Podría contradecir el propósito de ofrecer HTML inicial.\n\n## Errores frecuentes y criterios de comprobación\n\nEs fácil pasar por alto errores si se juzgan los resultados solo por los nombres de las tecnologías o las pantallas de configuración. Compruebe tanto el HTML real como las cabeceras de respuesta. Los siguientes estados deben distinguirse entre sí.\n\n| Conclusión frecuente | Criterio que debe comprobarse |\n| --- | --- |\n| Los robots de búsqueda no pueden leer los sitios de React | HTML inicial y resultado del renderizado de Google |\n| Con un TTFB de 0.8 segundos, toda la página ya está visible | Tiempo desde la primera respuesta hasta que se muestra el contenido |\n| Como se ha conectado una CDN, el HTML también está en caché | Estado de caché de la solicitud de HTML |\n| Un archivo estático siempre contiene la información más reciente | Momento de la última generación y contenido desplegado |\n| Si la respuesta es rápida, la inclusión en las búsquedas ya está completa | Estado de indexación en Search Console |\n| Un único acierto de caché permite evaluar la velocidad global | Mediciones según la región de acceso y si hubo un acierto de caché |\n\n`CF-Cache-Status` de Cloudflare es una cabecera que muestra el estado de la caché. `HIT` significa que la respuesta se encontró en la caché. `MISS` significa que no estaba en la caché cuando llegó la solicitud y se obtuvo del servidor de origen. `DYNAMIC` indica que no se trató como contenido que debía almacenarse en caché. [Explicación de las respuestas de caché de Cloudflare](https://developers.cloudflare.com/cache/concepts/cache-responses/)\n\n## Actualización de la caché después de modificar el contenido\n\nCon los archivos estáticos y la caché de la CDN, también debe planificar cómo se reflejarán los cambios. Aunque modifique el contenido de origen, si la caché anterior permanece, se entregará el contenido antiguo. Si publica HTML y JSON juntos, el contenido de ambos formatos también debe coincidir.\n\nEsta es la secuencia de comprobación cuando se mantienen documentos y archivos de datos juntos.\n\n1. Confirme los cambios en los datos de origen.\n2. Vuelva a generar el HTML y los archivos de datos a partir de la misma versión modificada.\n3. Despliegue los archivos nuevos y después actualice la caché de las URL modificadas.\n4. Vuelva a solicitar cada URL y compruebe que los cambios coincidan.\n\nCloudflare recomienda borrar la caché por URL. Borrar la caché elimina las respuestas almacenadas. La regeneración del HTML estático es una tarea aparte. Por tanto, integre la generación de archivos y la actualización de la caché en el mismo proceso de despliegue. [Guía de Cloudflare para borrar la caché](https://developers.cloudflare.com/cache/how-to/purge-cache/)\n\nAjuste el intervalo de actualización al retraso de información que permita el contenido. No es necesario aplicar el mismo intervalo a los textos explicativos y a las cifras en tiempo real. Un periodo de validez corto de la caché no basta para resolver todos los problemas de actualización.\n\n## Criterios de hreflang para sitios multilingües\n\n`hreflang` es información que relaciona las direcciones de un mismo contenido para distintos idiomas y regiones. No es una función que genere traducciones. Ayuda a Google a encontrar la versión lingüística adecuada para el visitante.\n\n| Ubicación de implementación | Forma de indicarlo | Qué comprobar al elegir |\n| --- | --- | --- |\n| HTML | Incluir enlaces a idiomas alternativos en el `head` del documento | Si pueden gestionarse en la plantilla de cada página |\n| Cabeceras HTTP | Indicarlo en la cabecera `Link` de la respuesta | Si las cabeceras pueden gestionarse en el servidor |\n| Mapa del sitio | Indicar en el mapa del sitio la relación entre las URL de cada idioma | Si la lista de documentos puede gestionarse en conjunto |\n\nGoogle trata estos métodos de la misma manera. Por tanto, no es obligatorio incluirlo solo en el HTML. Cada documento debe indicar las versiones en otros idiomas e incluirse a sí mismo. Compruebe también los enlaces entre las páginas correspondientes. [Guía de Google sobre páginas multilingües](https://developers.google.com/search/docs/specialty/international/localized-versions)\n\n## Orden de comprobación de los resultados del despliegue\n\nDespués del despliegue, verifique por separado la entrega del contenido y el funcionamiento de la caché. Registre la región de medición y el estado de la caché junto con los valores de velocidad. Seguir este orden facilita identificar dónde está el problema.\n\n1. Revise la respuesta del documento HTML en las herramientas de desarrollo del navegador. Compruebe si incluye el contenido principal.\n2. Consulte el HTML renderizado en la inspección de URLs de Search Console. Revise también, por separado, el estado real de indexación.\n3. Compruebe las cabeceras de caché de la respuesta HTML. En Cloudflare, consulte `CF-Cache-Status`.\n4. Mida el mismo documento desde las principales regiones de acceso. Distinga entre solicitudes cuyo contenido no está en caché y solicitudes con acierto de caché.\n5. Modifique el contenido y compruebe el resultado de la actualización. Revise también si las páginas de inicio de sesión están excluidas de la caché.\n\nCloudflare advierte de que un uso excesivo de la caché de HTML dinámico puede impedir que funcione el inicio de sesión. No almacene en caché los formularios de inicio de sesión ni las páginas autenticadas. Después de los cambios, compruebe también que se conserven las cookies de autenticación. [Guía de Cloudflare sobre problemas de inicio de sesión](https://developers.cloudflare.com/cache/troubleshooting/dynamic-content-and-login-issues/)\n\n## Requisitos de implementación que debe transmitir a la IA al programar\n\nPida a la IA resultados verificables junto con los nombres de las tecnologías. Resulta útil especificar el contenido del HTML inicial y qué debe excluirse de la caché. El siguiente texto es un ejemplo de solicitud para crear páginas públicas de conocimiento.\n\n```text\nIncluya el contenido principal de las páginas públicas de conocimiento en el HTML inicial.\nPara los documentos públicos, considere primero la generación estática.\nExplique por separado cómo se actualizarán los datos variables.\nCompruebe si la CDN almacena el HTML en caché.\nExcluya las páginas de inicio de sesión, cuenta y pago de la caché compartida.\nVincule la regeneración de archivos estáticos con la actualización de la caché cuando cambie el contenido.\nSi hay páginas multilingües, configure los enlaces hreflang.\nIndique cómo comprobar el HTML inicial, el estado de la caché y si se han reflejado los cambios.\n```","content_html":"\u003cp\u003ePara facilitar el rastreo de los sitios web de baja implicación, el HTML inicial debe incluir el contenido principal. La generación estática y la caché de HTML en la CDN son útiles para el contenido público. Sin embargo, alcanzar un TTFB de 0.8 segundos no basta para garantizar la visibilidad en las búsquedas.\u003c/p\u003e\n\u003cp\u003eLa referencia para el valor de TTFB es el documento de web.dev actualizado el 18 de noviembre de 2025.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#condiciones-t%C3%A9cnicas-que-conviene-revisar-primero-en-los-sitios-web-de-baja-implicaci%C3%B3n\" class=\"anchor\" id=\"condiciones-técnicas-que-conviene-revisar-primero-en-los-sitios-web-de-baja-implicación\"\u003e\u003c/a\u003eCondiciones técnicas que conviene revisar primero en los sitios web de baja implicación\u003c/h2\u003e\n\u003cp\u003eEn este artículo, los sitios web de baja implicación son aquellos donde se consulta brevemente la información necesaria. El renderizado y la velocidad de transferencia son aspectos que deben revisarse en estos sitios. Sin embargo, estos dos aspectos no explican por sí solos todas las diferencias de visibilidad en las búsquedas.\u003c/p\u003e\n\u003cp\u003eEl rastreo es el proceso por el que un robot obtiene una página. La indexación es el proceso que prepara el contenido obtenido para que pueda aparecer en las búsquedas. Google explica que no todas las páginas rastreadas se incluyen en el índice. \u003ca href=\"https://developers.google.com/crawling/docs/crawl-budget\"\u003eGuía de Google sobre el presupuesto de rastreo\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eAspecto que revisar\u003c/th\u003e\n\u003cth\u003eQué comprobar\u003c/th\u003e\n\u003cth\u003eProblema que se busca resolver\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Aspecto que revisar\"\u003eHTML inicial\u003c/td\u003e\n\u003ctd data-label=\"Qué comprobar\"\u003eSi la respuesta incluye el título y el contenido principal\u003c/td\u003e\n\u003ctd data-label=\"Problema que se busca resolver\"\u003eDependencia de una ejecución adicional para leer el contenido\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Aspecto que revisar\"\u003eRenderizado\u003c/td\u003e\n\u003ctd data-label=\"Qué comprobar\"\u003eSi el contenido aparece correctamente tras ejecutar JavaScript\u003c/td\u003e\n\u003ctd data-label=\"Problema que se busca resolver\"\u003eOmisiones por errores de ejecución o bloqueos\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Aspecto que revisar\"\u003eTTFB\u003c/td\u003e\n\u003ctd data-label=\"Qué comprobar\"\u003eTiempo que tarda en llegar la primera respuesta\u003c/td\u003e\n\u003ctd data-label=\"Problema que se busca resolver\"\u003eRetrasos de conexión y de respuesta del servidor\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Aspecto que revisar\"\u003eCaché de HTML\u003c/td\u003e\n\u003ctd data-label=\"Qué comprobar\"\u003eSi la CDN reutiliza los documentos públicos\u003c/td\u003e\n\u003ctd data-label=\"Problema que se busca resolver\"\u003eCoste de enviar solicitudes repetidas al servidor de origen\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Aspecto que revisar\"\u003eEstado de indexación\u003c/td\u003e\n\u003ctd data-label=\"Qué comprobar\"\u003eCómo ha procesado Google esa URL\u003c/td\u003e\n\u003ctd data-label=\"Problema que se busca resolver\"\u003eConfusión entre un rastreo correcto y la inclusión en las búsquedas\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch2\u003e\n\u003ca href=\"#por-qu%C3%A9-una-p%C3%A1gina-de-react-puede-parecer-un-html-vac%C3%ADo\" class=\"anchor\" id=\"por-qué-una-página-de-react-puede-parecer-un-html-vacío\"\u003e\u003c/a\u003ePor qué una página de React puede parecer un HTML vacío\u003c/h2\u003e\n\u003cp\u003eEl HTML inicial de una página de React depende de cómo esté implementada. El método que genera el contenido en el navegador se llama CSR. Con este método, la primera respuesta puede contener solo código para ejecutar, sin el contenido principal.\u003c/p\u003e\n\u003cp\u003eGoogle usa Chromium para ejecutar JavaScript. Después del rastreo, la página puede quedar a la espera del renderizado. Las páginas o los archivos bloqueados pueden quedar excluidos del renderizado. Además, no todos los robots ejecutan JavaScript. \u003ca href=\"https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics\"\u003eGuía básica de Google sobre SEO para JavaScript\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePor tanto, no evalúe el estado del rastreo solo porque la página se vea bien. Compruebe primero si la respuesta inicial contiene el contenido principal. Puede consultar el resultado renderizado por Google con la inspección de URLs de Search Console.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#comparaci%C3%B3n-entre-generaci%C3%B3n-est%C3%A1tica-y-renderizado-en-el-servidor\" class=\"anchor\" id=\"comparación-entre-generación-estática-y-renderizado-en-el-servidor\"\u003e\u003c/a\u003eComparación entre generación estática y renderizado en el servidor\u003c/h2\u003e\n\u003cp\u003ePuede elegir el método de generación de HTML según cómo se actualice el contenido público. La generación estática crea el HTML antes de recibir una solicitud. El renderizado en el servidor crea el HTML en el servidor cuando recibe una solicitud. Estos métodos también pueden usarse con React. \u003ca href=\"https://web.dev/articles/rendering-on-the-web\"\u003eGuía de web.dev sobre métodos de renderizado\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eMétodo\u003c/th\u003e\n\u003cth\u003eCuándo se crea el HTML\u003c/th\u003e\n\u003cth\u003eSituaciones en las que conviene considerarlo\u003c/th\u003e\n\u003cth\u003eAspectos operativos que revisar\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Método\"\u003eRenderizado en el cliente CSR\u003c/td\u003e\n\u003ctd data-label=\"Cuándo se crea el HTML\"\u003eAl ejecutar JavaScript en el navegador\u003c/td\u003e\n\u003ctd data-label=\"Situaciones en las que conviene considerarlo\"\u003ePantallas con mucha interacción del usuario\u003c/td\u003e\n\u003ctd data-label=\"Aspectos operativos que revisar\"\u003eEjecución y solicitudes necesarias hasta mostrar el contenido\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Método\"\u003eGeneración estática SSG\u003c/td\u003e\n\u003ctd data-label=\"Cuándo se crea el HTML\"\u003eDurante la compilación o la creación del contenido\u003c/td\u003e\n\u003ctd data-label=\"Situaciones en las que conviene considerarlo\"\u003eDocumentos públicos que muestran el mismo contenido a todos los visitantes\u003c/td\u003e\n\u003ctd data-label=\"Aspectos operativos que revisar\"\u003eRegeneración y despliegue después de los cambios\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Método\"\u003eRenderizado en el servidor SSR\u003c/td\u003e\n\u003ctd data-label=\"Cuándo se crea el HTML\"\u003eAl procesar la solicitud de una página\u003c/td\u003e\n\u003ctd data-label=\"Situaciones en las que conviene considerarlo\"\u003ePantallas que generan contenido actualizado para cada solicitud\u003c/td\u003e\n\u003ctd data-label=\"Aspectos operativos que revisar\"\u003eTiempo de consulta de datos y de generación de HTML\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Método\"\u003ePrerenderizado\u003c/td\u003e\n\u003ctd data-label=\"Cuándo se crea el HTML\"\u003eAl ejecutar la aplicación antes del despliegue para obtener el HTML\u003c/td\u003e\n\u003ctd data-label=\"Situaciones en las que conviene considerarlo\"\u003eCuando se quiere ofrecer de antemano el contenido inicial de una aplicación existente\u003c/td\u003e\n\u003ctd data-label=\"Aspectos operativos que revisar\"\u003eJavaScript necesario para las funciones posteriores\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eLa generación estática y la CDN cumplen funciones distintas. La generación estática es una decisión sobre cuándo crear el HTML. La CDN es una infraestructura para entregar y reutilizar contenido. El HTML creado en el servidor también puede almacenarse en la caché de la CDN si cumple las condiciones.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#qu%C3%A9-significa-un-ttfb-de-08-segundos\" class=\"anchor\" id=\"qué-significa-un-ttfb-de-08-segundos\"\u003e\u003c/a\u003e¿Qué significa un TTFB de 0.8 segundos?\u003c/h2\u003e\n\u003cp\u003eTTFB es el tiempo que transcurre desde el inicio de la navegación hasta la llegada del primer byte de respuesta. web.dev propone \u003cstrong\u003e0.8 segundos o menos\u003c/strong\u003e como objetivo orientativo para la mayoría de los sitios. No es lo mismo que el tiempo necesario para mostrar la página completa. TTFB tampoco es una métrica de Core Web Vitals. \u003ca href=\"https://web.dev/articles/ttfb\"\u003eExplicación de TTFB en web.dev\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eTTFB incluye retrasos ajenos al procesamiento interno del servidor. La consulta DNS es el proceso que busca la dirección de conexión de un dominio. Las conexiones TCP y TLS también pueden tardar. Las redirecciones que envían a otra dirección también influyen.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTiempo de consulta DNS y preparación de la conexión\u003c/li\u003e\n\u003cli\u003eTiempo de viaje de la solicitud y la respuesta por la red\u003c/li\u003e\n\u003cli\u003eTiempo de consulta de datos y generación de HTML en el servidor de origen\u003c/li\u003e\n\u003cli\u003eTiempo de las redirecciones anteriores a la primera respuesta\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eEl hecho de que el servidor esté en Seúl no basta para concluir que el TTFB será de más de 0.8 segundos. El resultado depende de la ubicación desde la que se accede y de si se reutiliza la conexión. Los rastreadores de Google usan principalmente direcciones IP de Estados Unidos. Sin embargo, también pueden acceder desde direcciones IP de otros países. \u003ca href=\"https://developers.google.com/crawling/docs/crawlers-fetchers/overview-google-crawlers?hl=en\"\u003eCaracterísticas técnicas de los rastreadores de Google\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eLos retrasos persistentes en las respuestas afectan a la capacidad de rastreo de Google. Los errores del servidor también pueden reducir el volumen de rastreo. Eso no significa que exista una regla que detenga el rastreo por superar una vez los 0.8 segundos. La calidad de las páginas y su frecuencia de actualización también influyen en la demanda de rastreo. \u003ca href=\"https://developers.google.com/crawling/docs/crawl-budget\"\u003eGuía de Google sobre el presupuesto de rastreo\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#por-qu%C3%A9-debe-comprobar-la-cach%C3%A9-de-html-en-la-cdn\" class=\"anchor\" id=\"por-qué-debe-comprobar-la-caché-de-html-en-la-cdn\"\u003e\u003c/a\u003ePor qué debe comprobar la caché de HTML en la CDN\u003c/h2\u003e\n\u003cp\u003eLa CDN de Cloudflare no almacena HTML en caché de forma predeterminada. Aunque las imágenes o el CSS estén en caché, debe comprobar por separado el documento que contiene el texto principal. Consulte la documentación de cada servicio para conocer el comportamiento predeterminado de otras CDN.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eLa CDN de Cloudflare no almacena HTML ni JSON en caché de forma predeterminada.\u003c/p\u003e\n\u003cp\u003eCloudflare, Comportamiento predeterminado de la caché\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eEsta frase significa que HTML y JSON no se incluyen de forma predeterminada entre los contenidos que se almacenan en caché. Puede incluir el HTML público mediante Cache Rules. El almacenamiento efectivo también depende de condiciones como las cabeceras de respuesta y las cookies. \u003ca href=\"https://developers.cloudflare.com/cache/concepts/default-cache-behavior/\"\u003eComportamiento predeterminado de la caché de Cloudflare\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eLa caché permite reutilizar respuestas almacenadas. Conectar una CDN no replica de inmediato todos los documentos por todo el mundo. Cloudflare almacena el contenido en caché en el centro de datos que atiende la solicitud. Si el contenido solicitado no está en caché, puede ser necesario consultar el servidor de origen. \u003ca href=\"https://developers.cloudflare.com/cache/get-started/\"\u003eGuía de inicio de la caché de Cloudflare\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAl aplicar reglas de caché al HTML público, excluya las páginas personalizadas. Cloudflare advierte de que almacenar HTML dinámico en caché puede hacer que se entregue información de otra persona. No almacene en caché las páginas de inicio de sesión ni de cuenta. \u003ca href=\"https://developers.cloudflare.com/cache/how-to/cache-rules/examples/cache-everything/\"\u003ePrecauciones sobre Cache Everything de Cloudflare\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#criterios-para-aplicar-la-cach%C3%A9-seg%C3%BAn-las-condiciones-de-la-p%C3%A1gina\" class=\"anchor\" id=\"criterios-para-aplicar-la-caché-según-las-condiciones-de-la-página\"\u003e\u003c/a\u003eCriterios para aplicar la caché según las condiciones de la página\u003c/h2\u003e\n\u003cp\u003eEl punto de partida para definir el alcance de la caché es si todos los visitantes ven el mismo contenido. Los textos explicativos públicos son adecuados para su reutilización compartida. Las respuestas cuyo contenido cambia según el estado de inicio de sesión deben tratarse por separado.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCondición de la página\u003c/th\u003e\n\u003cth\u003eConfiguración que considerar\u003c/th\u003e\n\u003cth\u003eAspectos que comprobar también\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Condición de la página\"\u003eOfrece el mismo texto explicativo a todos los visitantes\u003c/td\u003e\n\u003ctd data-label=\"Configuración que considerar\"\u003eGeneración estática y caché de HTML público\u003c/td\u003e\n\u003ctd data-label=\"Aspectos que comprobar también\"\u003eRegeneración y actualización de la caché después de los cambios\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Condición de la página\"\u003eEl contenido público incluye cifras que cambian con frecuencia\u003c/td\u003e\n\u003ctd data-label=\"Configuración que considerar\"\u003eSeparar los métodos de actualización del texto y de los datos variables\u003c/td\u003e\n\u003ctd data-label=\"Aspectos que comprobar también\"\u003eMomento de referencia de las cifras y qué se muestra si se produce un fallo\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Condición de la página\"\u003eNecesita información pública actualizada en el momento de la solicitud\u003c/td\u003e\n\u003ctd data-label=\"Configuración que considerar\"\u003eConsiderar el renderizado en el servidor y la caché condicional\u003c/td\u003e\n\u003ctd data-label=\"Aspectos que comprobar también\"\u003eRetraso aceptable en la información\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Condición de la página\"\u003ePantallas de inicio de sesión, cuenta y pago\u003c/td\u003e\n\u003ctd data-label=\"Configuración que considerar\"\u003eExcluirlas de la caché compartida de HTML\u003c/td\u003e\n\u003ctd data-label=\"Aspectos que comprobar también\"\u003eCookies de autenticación y respuestas específicas de cada usuario\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Condición de la página\"\u003eOfrece documentos públicos en varios idiomas\u003c/td\u003e\n\u003ctd data-label=\"Configuración que considerar\"\u003eURL por idioma y caché de cada documento\u003c/td\u003e\n\u003ctd data-label=\"Aspectos que comprobar también\"\u003eEnlaces entre traducciones y actualización por idioma\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eCargar los datos en tiempo real más tarde facilita mantener estático el contenido principal. Sin embargo, no posponga la carga de todo el contenido esencial para las búsquedas. Podría contradecir el propósito de ofrecer HTML inicial.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#errores-frecuentes-y-criterios-de-comprobaci%C3%B3n\" class=\"anchor\" id=\"errores-frecuentes-y-criterios-de-comprobación\"\u003e\u003c/a\u003eErrores frecuentes y criterios de comprobación\u003c/h2\u003e\n\u003cp\u003eEs fácil pasar por alto errores si se juzgan los resultados solo por los nombres de las tecnologías o las pantallas de configuración. Compruebe tanto el HTML real como las cabeceras de respuesta. Los siguientes estados deben distinguirse entre sí.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eConclusión frecuente\u003c/th\u003e\n\u003cth\u003eCriterio que debe comprobarse\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Conclusión frecuente\"\u003eLos robots de búsqueda no pueden leer los sitios de React\u003c/td\u003e\n\u003ctd data-label=\"Criterio que debe comprobarse\"\u003eHTML inicial y resultado del renderizado de Google\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Conclusión frecuente\"\u003eCon un TTFB de 0.8 segundos, toda la página ya está visible\u003c/td\u003e\n\u003ctd data-label=\"Criterio que debe comprobarse\"\u003eTiempo desde la primera respuesta hasta que se muestra el contenido\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Conclusión frecuente\"\u003eComo se ha conectado una CDN, el HTML también está en caché\u003c/td\u003e\n\u003ctd data-label=\"Criterio que debe comprobarse\"\u003eEstado de caché de la solicitud de HTML\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Conclusión frecuente\"\u003eUn archivo estático siempre contiene la información más reciente\u003c/td\u003e\n\u003ctd data-label=\"Criterio que debe comprobarse\"\u003eMomento de la última generación y contenido desplegado\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Conclusión frecuente\"\u003eSi la respuesta es rápida, la inclusión en las búsquedas ya está completa\u003c/td\u003e\n\u003ctd data-label=\"Criterio que debe comprobarse\"\u003eEstado de indexación en Search Console\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Conclusión frecuente\"\u003eUn único acierto de caché permite evaluar la velocidad global\u003c/td\u003e\n\u003ctd data-label=\"Criterio que debe comprobarse\"\u003eMediciones según la región de acceso y si hubo un acierto de caché\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003e\u003ccode\u003eCF-Cache-Status\u003c/code\u003e de Cloudflare es una cabecera que muestra el estado de la caché. \u003ccode\u003eHIT\u003c/code\u003e significa que la respuesta se encontró en la caché. \u003ccode\u003eMISS\u003c/code\u003e significa que no estaba en la caché cuando llegó la solicitud y se obtuvo del servidor de origen. \u003ccode\u003eDYNAMIC\u003c/code\u003e indica que no se trató como contenido que debía almacenarse en caché. \u003ca href=\"https://developers.cloudflare.com/cache/concepts/cache-responses/\"\u003eExplicación de las respuestas de caché de Cloudflare\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#actualizaci%C3%B3n-de-la-cach%C3%A9-despu%C3%A9s-de-modificar-el-contenido\" class=\"anchor\" id=\"actualización-de-la-caché-después-de-modificar-el-contenido\"\u003e\u003c/a\u003eActualización de la caché después de modificar el contenido\u003c/h2\u003e\n\u003cp\u003eCon los archivos estáticos y la caché de la CDN, también debe planificar cómo se reflejarán los cambios. Aunque modifique el contenido de origen, si la caché anterior permanece, se entregará el contenido antiguo. Si publica HTML y JSON juntos, el contenido de ambos formatos también debe coincidir.\u003c/p\u003e\n\u003cp\u003eEsta es la secuencia de comprobación cuando se mantienen documentos y archivos de datos juntos.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eConfirme los cambios en los datos de origen.\u003c/li\u003e\n\u003cli\u003eVuelva a generar el HTML y los archivos de datos a partir de la misma versión modificada.\u003c/li\u003e\n\u003cli\u003eDespliegue los archivos nuevos y después actualice la caché de las URL modificadas.\u003c/li\u003e\n\u003cli\u003eVuelva a solicitar cada URL y compruebe que los cambios coincidan.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eCloudflare recomienda borrar la caché por URL. Borrar la caché elimina las respuestas almacenadas. La regeneración del HTML estático es una tarea aparte. Por tanto, integre la generación de archivos y la actualización de la caché en el mismo proceso de despliegue. \u003ca href=\"https://developers.cloudflare.com/cache/how-to/purge-cache/\"\u003eGuía de Cloudflare para borrar la caché\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAjuste el intervalo de actualización al retraso de información que permita el contenido. No es necesario aplicar el mismo intervalo a los textos explicativos y a las cifras en tiempo real. Un periodo de validez corto de la caché no basta para resolver todos los problemas de actualización.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#criterios-de-hreflang-para-sitios-multiling%C3%BCes\" class=\"anchor\" id=\"criterios-de-hreflang-para-sitios-multilingües\"\u003e\u003c/a\u003eCriterios de hreflang para sitios multilingües\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003ehreflang\u003c/code\u003e es información que relaciona las direcciones de un mismo contenido para distintos idiomas y regiones. No es una función que genere traducciones. Ayuda a Google a encontrar la versión lingüística adecuada para el visitante.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eUbicación de implementación\u003c/th\u003e\n\u003cth\u003eForma de indicarlo\u003c/th\u003e\n\u003cth\u003eQué comprobar al elegir\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Ubicación de implementación\"\u003eHTML\u003c/td\u003e\n\u003ctd data-label=\"Forma de indicarlo\"\u003eIncluir enlaces a idiomas alternativos en el \u003ccode\u003ehead\u003c/code\u003e del documento\u003c/td\u003e\n\u003ctd data-label=\"Qué comprobar al elegir\"\u003eSi pueden gestionarse en la plantilla de cada página\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Ubicación de implementación\"\u003eCabeceras HTTP\u003c/td\u003e\n\u003ctd data-label=\"Forma de indicarlo\"\u003eIndicarlo en la cabecera \u003ccode\u003eLink\u003c/code\u003e de la respuesta\u003c/td\u003e\n\u003ctd data-label=\"Qué comprobar al elegir\"\u003eSi las cabeceras pueden gestionarse en el servidor\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Ubicación de implementación\"\u003eMapa del sitio\u003c/td\u003e\n\u003ctd data-label=\"Forma de indicarlo\"\u003eIndicar en el mapa del sitio la relación entre las URL de cada idioma\u003c/td\u003e\n\u003ctd data-label=\"Qué comprobar al elegir\"\u003eSi la lista de documentos puede gestionarse en conjunto\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eGoogle trata estos métodos de la misma manera. Por tanto, no es obligatorio incluirlo solo en el HTML. Cada documento debe indicar las versiones en otros idiomas e incluirse a sí mismo. Compruebe también los enlaces entre las páginas correspondientes. \u003ca href=\"https://developers.google.com/search/docs/specialty/international/localized-versions\"\u003eGuía de Google sobre páginas multilingües\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#orden-de-comprobaci%C3%B3n-de-los-resultados-del-despliegue\" class=\"anchor\" id=\"orden-de-comprobación-de-los-resultados-del-despliegue\"\u003e\u003c/a\u003eOrden de comprobación de los resultados del despliegue\u003c/h2\u003e\n\u003cp\u003eDespués del despliegue, verifique por separado la entrega del contenido y el funcionamiento de la caché. Registre la región de medición y el estado de la caché junto con los valores de velocidad. Seguir este orden facilita identificar dónde está el problema.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eRevise la respuesta del documento HTML en las herramientas de desarrollo del navegador. Compruebe si incluye el contenido principal.\u003c/li\u003e\n\u003cli\u003eConsulte el HTML renderizado en la inspección de URLs de Search Console. Revise también, por separado, el estado real de indexación.\u003c/li\u003e\n\u003cli\u003eCompruebe las cabeceras de caché de la respuesta HTML. En Cloudflare, consulte \u003ccode\u003eCF-Cache-Status\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eMida el mismo documento desde las principales regiones de acceso. Distinga entre solicitudes cuyo contenido no está en caché y solicitudes con acierto de caché.\u003c/li\u003e\n\u003cli\u003eModifique el contenido y compruebe el resultado de la actualización. Revise también si las páginas de inicio de sesión están excluidas de la caché.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eCloudflare advierte de que un uso excesivo de la caché de HTML dinámico puede impedir que funcione el inicio de sesión. No almacene en caché los formularios de inicio de sesión ni las páginas autenticadas. Después de los cambios, compruebe también que se conserven las cookies de autenticación. \u003ca href=\"https://developers.cloudflare.com/cache/troubleshooting/dynamic-content-and-login-issues/\"\u003eGuía de Cloudflare sobre problemas de inicio de sesión\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#requisitos-de-implementaci%C3%B3n-que-debe-transmitir-a-la-ia-al-programar\" class=\"anchor\" id=\"requisitos-de-implementación-que-debe-transmitir-a-la-ia-al-programar\"\u003e\u003c/a\u003eRequisitos de implementación que debe transmitir a la IA al programar\u003c/h2\u003e\n\u003cp\u003ePida a la IA resultados verificables junto con los nombres de las tecnologías. Resulta útil especificar el contenido del HTML inicial y qué debe excluirse de la caché. El siguiente texto es un ejemplo de solicitud para crear páginas públicas de conocimiento.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan\u003eIncluya el contenido principal de las páginas públicas de conocimiento en el HTML inicial.\n\u003c/span\u003e\u003cspan\u003ePara los documentos públicos, considere primero la generación estática.\n\u003c/span\u003e\u003cspan\u003eExplique por separado cómo se actualizarán los datos variables.\n\u003c/span\u003e\u003cspan\u003eCompruebe si la CDN almacena el HTML en caché.\n\u003c/span\u003e\u003cspan\u003eExcluya las páginas de inicio de sesión, cuenta y pago de la caché compartida.\n\u003c/span\u003e\u003cspan\u003eVincule la regeneración de archivos estáticos con la actualización de la caché cuando cambie el contenido.\n\u003c/span\u003e\u003cspan\u003eSi hay páginas multilingües, configure los enlaces hreflang.\n\u003c/span\u003e\u003cspan\u003eIndique cómo comprobar el HTML inicial, el estado de la caché y si se han reflejado los cambios.\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n","tags":["Desarrollo de IA","Monetización de contenido","Estrategia tecnológica","Herramientas de desarrollo"],"faqs":[{"question":"¿Es necesario crear una web de baja implicación con un framework específico?","answer":"No es obligatorio usar un framework específico. Compruebe que el contenido principal esté incluido en el HTML inicial. También debe revisar cómo se almacena en caché y se actualiza el contenido público."},{"question":"¿Google no ejecuta JavaScript?","answer":"Google ejecuta JavaScript con Chromium. Sin embargo, la espera para el renderizado y los recursos bloqueados pueden afectar al procesamiento. Incluir el contenido principal en el HTML inicial puede reducir la dependencia de ejecuciones adicionales."},{"question":"¿También es posible generar de forma estática un sitio creado con React?","answer":"React también permite generar HTML estático. Además, admite generar el HTML en el servidor. No se puede determinar el contenido del HTML inicial solo por el hecho de que se use o no React."},{"question":"Si el TTFB es de 0.8 segundos o menos, ¿ya se ha cargado toda la página?","answer":"TTFB es el tiempo que tarda en llegar el primer byte de la respuesta. La descarga de imágenes y la composición de la página en pantalla pueden continuar después. Debe distinguirse del tiempo de carga total de la página."},{"question":"Si el TTFB supera los 0.8 segundos, ¿se excluye el sitio de las búsquedas de Google?","answer":"0.8 segundos es un objetivo de rendimiento aproximado propuesto por web.dev. No es una regla que implique la exclusión de las búsquedas si se supera ese valor. Los retrasos continuos en las respuestas y los errores del servidor pueden afectar a la capacidad de rastreo."},{"question":"¿Usar un servidor en Corea supone una desventaja para un sitio global?","answer":"Los visitantes que se conectan desde lugares lejanos pueden experimentar latencia de red. Sin embargo, no se puede dar por hecho un tiempo de respuesta concreto solo por la ubicación. Evalúelo con mediciones reales de las principales regiones desde las que se accede."},{"question":"¿Al conectar Cloudflare también se almacena automáticamente el HTML en caché?","answer":"Cloudflare CDN no almacena HTML ni JSON en caché de forma predeterminada. Revise las Cache Rules que se aplicarán al HTML público. Después de aplicar las reglas, debe comprobar el estado real de la caché mediante las cabeceras de respuesta."},{"question":"¿También es siempre rápida la primera solicitud que no está en la caché del CDN?","answer":"Una solicitud que no está en la caché puede requerir obtener la respuesta del servidor de origen. Por tanto, su latencia puede ser distinta de la de una solicitud que encuentra la respuesta en la caché. Mida ambos estados por separado."},{"question":"¿Se puede aplicar también la caché de HTML a las páginas de inicio de sesión?","answer":"No almacene en caché las páginas de inicio de sesión ni el HTML de usuarios autenticados. Cloudflare advierte de que un uso excesivo de la caché puede impedir que el inicio de sesión funcione correctamente. También existe el riesgo de que la información específica de un usuario se entregue a otros visitantes."},{"question":"¿Qué debo hacer si he editado un artículo de un sitio estático, pero sigue apareciendo el contenido anterior?","answer":"Primero compruebe que se haya generado y publicado el nuevo HTML. Después, actualice la caché del CDN de las URL modificadas. Borrar la caché no vuelve a generar los archivos estáticos."},{"question":"¿hreflang solo se debe incluir en el HTML?","answer":"Google admite tres métodos: HTML, cabeceras HTTP y mapas del sitio. Los tres son equivalentes desde el punto de vista de Google. Elija el que le resulte más cómodo de gestionar y mantenga la coherencia de los enlaces entre versiones de distintos idiomas."},{"question":"¿Es necesario prestar especial atención a la gestión del presupuesto de rastreo aunque el sitio sea pequeño?","answer":"Las recomendaciones de Google sobre el presupuesto de rastreo se dirigen principalmente a sitios grandes que se actualizan con frecuencia. Si el sitio no tiene muchas páginas, empiece por actualizar el mapa del sitio y revisar los informes de indexación. Si hay errores del servidor o falta el contenido principal, resuelva primero esos problemas."}],"sources":[{"url":"https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics","title":"Google Search Central: Comprende los conceptos básicos de SEO con JavaScript","type":"source"},{"url":"https://web.dev/articles/rendering-on-the-web","title":"web.dev: Renderizado en la web","type":"source"},{"url":"https://web.dev/articles/ttfb","title":"web.dev: Tiempo hasta el primer byte (TTFB), actualizado el 18 de noviembre de 2025","type":"data_point"},{"url":"https://developers.google.com/crawling/docs/crawlers-fetchers/overview-google-crawlers?hl=en","title":"Google: Descripción general de los rastreadores y recuperadores de Google","type":"source"},{"url":"https://developers.google.com/crawling/docs/crawl-budget","title":"Google: Optimiza tu presupuesto de rastreo","type":"source"},{"url":"https://developers.cloudflare.com/cache/concepts/default-cache-behavior/","title":"Cloudflare: Comportamiento predeterminado de la caché","type":"source"},{"url":"https://developers.cloudflare.com/cache/get-started/","title":"Cloudflare Cache: Primeros pasos","type":"source"},{"url":"https://developers.cloudflare.com/cache/how-to/cache-rules/examples/cache-everything/","title":"Cloudflare: Cache Level (Cache Everything)","type":"source"},{"url":"https://developers.cloudflare.com/cache/concepts/cache-responses/","title":"Respuestas de la caché de Cloudflare","type":"source"},{"url":"https://developers.cloudflare.com/cache/how-to/purge-cache/","title":"Cloudflare: Purga la caché","type":"source"},{"url":"https://developers.cloudflare.com/cache/troubleshooting/dynamic-content-and-login-issues/","title":"Cloudflare: Contenido dinámico y problemas de inicio de sesión","type":"source"},{"url":"https://developers.google.com/search/docs/specialty/international/localized-versions","title":"Google Search Central: Informa a Google sobre las versiones localizadas de tu página","type":"source"}],"images":[{"id":2451,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzgxNjYsInB1ciI6ImJsb2JfaWQifX0=--3301cc345476b9a82de57f9e5bdbad57a8717225/ai-cace8faa.webp","is_representative":true,"generation_method":"ai_photo","license":"ai_generated","mime_type":"image/webp","width":1536,"height":1024,"translations":{"ko":{"alt":"보라색 케이블이 정돈된 서버 랙 옆에서 장비 상태를 살펴보는 남성","caption":"공개 페이지의 HTML 캐시는 적용 범위와 콘텐츠 수정 후 갱신 정책을 함께 설계해야 합니다.","description":null},"en":{"alt":"A man inspecting a server rack with neatly bundled purple cables","caption":"HTML caching for public pages requires defining both its scope and how it is refreshed after content changes.","description":null},"ja":{"alt":"紫色のケーブルが整然と束ねられたサーバーラックの横で機器を確認する男性","caption":"公開ページのHTMLキャッシュは、適用範囲とコンテンツ変更後の更新方針を併せて設計する必要があります。","description":null},"es":{"alt":"Un hombre revisa un rack de servidores con cables morados ordenados en haces","caption":"La caché HTML de las páginas públicas requiere definir su alcance y cómo se actualizará tras modificar el contenido.","description":null},"id":{"alt":"Seorang pria memeriksa rak server dengan kabel ungu yang tertata rapi","caption":"Cache HTML untuk halaman publik memerlukan penetapan cakupan dan kebijakan pembaruan setelah konten diubah.","description":null},"pt":{"alt":"Um homem inspeciona um rack de servidores com cabos roxos organizados em feixes","caption":"O cache HTML de páginas públicas exige definir seu escopo e como será atualizado após alterações no conteúdo.","description":null},"zh-hant":{"alt":"一名男子在伺服器機架旁檢查設備，機架內的紫色線纜整齊成束","caption":"公開頁面的 HTML 快取需要同時規劃適用範圍與內容修改後的更新政策。","description":null},"de":{"alt":"Ein Mann prüft ein Serverrack mit ordentlich gebündelten violetten Kabeln","caption":"Für den HTML-Cache öffentlicher Seiten müssen der Geltungsbereich und die Aktualisierung nach Inhaltsänderungen festgelegt werden.","description":null}}},{"id":2452,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzgxNzIsInB1ciI6ImJsb2JfaWQifX0=--6d794cafac94909fa4ac95705b51dc5bde79c2df/ai-9e2e0147.webp","is_representative":false,"generation_method":"ai_semi","license":"ai_generated","mime_type":"image/webp","width":1536,"height":1024,"translations":{"ko":{"alt":"두 태블릿의 웹페이지를 비교하는 여성과 문서 갱신이 두 브라우저로 이어지는 도식","caption":"콘텐츠 수정 후에는 재생성한 HTML이 캐시에도 반영됐는지 확인해야 합니다.","description":null},"en":{"alt":"A woman compares web pages on two tablets beside a diagram linking a document refresh to two browser windows.","caption":"After content changes, verify that the cache also reflects the regenerated HTML.","description":null},"ja":{"alt":"2台のタブレットでウェブページを比較する女性と、文書の更新から2つのブラウザーへつながる図","caption":"コンテンツの修正後は、再生成したHTMLがキャッシュにも反映されているか確認する必要があります。","description":null},"es":{"alt":"Una mujer compara páginas web en dos tabletas junto a un diagrama de actualización de un documento.","caption":"Tras modificar el contenido, hay que comprobar que la caché también refleje el HTML regenerado.","description":null},"id":{"alt":"Seorang perempuan membandingkan halaman web di dua tablet di samping diagram pembaruan dokumen.","caption":"Setelah konten diubah, pastikan cache juga mencerminkan HTML yang dibuat ulang.","description":null},"pt":{"alt":"Uma mulher compara páginas web em dois tablets ao lado de um diagrama de atualização de um documento.","caption":"Após alterar o conteúdo, é preciso verificar se o cache também reflete o HTML regenerado.","description":null},"zh-hant":{"alt":"一名女性比較兩台平板上的網頁，旁邊的圖示呈現文件更新後連向兩個瀏覽器視窗","caption":"修改內容後，應確認快取也已反映重新產生的 HTML。","description":null},"de":{"alt":"Eine Frau vergleicht Webseiten auf zwei Tablets neben einem Diagramm zur Dokumentaktualisierung.","caption":"Nach Inhaltsänderungen muss geprüft werden, ob auch der Cache das neu generierte HTML enthält.","description":null}}}],"published_at":"2026-11-05T07:45:55+09:00","updated_at":"2026-11-05T07:45:55+09:00","license":"cc_by","translation_status":"reviewed","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant","de"],"url":"https://injoys.com/es/articles/low-involvement-web-static-generation-html-cache"}