# Criadores de sites

> Use o Ikiform em criadores de sites no-code que deixam você colar HTML personalizado, como um bloco de embed ou de código.

O Ikiform funciona em qualquer lugar onde você consiga colocar um `<form>` HTML de verdade na página, porque um envio de formulário comum não precisa de script. A maioria dos criadores de sites oferece um bloco de embed, de código ou de HTML personalizado. Cole um formulário nele e aponte o `action` para o seu endpoint.

## Guias por criador

- [Webflow](https://ikiform.com/pt-br/docs/guides/webflow.md): O Form Block com um action personalizado.
- [Framer](https://ikiform.com/pt-br/docs/guides/framer.md): Um webhook de formulário ou um code component.
- [WordPress](https://ikiform.com/pt-br/docs/guides/wordpress.md): O bloco Custom HTML ou um shortcode.
- [Wix](https://ikiform.com/pt-br/docs/guides/wix.md): Um embed HTML que envia com `fetch`.
- [Squarespace](https://ikiform.com/pt-br/docs/guides/squarespace.md): Um code block, com ou sem JavaScript.
- [Carrd](https://ikiform.com/pt-br/docs/guides/carrd.md): Um formulário personalizado que envia para uma URL.

> Isso só funciona quando o criador renderiza o seu HTML como está. O widget de formulário do próprio criador normalmente envia para os servidores dele; use-o só se ele permitir definir uma URL de action personalizada com o método POST.

## O embed

`Bloco de 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>
```

- Criadores de sites muitas vezes colocam código personalizado dentro de um iframe. As páginas de agradecimento, de erro e de verificação do Ikiform se recusam a carregar dentro de frames, então `target="_top"` abre o resultado na janela inteira. Se o frame do criador não permitir navegação no topo, como no Wix, envie com `fetch`; veja [Wix](https://ikiform.com/pt-br/docs/guides/wix.md).
- Defina **Redirect after submit** no formulário para mandar as pessoas de volta a uma página de agradecimento no seu site.
- Os estilos dentro do bloco podem não herdar os estilos do seu site; o `<style>` acima dá ao formulário um ponto de partida limpo.

## Domínios permitidos

Se você definir domínios permitidos, liste todos os endereços de onde o site é servido: seu domínio próprio e o domínio de preview ou staging do criador. Envios de um domínio que não está na lista são armazenados como spam por padrão e mostram o motivo `origin_mismatch` no painel.

Alguns criadores renderizam embeds em um frame cujo `Origin` é `null`. O Ikiform então usa o `Referer`. Se o criador remover os dois, os envios não podem ser associados a um domínio; deixe os domínios permitidos vazios nesse formulário, ou defina a política de divergência como spam em vez de rejeitar.

## Verificação humana

A verificação humana **Ikiform** funciona sem código extra quando o formulário envia normalmente: o navegador vai para uma página de verificação rápida em ikiform.com, que repassa o envio. Ela não roda a partir de um frame que bloqueia a navegação no topo, nem a partir de código que envia com `fetch`. Evite **Your own Turnstile keys** em criadores de sites, porque isso exige o script da Cloudflare na página.
