# Creadores de sitios

> Usa Ikiform desde creadores de sitios no-code que permiten pegar HTML personalizado, como un bloque de embed o de código.

Ikiform funciona en cualquier lugar donde puedas poner un `<form>` HTML real en la página, porque un envío de formulario normal no necesita script. La mayoría de los creadores de sitios ofrecen un bloque de embed, de código o de HTML personalizado. Pega un formulario dentro y apunta el `action` a tu endpoint.

## Guías por creador

- [Webflow](https://ikiform.com/es/docs/guides/webflow.md): El Form Block con un action personalizado.
- [Framer](https://ikiform.com/es/docs/guides/framer.md): Un webhook de formulario o un code component.
- [WordPress](https://ikiform.com/es/docs/guides/wordpress.md): El bloque Custom HTML o un shortcode.
- [Wix](https://ikiform.com/es/docs/guides/wix.md): Un embed HTML que envía con `fetch`.
- [Squarespace](https://ikiform.com/es/docs/guides/squarespace.md): Un bloque de código, con o sin JavaScript.
- [Carrd](https://ikiform.com/es/docs/guides/carrd.md): Un formulario personalizado que envía a una URL.

> Esto solo funciona cuando el creador renderiza tu HTML tal cual. El widget de formulario propio de un creador suele enviar a los servidores del creador; úsalo solo si te deja definir una URL de action personalizada con el método POST.

## El embed

`Bloque HTML personalizado`:

```html
<form action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post" target="_top">
  <label>
    Email
    <input name="email" type="email" required />
  </label>
  <label>
    Message
    <textarea name="message"></textarea>
  </label>
  <input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden />
  <button>Send</button>
</form>

<style>
  form { display: grid; gap: 12px; max-width: 420px; font: inherit; }
  label { display: grid; gap: 4px; }
  input, textarea { font: inherit; padding: 8px 10px; border: 1px solid #d4d4d4; border-radius: 6px; }
  button { font: inherit; padding: 8px 14px; border-radius: 6px; border: 0; background: #111; color: #fff; }
</style>
```

- Los creadores suelen poner el código personalizado dentro de un iframe. Las páginas de agradecimiento, error y verificación de Ikiform no se cargan dentro de frames, así que `target="_top"` abre el resultado en toda la ventana. Si el frame del creador no permite la navegación superior, como en Wix, envía con `fetch`; consulta [Wix](https://ikiform.com/es/docs/guides/wix.md).
- Configura **Redirect after submit** en el formulario para llevar a la gente de vuelta a una página de agradecimiento en tu sitio.
- Puede que los estilos dentro del bloque no hereden los de tu sitio; el `<style>` de arriba le da al formulario un punto de partida limpio.

## Dominios permitidos

Si configuras dominios permitidos, incluye todas las direcciones desde las que se sirve el sitio: tu dominio propio y el dominio de vista previa o staging del creador. Los envíos desde un dominio que no está en la lista se guardan como spam por defecto y muestran el motivo `origin_mismatch` en el panel.

Algunos creadores renderizan los embeds en un frame cuyo `Origin` es `null`. Ikiform recurre entonces al `Referer`. Si el creador elimina ambos, los envíos no se pueden asociar a un dominio; deja vacíos los dominios permitidos de ese formulario, o configura la política de discrepancia como spam en lugar de rechazo.

## Verificación humana

La verificación humana de **Ikiform** funciona sin código extra cuando el formulario se envía de forma normal: el navegador navega a una breve página de verificación en ikiform.com, que reenvía los datos. No puede ejecutarse desde un frame que bloquea la navegación superior, ni desde código que envía con `fetch`. Evita **Your own Turnstile keys** en los creadores de sitios, porque requiere el script de Cloudflare en la página.
