Proxies para ferramentas SEO

Um crawler percorre o site em centenas de threads, e qualquer servidor acaba respondendo com um 429. Um pool MIX de até 25.000 IPs distribui essas threads por endereços diferentes, então Screaming Frog, Netpeak Spider, A-Parser e Key Collector rodam a toda velocidade em vez de uma thread com pausas. Uma hora de teste custa $1.

  • O tráfego não é cobrado
  • SOCKS5 e HTTP numa porta
  • Reembolso em pacotes desde 3 dias
Ver preços
Ferramentas de auditoria SEO convergem para um nó proxy de onde saem ligações às páginas dos sites

O preço para o seu volume

Escolha um pacote e mova o período e o número de threads. As threads aqui são as mesmas que você define no crawler: 1.200 threads são 1.200 URLs que a ferramenta baixa ao mesmo tempo. O controle está nesse valor.

MIX-Business foi pensado para um time de SEO e uma agência: vários projetos por semana, Sitebulb e SEO PowerSuite em paralelo, A-Parser para sugestões e resultados, ScrapeBox para checagens em massa. 16.000 endereços e 1.200 threads por padrão: é o que se define quando o rastreio precisa terminar numa noite.

1 mês
1.200+20%

Uma thread é uma conexão simultânea. Mais threads — mais feito no mesmo tempo.

$120
≈ $4 / diapor 30 dias

$100 por um mês+ $20 por threads

economia $420 vs. diário
SIMreembolso do restante
  • 1 hora — $1
  • 1 dia — $15
  • 3 dias — $35
  • 1 semana — $50
  • 2 semanas — $75
  • 1 mês — $100
  • 3 meses — $255
  • 6 meses — $475
Comprar proxies — MIX-Business

Como conectar os proxies às ferramentas SEO

  1. 1
    Compre uma hora por $1 e informe o IP da máquina onde as ferramentas rodam.

    O acesso é atrelado ao próprio computador ou servidor, então nas configurações de proxy do Screaming Frog e do Netpeak os campos de login e senha ficam vazios. Você pode registrar até dez dessas máquinas.

  2. 2
    Pegue no painel o link da lista de proxies.

    Ele devolve um arquivo de texto no formato endereço e porta, um proxy por linha. Screaming Frog e Netpeak esperam a mesma lista, mas como arquivo: salve a resposta em .txt e aponte as configurações para ele.

  3. 3
    Distribua o pool entre as ferramentas.

    A-Parser e ScrapeBox releem o link sozinhos e pegam dele todos os endereços. Key Collector, Sitebulb e SEO PowerSuite leem um arquivo com a lista, então atualize-o com um script a cada 10 minutos, exemplo abaixo.

  4. 4
    Ajuste as threads sem passar das portas do pacote.

    500 no Basic, 1.000 no Business, 1.500 no Elite sem adicional. Cada porta é um proxy separado e uma thread do crawler ocupa uma porta: definir no Screaming Frog mais threads do que portas não traz nada.

  5. 5
    Escolha o protocolo conforme a ferramenta.

    SOCKS5 é o que Screaming Frog, A-Parser, ZennoPoster e ScrapeBox usam. Netpeak Spider, Key Collector e SEO PowerSuite vão por HTTP(S). Os dois protocolos estão na mesma porta, a troca é só na ferramenta.

É assim que o pool entra numa auditoria própria. O script lê os endereços de urls.txt, baixa cada página por um proxy aleatório e guarda em audit.csv o código de resposta, o redirecionamento, title, h1, descrição, canonical e robots: o mesmo que um crawler mostra, só nas suas regras. Substitua PROXY_LIST_URL_FROM_DASHBOARD pelo link do seu painel.

# pip install requests[socks]
import csv, random, re, time, requests
from concurrent.futures import ThreadPoolExecutor

PROXY_LIST_URL = "PROXY_LIST_URL_FROM_DASHBOARD"
REFRESH_SEC = 600
THREADS = 1200
HEADERS = {"User-Agent": "Mozilla/5.0 (compatible; SeoAudit/1.0)", "Accept-Language": "en-US,en;q=0.9"}

_pool, _loaded = [], 0

def pool():
    global _pool, _loaded
    if time.time() - _loaded > REFRESH_SEC:
        text = requests.get(PROXY_LIST_URL, timeout=15).text
        _pool = [line.strip() for line in text.splitlines() if ":" in line]
        _loaded = time.time()
    return _pool

def first(pattern, html):
    match = re.search(pattern, html, re.S | re.I)
    return re.sub(r"\s+", " ", re.sub(r"<[^>]+>", " ", match.group(1))).strip() if match else ""

def audit(url, tries=3):
    for _ in range(tries):
        proxy = random.choice(pool())
        try:
            r = requests.get(url, headers=HEADERS, timeout=20, allow_redirects=False,
                             proxies={"http": f"socks5h://{proxy}", "https": f"socks5h://{proxy}"})
        except requests.RequestException:
            continue
        html = r.text if "html" in r.headers.get("Content-Type", "") else ""
        return {
            "url": url,
            "status": r.status_code,
            "redirect": r.headers.get("Location", ""),
            "title": first(r"<title[^>]*>(.*?)</title>", html),
            "h1": first(r"<h1[^>]*>(.*?)</h1>", html),
            "description": first(r'<meta[^>]+name="description"[^>]+content="([^"]*)"', html),
            "canonical": first(r'<link[^>]+rel="canonical"[^>]+href="([^"]*)"', html),
            "robots": first(r'<meta[^>]+name="robots"[^>]+content="([^"]*)"', html),
        }
    return {"url": url, "status": 0, "redirect": "", "title": "", "h1": "",
            "description": "", "canonical": "", "robots": ""}

urls = [line.strip() for line in open("urls.txt") if line.strip()]
fields = ["url", "status", "redirect", "title", "h1", "description", "canonical", "robots"]
with open("audit.csv", "w", newline="", encoding="utf-8") as out:
    writer = csv.DictWriter(out, fieldnames=fields, delimiter=";")
    writer.writeheader()
    with ThreadPoolExecutor(THREADS) as executor:
        for row in executor.map(audit, urls):
            writer.writerow(row)
            print(row["status"], row["url"], row["title"][:60])

Qual pacote escolher para ferramentas SEO

MIX-Basic

8.000 IPs · 500–900 threads

a partir de $50 por mês

Um projeto: rastreio de até cem mil URLs, coleta de palavras-chave, checagem de links uma vez por semana.

MIX-Business

16.000 IPs · 1.000–1.400 threads

a partir de $100 por mês

Agência e time de SEO: vários crawlers ao mesmo tempo, sugestões e checagens em massa num só pool.

MIX-Elite

25.000 IPs · 1.500–9.900 threads

a partir de $150 por mês

Serviço próprio e time interno grande: milhões de URLs por rastreio, threads até 9.900, a qualquer hora.

Cinco ajustes que preservam o pool

  • Limite o crawler por URLs por segundo por domínio, não só por threads. O servidor conta o ritmo, e 1.200 threads num domínio sem limite é um 429 garantido.
  • Defina no crawler um timeout de 20 segundos e duas tentativas por outro proxy: num rastreio grande, requisições travadas comem mais tempo que páginas puladas.
  • Não baixe imagens, fontes e CSS se está checando meta tags. No Screaming Frog são caixas em Configuration, e o rastreio acelera várias vezes.
  • Leia o robots.txt uma vez e guarde em cache: um crawler que o busca antes de cada página gasta metade do pool em vão.
  • Antes de um rastreio grande escolha os endereços mais rápidos do CSV; o script abaixo ordena a lista pela coluna speed.

Perguntas sobre proxies para ferramentas SEO

01Com quais ferramentas isso funciona?
Com qualquer uma que aceite uma lista de proxies: Screaming Frog SEO Spider, Netpeak Spider e Checker, Sitebulb, SEO PowerSuite, A-Parser, Key Collector, KeyAssort, ScrapeBox, GSA Search Engine Ranker, ZennoPoster, Xenu's Link Sleuth. Serviços como Ahrefs e Semrush rodam na própria infraestrutura e não precisam de pool.
02Quantas threads definir no Screaming Frog?
Não mais que as portas do pacote: 500 no Basic, 1.000 no Business, 1.500 no Elite. E mantenha um limite de URLs por segundo por domínio, ou você vai bater nas defesas do site que rastreia, não no pool.
03Como o crawler se autentica nos proxies?
De jeito nenhum: a autorização vai pelo IP da máquina que você informou no pedido. Nas configurações de proxy do Screaming Frog ou do Netpeak os campos de login e senha ficam vazios, e a lista de máquinas é editada no painel.
04O pool dá conta de um rastreio de um milhão de URLs?
Sim, o tráfego não é cobrado e a quantidade de páginas não afeta o preço. O gargalo não é o pool, mas o ritmo de requisições a um domínio: um milhão de URLs de um mesmo site é melhor rastrear com limite e em várias passadas.
05É possível coletar resultados e sugestões por região?
Sim, é para isso que cada endereço da lista traz o país. Pegue a lista em CSV: colunas ip, port, country, speed, uptime, real_ip separadas por ponto e vírgula. O script abaixo ordena o pool pela coluna speed e deixa os endereços mais rápidos, e o filtro por country se acrescenta em uma linha.
import csv, io, requests

CSV_URL = "PROXY_LIST_URL_FROM_DASHBOARD.csv"
TAKE = 1200
OUT_FILE = "proxies_fast.txt"

text = requests.get(CSV_URL, timeout=15).text
rows = list(csv.DictReader(io.StringIO(text), delimiter=";"))
rows.sort(key=lambda r: int(r["speed"]), reverse=True)
picked = [f"{r['ip']}:{r['port']}" for r in rows[:TAKE]]

with open(OUT_FILE, "w") as f:
    f.write("\n".join(picked) + "\n")
print(f"{len(picked)} proxies saved to {OUT_FILE}")
06E se o crawler não render nesse pool?
Pegue uma hora por $1 e inicie um rastreio comum: em uma hora aparecem a velocidade e a parcela de respostas 429. Pacotes desde 3 dias são cancelados no painel, o tempo usado é recalculado pela tarifa normal e o restante volta para o seu saldo.

O resto sobre o serviço está reunido nas perguntas gerais, todos os pacotes com preços na página inicial.

Comece com uma hora por $1

Rode o seu crawler no pool por uma hora, veja a velocidade do rastreio e depois escolha o período. Em pacotes desde 3 dias o restante volta para o seu saldo.

Testar proxies por $1
ENTRAR/REGISTRAR-SE