Por qué WordPress elimina el iframe de tu flipbook y cómo solucionarlo

Pegas un código para incrustar, pulsas Actualizar y el flipbook desaparece. Este artículo explica con exactitud por qué WordPress elimina los iframes, qué roles, editores y plugins lo provocan, y las soluciones seguras, paso a paso, para que tu flipbook vuelva a mostrarse de forma fiable.

Por qué WordPress elimina el iframe de tu flipbook y cómo solucionarlo
Cristian Da Conceicao
Fundador de Flipbooks AI

Pegas el código para incrustar de Flipbooks AI en tu página de WordPress, pulsas Actualizar y el flipbook simplemente desaparece. El editor muestra un hueco en blanco, o el código que pegaste se ha convertido en texto plano, o la mitad ha desaparecido. Nada está roto en el lado del flipbook. WordPress hace lo que fue diseñado para hacer: filtrar el HTML en el que no confía. Una vez que sabes qué filtro se está activando, la solución suele llevar cinco minutos.

Este artículo repasa cada causa habitual, desde los roles de usuario hasta los plugins de seguridad, y te indica un orden claro para probarlas. También verás cómo elegir un método de incrustación que sobreviva a futuras ediciones, además de una lista de comprobación que puedes reutilizar en cada sitio de tus clientes.

Por qué WordPress elimina los iframes

WordPress trata cualquier contenido de una entrada como potencialmente hostil. Un iframe carga una página web completa dentro de la tuya, así que es una de las etiquetas más arriesgadas que puede añadir un autor. Para proteger el sitio, WordPress pasa el contenido por un sanitizador llamado KSES antes de guardarlo en la base de datos. KSES mantiene una lista de etiquetas y atributos permitidos. Todo lo que quede fuera de la lista se borra en silencio, sin aviso ni mensaje de error.

Diseñador mirando un bloque de incrustación vacío en el editor de páginas

El detalle importante es que KSES no se aplica a todos por igual. Depende de quién guarda la entrada. Por eso el mismo código para incrustar funciona en un sitio y falla en otro, o funciona para ti pero falla para tu compañero de equipo.

La capacidad unfiltered_html

WordPress concede la capacidad unfiltered_html a los Administradores y Editores en una instalación normal de un solo sitio. Los usuarios con esa capacidad se saltan KSES, así que sus iframes se guardan sin tocar. Los Autores y Colaboradores no la tienen, así que sus iframes se eliminan.

En WordPress Multisite, solo los Super Administradores tienen unfiltered_html. Un Administrador normal de un sitio dentro de una red no la tiene. Este dato por sí solo explica una gran parte de las consultas de soporte del tipo "mi iframe desaparece".

Qué hace realmente el sanitizador

Cuando se activa el filtro, hace una de tres cosas:

  • Borra toda la etiqueta iframe, dejando un párrafo vacío.
  • Elimina atributos concretos como allowfullscreen, style o sandbox, de modo que el flipbook carga pero se ve roto.
  • Escapa la etiqueta para que aparezca como texto visible en la página.

💡 Comprueba el resultado guardado cambiando el editor a la vista de código. Lo que ves ahí es lo que conservó la base de datos, no lo que pegaste.

Tabla de diagnóstico rápido

Antes de cambiar nada, relaciona tu síntoma con la causa probable. Así te ahorras muchos clics al azar.

SíntomaCausa más probablePrimera solución a probar
El iframe desaparece tras guardarTu rol no tiene unfiltered_htmlInicia sesión como Administrador
Funciona con el admin, falla con el autorFiltrado KSES para roles inferioresUsa un shortcode o un bloque
El iframe aparece como texto planoPegado en un párrafo o en la pestaña visualUsa un bloque HTML personalizado
El flipbook carga pero no hay pantalla completaAtributos eliminadosVuelve a añadir allowfullscreen en la vista de código
Recuadro en blanco solo en la página publicadaPlugin de seguridad o cabecera CSPRevisa la configuración del plugin y de la cabecera
Falla solo en MultisiteNo es Super AdministradorPide ayuda al administrador de la red

Solución 1: usa un bloque HTML personalizado

El error más común es pegar un iframe en un bloque de Párrafo normal. Gutenberg entonces trata el código como texto al que dar formato. El contenedor correcto es el bloque HTML personalizado.

Desarrollador revisando la configuración del administrador de WordPress en un monitor grande

  1. Abre la página en el editor de bloques.
  2. Haz clic en el icono de añadir (+) y busca HTML personalizado.
  3. Pega el código para incrustar completo de tu flipbook.
  4. Haz clic en Vista previa dentro del bloque para confirmar que se muestra.
  5. Actualiza la página y ábrela en una ventana privada del navegador.

⚠️ Si la página sigue sin mostrar nada tras guardar, lo más probable es que tu rol esté siendo filtrado. Pasa a la Solución 2.

Usuarios del Editor clásico

Si tu sitio usa el Editor clásico, cambia de la pestaña Visual a la pestaña Texto antes de pegar. La pestaña Visual usa TinyMCE, que reescribe o elimina las etiquetas que no reconoce. Pega en la pestaña Texto, guarda y evita volver a Visual después, porque ese cambio puede volver a borrar el código.

Solución 2: revisa el rol del usuario

Si el iframe desaparece para unas personas y no para otras, compara sus roles. Esto es lo que puede hacer cada rol predeterminado.

RolTiene unfiltered_html (un solo sitio)Tiene unfiltered_html (Multisite)¿El iframe sobrevive?
AdministradorSíNoUn solo sitio: sí
EditorSíNoUn solo sitio: sí
AutorNoNoNormalmente se elimina
ColaboradorNoNoSe elimina
Super AdministradorNo aplicaSíSí

La solución más sencilla es que un Administrador añada la incrustación una vez y luego deje que los Autores editen el texto que la rodea. El iframe guardado se mantiene intacto mientras nadie edite ese bloque concreto con una cuenta filtrada.

💡 Nunca des acceso de Administrador solo para arreglar una incrustación. Usa una opción más segura de las siguientes secciones.

Solución 3: envuelve la incrustación en un shortcode

Los shortcodes son la respuesta más limpia para los equipos. Un shortcode es un texto corto, como [flipbook id="123"], que WordPress convierte en HTML completo al cargar la página. Como el HTML se genera en el servidor, KSES nunca ve la etiqueta iframe en el contenido guardado.

Diseñador haciendo un boceto de una página con un recuadro incrustado sobre un escritorio

Añade esto al archivo functions.php de tu tema hijo o, mejor aún, a un pequeño plugin personalizado:

add_shortcode( 'flipbook', function ( $atts ) {
    $atts = shortcode_atts( array(
        'url'    => '',
        'height' => '600',
    ), $atts );

    if ( empty( $atts['url'] ) ) {
        return '';
    }

    $url = esc_url( $atts['url'] );
    $height = intval( $atts['height'] );

    return '<iframe src="' . $url . '" width="100%" height="' . $height . '" frameborder="0" allowfullscreen loading="lazy"></iframe>';
} );

Ahora cualquier autor puede escribir [flipbook url="https://your-flipbook-link" height="650"] y el iframe aparece en la página publicada. El código escapa la URL, así que conservas la seguridad que WordPress pretendía.

Por qué esto supera al HTML sin procesar

  • Independiente del rol: cualquier usuario, incluso los Colaboradores, puede colocarlo.
  • Control centralizado: cambia los atributos del iframe una vez y todas las páginas se actualizan.
  • Más seguro: la salida se construye con valores saneados.
  • Contenido más limpio: el editor muestra una línea corta en lugar de un bloque de código largo.

Solución 4: permite iframes con un filtro de código

Si necesitas mantener iframes sin procesar en el contenido de las entradas para roles inferiores, puedes ampliar la lista de etiquetas permitidas. Es una excepción acotada, no una eliminación completa del filtro.

add_filter( 'wp_kses_allowed_html', function ( $tags, $context ) {
    if ( 'post' === $context ) {
        $tags['iframe'] = array(
            'src'             => true,
            'width'           => true,
            'height'          => true,
            'frameborder'     => true,
            'allowfullscreen' => true,
            'loading'         => true,
            'title'           => true,
        );
    }
    return $tags;
}, 10, 2 );

⚠️ Esto permite que todos los roles con derechos de edición inserten cualquier iframe de cualquier dominio. En un sitio con muchos autores, restringe el acceso comprobando el host src o prefiere el enfoque del shortcode.

Si no puedes editar código, un plugin que ofrezca un bloque o shortcode de iframe con una lista de dominios permitidos hace el mismo trabajo desde una pantalla de ajustes.

Solución 5: revisa los plugins de seguridad y las cabeceras

A veces el iframe se guarda perfectamente y aun así no se muestra. Eso apunta al navegador, no al editor.

Dueña de un negocio revisando la página del menú de su sitio web en una tableta

Plugins de seguridad y optimización

Los plugins de cortafuegos y de endurecimiento pueden eliminar o bloquear iframes por su cuenta. Entre los desencadenantes habituales están:

  • Opciones de filtrado de contenido o de "sanear el contenido de la entrada".
  • Funciones de carga diferida o de minificación que reescriben los atributos del iframe.
  • Plugins de caché que sirven una versión antigua de la página.

Desactiva un plugin cada vez, borra la caché y vuelve a probar. Si el flipbook reaparece, abre la configuración de ese plugin y añade el dominio del flipbook a la lista de permitidos.

Cabeceras de política de seguridad de contenido

Una cabecera Content-Security-Policy con una regla frame-src o default-src indica a los navegadores qué dominios pueden aparecer en marcos. Si tu dominio de flipbook no aparece en la lista, el navegador muestra un recuadro en blanco aunque el HTML esté bien. Abre la consola de desarrollador del navegador y busca un mensaje que mencione "Refused to frame". Añade el dominio del flipbook a la regla frame-src en tu servidor o en tu plugin de seguridad.

Dónde ocurre el bloqueoCómo detectarloDónde solucionarlo
KSES de WordPressEtiqueta ausente en la vista de códigoRol, shortcode o filtro
Editor (TinyMCE)El código cambia tras cambiar de pestañaUsa la pestaña Texto o HTML personalizado
Plugin de seguridadEtiqueta guardada pero en blanco en la páginaLista de permitidos del plugin
Cabecera CSPLa consola dice Refused to frameCabecera del servidor o del plugin
Capa de cachéPágina antigua tras editarPurgar la caché

Solución 6: usa un enlace directo o un widget del creador de páginas

No todos los casos necesitan un iframe. Elementor, Divi, Beaver Builder y otros creadores de páginas similares incluyen un widget de HTML o Incrustar que maneja código sin procesar sin pasar por KSES, porque el creador guarda el contenido en su propio formato. Si tu sitio ya usa uno, coloca el flipbook en ese widget.

Como alternativa rápida, enlaza un botón o una imagen de portada atractiva directamente a la URL pública del flipbook. Los lectores obtienen la experiencia completa de la página y evitas todos los filtros mencionados antes.

Mujer editando una página web desde una mesa de cafetería

Cómo incrustar un flipbook de la forma correcta

Este es el proceso completo, desde el PDF hasta una página publicada. La primera vez te llevará unos diez minutos.

  1. Crea tu cuenta en Flipbooks AI.
  2. Sube tu PDF con el Conversor de PDF a flipbook. Las páginas se convierten automáticamente y mantienen su calidad.
  3. Personaliza el aspecto: añade tu logotipo, elige colores, selecciona el efecto de paso de página y agrega video o audio cuando convenga.
  4. Configura las opciones para compartir: activa una contraseña si el contenido es privado, o déjalo público para material de marketing.
  5. Copia el código para incrustar desde el menú para compartir. La herramienta Incrustar flipbook en sitio web explica las opciones.
  6. Pégalo en un bloque de HTML personalizado o en tu shortcode, y luego actualiza la página.
  7. Prueba en dispositivos móviles y en equipo de escritorio desde una ventana privada.

Los flipbooks no llevan marcas de agua, son adaptables a dispositivos móviles y admiten marca propia en todos los planes. Las estadísticas, la generación de contactos y las descargas sin conexión forman parte del plan Professional, así que consulta los precios si los necesitas.

Comparación de métodos de incrustación

MétodoHabilidad necesariaSobrevive a cambios de rolIdeal para
Bloque HTML personalizadoBajaNoPáginas sueltas de administradores
ShortcodeMediaSíEquipos y muchas páginas
Filtro KSESMediaSíSitios con autores de confianza
Widget del creador de páginasBajaNormalmenteSitios con Elementor o Divi
Botón de enlace directoNingunaSíOpción rápida e inmune a filtros

Ejemplos reales

Un restaurante añade su menú como flipbook con el Creador de flipbooks de menú de restaurante. La dueña es Editora, así que un bloque HTML personalizado funciona. La asistente de marketing de medio tiempo es Autora, así que usa el shortcode al actualizar las páginas de temporada.

Agente inmobiliaria revisando un folleto junto al sitio web de su agencia

Una agencia inmobiliaria publica sus propiedades con el Creador de folletos inmobiliarios. Los agentes son Autores en el sitio de la empresa, y sus iframes seguían desapareciendo. Pasar a un único shortcode compartido solucionó el problema para todo el equipo.

Un equipo de marketing en Multisite descubrió que incluso los Administradores del sitio perdían sus incrustaciones. El administrador de la red añadió una excepción de iframes para el filtro, limitada al dominio del flipbook, y el problema dejó de ocurrir.

Haz que tu incrustación se vea bien

Una vez que el iframe se mantiene en su sitio, dedica dos minutos a la presentación.

  • Define una altura razonable: de 600 a 800 píxeles funciona para la mayoría de los diseños de página.
  • Usa un ancho del 100% para que el flipbook ocupe toda la columna de contenido.
  • Añade loading="lazy" para que la página cargue más rápido.
  • Mantén allowfullscreen para que los lectores puedan ampliar el flipbook.
  • Añade un atributo title descriptivo para la accesibilidad.

Manos sosteniendo un teléfono que muestra una publicación de estilo revista en una página web

✅ Pruébalo en un teléfono real. La mayoría de los lectores abrirá tu flipbook desde dispositivos móviles, y un ancho fijo en píxeles puede provocar desplazamiento lateral.

5 errores que hacen que vuelva a desaparecer

  1. Cambiar entre las pestañas Visual y Texto después de pegar en el Editor clásico.
  2. Dejar que un Autor edite un bloque que contiene un iframe sin procesar.
  3. Usar una importación del creador de páginas que restablece el contenido.
  4. Olvidar purgar la caché después de los cambios.
  5. Pegar un fragmento de código con comillas tipográficas copiadas de un documento, lo que rompe los atributos.

Guarda una versión en texto plano de tu código para incrustar en un lugar seguro. Si un filtro daña la versión guardada, puedes volver a pegarla en segundos.

Lista de comprobación final antes de publicar

Repasa esta lista cada vez:

  • La página usa un bloque HTML personalizado, un shortcode o un widget del creador de páginas.
  • La vista de código muestra el iframe, no un bloque vacío.
  • La página publicada carga el flipbook en una ventana privada.
  • La consola del navegador no muestra errores de marcos.
  • La caché está purgada y el diseño móvil está probado.

Desarrollador celebrando que un flipbook se muestra correctamente en una página terminada

¿Listo para publicar tu flipbook?

Un iframe que desaparece casi siempre es un problema de permisos, no un problema del flipbook. Revisa el tipo de bloque, revisa el rol del usuario y luego revisa los plugins y las cabeceras, en ese orden.

¿Listo para convertir tu próximo PDF en una publicación limpia y lista para incrustar? Empieza gratis en Flipbooks AI, explora todas las herramientas de flipbook para encontrar la plantilla adecuada, o compara los planes y precios para elegir las funciones que necesita tu sitio.

Compartir este artículo

Elige tu idioma