Otimizar imagens para SEO
Imagem pesada é o freio mais comum de um site: derruba a velocidade, irrita o visitante e pesa no ranqueamento. Esta capacidade recebe suas imagens via API e devolve versões otimizadas — comprimidas, redimensionadas e em formato moderno — prontas para publicar. Custa US$ 0,005 por imagem processada.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Velocidade é ranking (e imagem é o vilão)
Na maioria dos sites, as imagens respondem pela maior parte do peso da página. Foto de produto subida direto do celular chega com 4 MB — e o Google mede a experiência real de carregamento na hora de ordenar os resultados. Cada segundo a mais de espera custa visitante, principalmente no 4G. Otimizar imagens é a melhoria de SEO com a melhor relação esforço-resultado: não exige reescrever nada, só tratar os arquivos que já existem.
O que acontece com cada imagem
Você envia o arquivo e recebe a versão pronta para web: comprimida sem perda visível de qualidade, redimensionada para a medida que a página realmente usa e convertida para um formato mais leve que os navegadores modernos entendem, como WebP. O objetivo é o mesmo do Google: a menor quantidade de bytes que ainda entrega uma imagem bonita na tela — inclusive na do celular, onde está a maior parte do seu tráfego.
Cobrança simples: por imagem
US$ 0,002 pela chamada e US$ 0,005 por imagem processada — em dólar, pago pelo que usar. Otimizar um catálogo de 3.000 fotos custa US$ 15, uma vez; uma assinatura de ferramenta de imagem costuma custar isso por mês, para sempre. Não tem plano, não tem franquia, não tem surpresa no cartão: o preço está publicado nesta página e a conta dá para fazer de cabeça antes de rodar.
Do mutirão único à automação no upload
Dá para usar de dois jeitos. O mutirão: rodar o acervo inteiro de uma vez e resolver anos de fotos pesadas em uma tarde. E o fluxo contínuo: pendurar a chamada de API no upload do seu site ou loja, para que toda imagem nova já entre otimizada — sem depender de alguém lembrar. Os dois caminhos usam a mesma chamada; a diferença é onde você a coloca.
Casos de uso
Catálogo de e-commerce em uma tarde
A Distribuidora Horizonte Verde tinha 3.000 fotos de produto acumuladas em cinco anos, muitas com mais de 2 MB. Rodou o acervo inteiro pela API por US$ 15 e as páginas de categoria pararam de demorar para abrir.
Site de comércio de bairro
O site da Padaria Pão Dourado era alimentado com fotos tiradas no celular do dono, de 5 MB cada. Otimizadas, as mesmas fotos passaram a abrir rápido até no 3G da clientela — sem trocar de hospedagem.
Portfólio de fotógrafa
Ana Paula Ferreira, fotógrafa em Porto Alegre, queria um portfólio bonito e leve: gerou versões otimizadas para a web e manteve os originais em alta resolução só para entrega aos clientes.
Otimização automática no CMS
Carlos Eduardo Souza, dev de agência em Curitiba, pendurou a chamada no fluxo de upload do CMS dos clientes: toda imagem que o cliente sobe já é salva na versão otimizada — ninguém mais publica foto de 8 MB por descuido.
Perguntas frequentes
A qualidade da imagem cai?
A compressão é calibrada para reduzir peso sem perda perceptível na tela: o visitante não nota diferença, o navegador nota os bytes a menos. Para impressão ou arquivo, mantenha sempre o original em alta — a versão otimizada é a de publicar na web.
Quantas imagens posso mandar por vez?
Não há pacote fechado: a cobrança é por imagem processada, então o lote é do tamanho da sua necessidade — de uma foto avulsa ao catálogo completo. Quem define o ritmo é a sua integração.
Em qual formato as imagens saem?
Em formato leve e compatível com os navegadores atuais, como WebP. O ganho de peso em relação a JPG e PNG tradicionais é o que faz a página carregar rápido — e é exatamente o que o Google quer ver.
Quanto vou pagar no fim do mês?
O que tiver usado: US$ 0,002 por chamada e US$ 0,005 por imagem, em dólar americano. Mil imagens no mês são US$ 5 mais as chamadas — dá para estimar antes de rodar, porque não existe tarifa escondida.
Aceita Pix?
Por enquanto o pagamento é via PayPal — não temos Pix, e preferimos dizer isso com todas as letras a fingir que temos. O PayPal aceita cartão brasileiro; se travar em alguma etapa, chama a gente no WhatsApp que resolvemos juntos.
Minhas fotos ficam no servidor de vocês?
As imagens são processadas para gerar a versão otimizada e devolvidas na resposta da tarefa. O acervo é seu: o serviço trata o arquivo, entrega o resultado e nada vira banco de imagens nosso.
Preciso saber programar para usar?
Esta capacidade funciona via API, então a integração pede alguém técnico — ou uma configuração única no CMS feita por quem cuida do seu site. Depois de instalada, ninguém precisa mais pensar nela: a otimização acontece sozinha a cada upload.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/seo/image-optimize \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/seo/image-optimize", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/image-optimize",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/image-optimize", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/image-optimize", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"image": "https://ejemplo.com/imagen.jpg"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.image_optimize",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |