Proxys pour outils SEO

Un crawler parcourt un site en centaines de threads, et tout serveur finit par lui répondre 429. Un pool MIX jusqu'à 25 000 IP répartit ces threads sur des adresses différentes, si bien que Screaming Frog, Netpeak Spider, A-Parser et Key Collector tournent à pleine vitesse au lieu d'un thread avec des pauses. Une heure de test coûte 1 $.

  • Trafic jamais facturé
  • SOCKS5 et HTTP sur un port
  • Remboursement sur les forfaits dès 3 jours
Voir les prix
Des outils d'audit SEO convergent vers un nœud proxy d'où partent des liens vers les pages des sites

Le prix pour votre volume

Choisissez un forfait, puis déplacez la durée et le nombre de threads. Les threads ici sont ceux que vous réglez dans le crawler : 1 200 threads, ce sont 1 200 URL que l'outil charge à la fois. Le curseur est sur cette valeur.

MIX-Business est pensé pour un pôle SEO et une agence : plusieurs projets par semaine, Sitebulb et SEO PowerSuite en parallèle, A-Parser pour les suggestions et les SERP, ScrapeBox pour les vérifications en masse. 16 000 adresses et 1 200 threads par défaut : c'est ce qu'on règle quand le crawl doit finir en une soirée.

1 mois
1 200+20%

Un thread est une connexion simultanée. Plus de threads — plus de travail dans le même temps.

$120
≈ $4 / jourpour 30 jours

$100 pour 1 mois+ $20 pour les threads

économie $420 vs journalier
OUIremboursement du reste
  • 1 heure — $1
  • 1 jour — $15
  • 3 jours — $35
  • 1 semaine — $50
  • 2 semaines — $75
  • 1 mois — $100
  • 3 mois — $255
  • 6 mois — $475
Acheter des proxys — MIX-Business

Comment relier les proxys aux outils SEO

  1. 1
    Achetez une heure pour 1 $ et indiquez l'IP de la machine où tournent les outils.

    L'accès est lié à l'ordinateur ou au serveur lui-même, donc dans les réglages proxy de Screaming Frog et Netpeak les champs identifiant et mot de passe restent vides. Vous pouvez déclarer jusqu'à dix machines.

  2. 2
    Récupérez dans votre espace client le lien vers la liste de proxys.

    Il renvoie un fichier texte au format adresse et port, un proxy par ligne. Screaming Frog et Netpeak attendent la même liste mais en fichier : enregistrez la réponse en .txt et indiquez-le dans les réglages.

  3. 3
    Répartissez le pool entre les outils.

    A-Parser et ScrapeBox relisent le lien d'eux-mêmes et en prennent toutes les adresses. Key Collector, Sitebulb et SEO PowerSuite lisent un fichier de liste, rafraîchissez-le donc par script toutes les 10 minutes, exemple ci-dessous.

  4. 4
    Réglez les threads de l'outil sans dépasser le nombre de ports du forfait.

    500 sur Basic, 1 000 sur Business, 1 500 sur Elite sans option. Chaque port est un proxy distinct et un thread du crawler occupe un port : mettre dans Screaming Frog plus de threads que de ports n'apporte rien.

  5. 5
    Choisissez le protocole selon l'outil.

    SOCKS5 est pris par Screaming Frog, A-Parser, ZennoPoster et ScrapeBox. Netpeak Spider, Key Collector et SEO PowerSuite passent en HTTP(S). Les deux protocoles sont sur le même port, on change seulement dans l'outil.

Voici comment le pool se branche sur un audit à vous. Le script lit les adresses de urls.txt, charge chaque page via un proxy pris au hasard et enregistre dans audit.csv le code de réponse, la redirection, le title, le h1, la description, le canonical et le robots : la même chose qu'un crawler affiche, mais selon vos règles. Remplacez PROXY_LIST_URL_FROM_DASHBOARD par le lien de votre espace client.

# 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])

Quel forfait choisir pour les outils SEO

MIX-Basic

8 000 IP · 500–900 threads

dès 50 $ par mois

Un projet : un crawl jusqu'à cent mille URL, la collecte de mots-clés, une vérification des liens par semaine.

MIX-Business

16 000 IP · 1 000–1 400 threads

dès 100 $ par mois

Agence et pôle SEO : plusieurs crawlers à la fois, collecte de suggestions et vérifications en masse sur un seul pool.

MIX-Elite

25 000 IP · 1 500–9 900 threads

dès 150 $ par mois

Service propre et grosse équipe interne : des millions d'URL par crawl, threads jusqu'à 9 900, à toute heure.

Cinq réglages qui préservent le pool

  • Limitez le crawler en URL par seconde et par domaine, pas seulement en threads. Le serveur compte le rythme, et 1 200 threads sur un domaine sans limite, c'est un 429 garanti.
  • Réglez dans le crawler un timeout de 20 secondes et deux reprises via un autre proxy : sur un gros crawl, les requêtes figées mangent plus de temps que les pages sautées.
  • Ne chargez pas les images, les polices et le CSS si vous vérifiez les balises meta. Dans Screaming Frog ce sont des cases dans Configuration, et le crawl accélère plusieurs fois.
  • Lisez robots.txt une fois et mettez-le en cache : un crawler qui le réclame avant chaque page gâche la moitié du pool.
  • Avant un gros crawl, choisissez les adresses les plus rapides du CSV ; le script ci-dessous trie la liste par la colonne speed.

Questions sur les proxys pour outils SEO

01Avec quels logiciels cela fonctionne-t-il ?
Avec tout logiciel qui accepte une liste de proxys : Screaming Frog SEO Spider, Netpeak Spider et Checker, Sitebulb, SEO PowerSuite, A-Parser, Key Collector, KeyAssort, ScrapeBox, GSA Search Engine Ranker, ZennoPoster, Xenu's Link Sleuth. Des services comme Ahrefs et Semrush passent par leur propre infrastructure et n'ont pas besoin du pool.
02Combien de threads régler dans Screaming Frog ?
Pas plus que le nombre de ports du forfait : 500 sur Basic, 1 000 sur Business, 1 500 sur Elite. Et gardez une limite d'URL par seconde et par domaine, sinon vous butez sur les défenses du site, pas sur le pool.
03Comment le crawler s'authentifie-t-il auprès des proxys ?
Il ne s'authentifie pas : l'autorisation passe par l'IP de la machine indiquée à la commande. Dans les réglages proxy de Screaming Frog ou Netpeak, les champs identifiant et mot de passe restent vides, et la liste des machines se modifie dans l'espace client.
04Le pool suffit-il pour un crawl d'un million d'URL ?
Oui, le trafic n'est jamais facturé et le nombre de pages n'influe pas sur le prix. Le goulot n'est pas le pool mais le rythme de requêtes vers un domaine : un million d'URL d'un même site se crawle mieux avec une limite et en plusieurs passes.
05Peut-on collecter les SERP et les suggestions par région ?
Oui, c'est à cela que sert le pays présent sur chaque adresse de la liste. Prenez la liste en CSV : colonnes ip, port, country, speed, uptime, real_ip séparées par des points-virgules. Le script ci-dessous trie le pool par la colonne speed et garde les adresses les plus rapides, et le filtre par pays s'ajoute en une ligne.
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}")
06Et si le crawler ne tourne pas bien sur ce pool ?
Prenez une heure pour 1 $ et lancez dessus un crawl ordinaire : en une heure on voit la vitesse et la part de réponses 429. Les forfaits dès 3 jours s'annulent dans l'espace client, le temps utilisé est recalculé au tarif normal et le reste revient sur votre solde.

Le reste sur le service est réuni dans la FAQ générale, tous les forfaits avec les prix sur la page d'accueil.

Commencez par une heure à 1 $

Lancez votre crawler sur le pool pendant une heure, regardez la vitesse de crawl, puis choisissez la durée. Sur les forfaits dès 3 jours, le reste revient sur votre solde.

Tester les proxys pour 1 $
CONNEXION/INSCRIPTION