Giriş Kayıt ol
Sıralama takibi

Ülkesi bağlantının içinde olan sıralama takibi proxy'leri

Arama motorları sonuçları bölgeye göre gösterir, bu yüzden bir sıralama kontrolcüsü her sorgu grubu için doğru ülkeden bir IP'ye ihtiyaç duyar. Resi Core, 200'den fazla ülkeden herhangi birinde ev adresini doğrudan bağlantı dizesinde verir; ülke filtreli sınırsız paketler ise büyük anahtar kelime listelerini karşılar. Ayrı bir bölüm, yine ülkeye ve şehre bağlı olan Google yapay zekâ yanıtlarının takibini anlatır.

  • Resi Core: ülke dizede
  • her istekte yeni IP
  • büyük kelime listeleri için paketler
Masada yükselen sıralama grafiği gösteren bir monitör
Sıralama takibi

Sıralama denetleyicisinin ihtiyacı ve paketin verdiği

Sıralama, sorgunun nereden geldiğine bağlıdır. Havuz önce bu soruyu yanıtlamalı.

Görevin ihtiyacıTarifeler ne verir

Takip ettiğiniz ülkeden adresler

Resi Core: ülke kullanıcı adına yazılır; paketlerde CSV dışa aktarımında bir ülke sütunu

Her sorgu grubu için yeni bir IP

Resi Core adresi her istekte değiştirir, paketler adreslerin yaklaşık üçte birini her gün yeniler

Büyük bir anahtar kelime listesi için yeterli paralel sorgu

Resi'de thread sınırı yok, paketlerde 500 ila 5000 thread

Zaten kullandığınız denetleyiciyle çalışır

Resi dizede kullanıcı adı ve şifreyle, paketler IP ile; A-Parser, Key Collector ve Rank Tracker HTTP ve SOCKS5 kabul eder

Konut proxy'leri

Anahtar kelime listeniz için trafiği hesaplayın

Bir sonuç sayfası az tutar, bu yüzden bir gigabayt binlerce sorguya yeter. GB başına fiyat sipariş büyüdükçe düşer.

Sipariş büyüklüğüne göre 1 GB konut proxy fiyatı
Sipariş büyüklüğüResi CoreResi Prime
1 GB+$0.85$2.29
10 GB+%7 tasarruf$0.79$2.09
50 GB+$0.72$1.95
100 GB+$0.65$1.75
500 GB+$0.57$1.55
1000 GB+$0.49$1.39

Fiyatlar 1 GB başına ABD doları cinsindendir. Tam gigabayt satın alırsınız, birden başlayarak.

Havuz

  • 200+ ülkede 2M+ ev IP'si
  • Her istekte yeni adres veya cihaz erişilebilir olduğu sürece oturum başına tek adres
  • Kendi posta kutunuzdan e-posta: gönderim için 465 ve 587, alım için IMAP 993 ve POP3 995, 25 portu kapalı
  • Tek seferde 1000 satıra kadar, liste her N dakikada kendini yeniler
Toplam
$19.75
1 GB başına
$0.79
Kademe
10–49 GB

1 GB+ fiyatına göre %7 ($1.50) tasarruf edersiniz

25 GB ekleyin, her gigabayt $0.72 fiyatına iner

Bu miktarı satın al

Gigabaytları satın alma tarihinden itibaren 3 ay kullanabilirsiniz; sonrasında kalan kısım silinir.

Konut proxy'leri hakkında

Takip edilen anahtar kelime listesine üç adım

Bölgeyi seçin

Google.de'yi Avrupa üzerinden, Yandex'i BDT üzerinden, Baidu'yu Çin üzerinden takip edin. World MIX geri kalanı kapsar ve en büyük havuzlara sahiptir.

Ülkeye göre dışa aktarın

CSV dışa aktarımı alın ve ülke sütunu takip ettiğiniz pazarla eşleşen satırları tutun; hazır oluşturucu her ülke için ayrı bir ip:port dosyası yazar.

Araca verin

Sıralama denetleyicileri bir proxy dosyası ya da URL alır. Yenilemeyi 10 dakikaya ayarlayın, liste kendiliğinden güncel kalsın.

Hazır denetleyici: seçilen ülkeden SERP sırası

DOMAIN ve COUNTRY değerlerini girin, anahtar kelimelerinizi keywords.txt dosyasına koyun. Betik arama motorunu o ülkenin proxy'si üzerinden sorgular ve alan adınızın sırasını bir CSV'ye yazar. Ona proxy denetleyicisinden geçmiş temiz bir havuz verin.

CSV export link from your dashboard
ISO 3166-1 alpha-2: positions are read from this country
keep proxies with speed >= this value
the domain whose position you track
one keyword per line
{q}=keyword, {cc}=country
keyword;position;proxy is written here
Değerler formdan gelir; hazır dosyayı kopyalayın veya indirin.
Betik kodunu göster
Python 3.8+ · rank.py
#!/usr/bin/env python3
"""Search-position checker for Advanced.name proxies.

Reads the CSV proxy export, keeps one country, then asks a search engine for each
keyword through a proxy from that country and reports where your domain sits in
the results. Standard library only. Edit CONFIG and run: python3 rank.py
"""

# ================================ CONFIG ====================================
CSV_URL = "https://get.advanced.name/YOUR_LIST_ID.csv"  # CSV export link from your dashboard
COUNTRY = "DE"          # ISO 3166-1 alpha-2: positions are read from this country
MIN_SPEED = 3           # keep proxies with speed >= this value
DOMAIN = "example.com"  # the domain whose position you track
KEYWORDS_FILE = "keywords.txt"           # one keyword per line
SEARCH_URL = "https://www.bing.com/search?q={q}&count=50&setlang={cc}"  # {q}=keyword, {cc}=country
OUT_FILE = "positions.csv"               # keyword;position;proxy is written here
TIMEOUT = 20
# ============================================================================

import csv
import io
import re
import sys
import urllib.parse
import urllib.request

COL_IP, COL_PORT, COL_COUNTRY, COL_SPEED = 0, 1, 2, 3
UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124.0 Safari/537.36"
HREF = re.compile(r'href="https?://([^/"]+)', re.I)


def load_proxies():
    raw = urllib.request.urlopen(CSV_URL, timeout=30).read().decode("utf-8", "replace")
    pool = []
    for row in csv.reader(io.StringIO(raw), delimiter=";"):
        if len(row) <= COL_SPEED or not row[COL_PORT].strip().isdigit():
            continue
        if COUNTRY and row[COL_COUNTRY].strip().upper() != COUNTRY.upper():
            continue
        if int(row[COL_SPEED] or 0) < MIN_SPEED:
            continue
        pool.append(row[COL_IP].strip() + ":" + row[COL_PORT].strip())
    return pool


def position(html, domain):
    """First place the domain shows up among the result links, or 0 if absent."""
    rank, seen = 0, set()
    for host in HREF.findall(html):
        host = host.lower()
        if "bing.com" in host or "microsoft.com" in host or host in seen:
            continue
        seen.add(host)
        rank += 1
        if host == domain or host.endswith("." + domain):
            return rank
    return 0


def main():
    proxies = load_proxies()
    if not proxies:
        sys.exit("No proxies for COUNTRY=%r." % COUNTRY)
    with open(KEYWORDS_FILE, encoding="utf-8") as fh:
        keywords = [line.strip() for line in fh if line.strip()]
    print("proxies: %d (%s), keywords: %d" % (len(proxies), COUNTRY, len(keywords)))

    with open(OUT_FILE, "w", encoding="utf-8", newline="") as out:
        writer = csv.writer(out, delimiter=";")
        writer.writerow(["keyword", "position", "proxy"])
        for i, keyword in enumerate(keywords):
            proxy = proxies[i % len(proxies)]
            url = SEARCH_URL.format(q=urllib.parse.quote(keyword), cc=COUNTRY.lower())
            handler = urllib.request.ProxyHandler({"http": "http://" + proxy, "https": "http://" + proxy})
            req = urllib.request.Request(url, headers={"User-Agent": UA, "Accept-Language": COUNTRY.lower()})
            try:
                html = urllib.request.build_opener(handler).open(req, timeout=TIMEOUT).read().decode("utf-8", "replace")
                pos = position(html, DOMAIN.lower())
            except Exception as exc:
                pos = "err: %s" % exc.__class__.__name__
            writer.writerow([keyword, pos, proxy])
            print("%-40s %s" % (keyword[:40], pos))
    print("written %s" % OUT_FILE)


if __name__ == "__main__":
    main()

Betik: yapay zekâ bloğu var mı ve alan adınızı kaynak gösteriyor mu

Panelinizden bir Resi satırı yapıştırın, DOMAIN'i ayarlayın ve anahtar kelimeleri keywords.txt dosyasına koyun. Betik sonuçları proxy üzerinden gerçek bir Chromium'da açar, yapay zekâ bloğunun yüklenmesini bekler ve bloğun olup olmadığını, hangi alan adlarını kaynak gösterdiğini ve sizinkinin aralarında olup olmadığını CSV'ye yazar. AB çerez bannerını kendisi kapatır, captcha'yı veya proxy hatasını ayrı bir satırda işaretler. Google işaretlemesini değiştirir, bu yüzden blok başlığı LABELS içinde durur.

host:port:login:password line from your dashboard
the domain you want to see among the cited sources
one keyword per line
{q}=keyword
interface language of the results page
country of the results, keep it equal to the country in the login
heading text of the AI block, separated by |
cookie banner buttons in EU countries, in the HL language
keyword;ai_block;cited;your_domain is written here
time for the AI block to finish drawing
set False to watch the browser
Değerler formdan gelir; hazır dosyayı kopyalayın veya indirin.
Betik kodunu göster
Python 3.8+ · ai_overview.py
#!/usr/bin/env python3
"""AI Overview tracker for Advanced.name residential proxies.

Opens Google results for every keyword through a Resi Core or Resi Prime line
in a real Chromium, because the AI block is drawn by JavaScript. Records
whether the page shows the AI block and which domains it cites.
Setup: pip install playwright && python -m playwright install chromium
"""

# ================================ CONFIG ====================================
PROXY = "res.advanced.name:9000:USER-type-residential-country-us:PASS"  # host:port:login:password line from your dashboard
DOMAIN = "example.com"  # the domain you want to see among the cited sources
KEYWORDS_FILE = "keywords.txt"  # one keyword per line
SEARCH_URL = "https://www.google.com/search?q={q}&hl={hl}&gl={gl}"  # {q}=keyword
HL = "en"  # interface language of the results page
GL = "us"  # country of the results, keep it equal to the country in the login
LABELS = "AI Overview|AI Mode"  # heading text of the AI block, separated by |
CONSENT = "Reject all|Accept all"  # cookie banner buttons in EU countries, in the HL language
OUT_FILE = "ai_overview.csv"  # keyword;ai_block;cited;your_domain is written here
WAIT_MS = 4000  # time for the AI block to finish drawing
HEADLESS = True  # set False to watch the browser
# ============================================================================

import csv
import sys
import urllib.parse

from playwright.sync_api import sync_playwright

FIND_BLOCK = """(labels) => {
  const heads = [...document.querySelectorAll('h1,h2,h3,div,span')]
    .filter(e => e.children.length === 0 && labels.includes(e.textContent.trim()));
  if (!heads.length) return null;
  let box = heads[0];
  for (let i = 0; i < 8 && box.parentElement; i++) {
    box = box.parentElement;
    const links = [...box.querySelectorAll('a[href^="http"]')];
    if (links.length >= 2 && box.innerText.length > 200) return links.map(a => new URL(a.href).hostname);
  }
  return [];
}"""


def proxy_of(line):
    host, port, user, password = line.strip().split(":", 3)
    return {"server": "http://%s:%s" % (host, port), "username": user, "password": password}


def bare(host):
    host = host.lower()
    return host[4:] if host.startswith("www.") else host


def main():
    keywords = [k.strip() for k in open(KEYWORDS_FILE, encoding="utf-8") if k.strip()]
    labels = [x.strip() for x in LABELS.split("|") if x.strip()]
    consent = [x.strip() for x in CONSENT.split("|") if x.strip()]
    rows = []
    with sync_playwright() as pw:
        browser = pw.chromium.launch(headless=HEADLESS, proxy=proxy_of(PROXY))
        page = browser.new_page(locale=HL)
        for kw in keywords:
            url = SEARCH_URL.format(q=urllib.parse.quote_plus(kw), hl=HL, gl=GL)
            try:
                resp = page.goto(url, wait_until="domcontentloaded", timeout=60000)
                if resp is None or resp.status >= 400:
                    status = "http %s" % (resp.status if resp else "none")
                    print("%-40s %s" % (kw[:40], status), file=sys.stderr)
                    rows.append([kw, status, "", ""])
                    continue
                for name in consent:
                    button = page.get_by_role("button", name=name)
                    if button.count():
                        button.first.click()
                        page.wait_for_load_state("domcontentloaded")
                        break
                if "/sorry/" in page.url:
                    print("%-40s captcha: change the session id in the login" % kw[:40], file=sys.stderr)
                    rows.append([kw, "captcha", "", ""])
                    continue
                page.wait_for_timeout(WAIT_MS)
                hosts = page.evaluate(FIND_BLOCK, labels)
            except Exception as exc:
                print("%-40s error: %s" % (kw[:40], str(exc).splitlines()[0]), file=sys.stderr)
                rows.append([kw, "error", "", ""])
                continue
            if hosts is None:
                print("%-40s no AI block" % kw[:40])
                rows.append([kw, "no", "", ""])
                continue
            cited = sorted({bare(h) for h in hosts if "google." not in h})
            mine = any(h == DOMAIN or h.endswith("." + DOMAIN) for h in cited)
            print("%-40s AI block, %d sources, %s %s" % (kw[:40], len(cited), DOMAIN, "cited" if mine else "not cited"))
            rows.append([kw, "yes", " ".join(cited), "yes" if mine else "no"])
        browser.close()
    with open(OUT_FILE, "w", encoding="utf-8", newline="") as f:
        out = csv.writer(f, delimiter=";")
        out.writerow(["keyword", "ai_block", "cited", "your_domain"])
        out.writerows(rows)
    print("saved", OUT_FILE)


if __name__ == "__main__":
    main()
Kurulum

Sıralama izleyicisini kurmak

A-Parser, Key Collector, Rank Tracker

A-Parser ve Key Collector'da ip:port listesini proxy alanına yapıştırın ve kontrol aralığını bir anahtar kelime bir adrese günde en fazla bir kez düşecek şekilde ayarlayın. Rank Tracker ve benzeri masaüstü araçlar bir proxy dosyası okur; onları oluşturucunun ülke başına yazdığı listeye yönlendirin.

Sıralama sorgunun nereden geldiğine bağlıdır, bu yüzden her pazar için ayrı liste tutun: ülke başına bir izleyici örneği ve her birine yalnızca o ülkenin adresleri.

Sıralamayı kendi kodunuzda okumak

Yukarıdaki betik arama motorunu ülke proxy'si üzerinden sorgular ve alan adınızın yerini kaydeder. Motorun dil ve bölge parametrelerini proxy ile birlikte gönderin: adres ülkeyi, parametreler şehri belirler.

Her çalıştırmadan önce havuzu proxy denetleyicisi ile kontrol edin; hafif bir elle test için ücretsiz proxy listesi işe yarar. Bölgesel arama sonuçları üzerine bir giriş yazısı makalelerde yer alacak.

Google yapay zekâ yanıtları: AI Overviews ve AI Mode

Google giderek daha sık normal sonuçların üstüne bir yapay zekâ bloğu koyuyor: kaynak bağlantılı kısa bir yanıt. Tıklamaların bir kısmı oraya gider, bu yüzden sitenizin kaynaklara girip girmediğini ve hangi sorgularda bloğun hiç çıkmadığını bilmeniz gerekir. Blok kullanıcının konumuna göre oluşturulur: aynı sorgu için Berlin ve Münih farklı kaynaklar görebilir.

Normal bir sonuç scraper'ı bu bloğu asla görmez: Google onu sayfa yüklendikten sonra JavaScript ile çizer. Gerçek bir tarayıcıya, örneğin Playwright ile Chromium'a, ve doğru ülkeden bir ev IP'sine ihtiyacınız var. Liste adresleri bu sonuçlarda sık sık captcha'ya takılır, bu yüzden burada işi Resi Core ve Resi Prime yapar.

Ülke düzeyinde takip için kullanıcı adında ülke kodu olan Resi Core yeterlidir. Müşteri bir şehri önemsiyorsa dizede şehir olan Resi Prime'ı ve her sorgu grubu için sabit bir oturumu alın: tüm grup o şehirdeki tek bir adresten çıkar.

Ne kaydedilmeli ve ne sıklıkla

Anahtar kelime listesini günde veya haftada bir çalıştırın: yapay zekâ bloğu normal pozisyonlardan daha yavaş değişir. Her sorgu için tarihi, ülkeyi veya şehri, bloğun olup olmadığını, hangi alan adlarını kaynak gösterdiğini ve sizinkinin aralarında olup olmadığını yazın. Bir ay sonra yapay zekânın yanıtına hangi sayfaları aldığını ve hangilerinin düştüğünü görürsünüz.

Yukarıdaki ikinci betik tam olarak bu alanları CSV'ye yazar. İlk betik aynı ülkedeki normal pozisyonları takip eder, böylece iki rapor sorguya göre örtüşür.

Uygulamada

Her ülkeden görüldüğü haliyle sıralamalar

Sıralama verisini dürüst tutan dört ayar

  1. Bir anahtar kelimeyi bir IP'den günde en fazla bir kez sorgulayın; havuz yükü dağıtacak kadar büyük.
  2. IP listelerini ülkeye göre ayrı tutun: karışık adresler sonuçları da karıştırır.
  3. Arama motorunun dil ve konum parametrelerini ekleyin; proxy ülkeyi, parametreler şehri belirler.
  4. Hızlı bir deneme için ücretsiz proxy sayfasını kullanın, günlük takip için sonra Resi Core'a veya bir pakete geçin.

Ülkeye göre bu iş

Tüm ülkeleri göster
FAQ

Bu görevle ilgili sorular

Google için hangi bölge?
Google sonuçları arayanın ülkesine göre gösterir. Resi Core'da ülke kodunu kullanıcı adına yazın, her istek o ülkeden bir ev IP'siyle çıkar. Paketlerde CSV dışa aktarımını ülke sütununa göre filtreleyin: AB için Europe, ABD ve dünyanın geri kalanı için World MIX, Rusça konuşulan pazarlar için CIS.
Google yapay zekâ yanıtlarını nasıl takip ederim?
Resi Core veya Resi Prime ve gerçek bir tarayıcıyla: yapay zekâ bloğunu JavaScript çizer, bu yüzden düz bir HTTP isteği onu asla görmez. Bu sayfadaki betik sonuçları Chromium'da açar, bloğun olup olmadığını ve alan adınızı kaynak gösterip göstermediğini kaydeder. Farklı şehirler için Resi Prime'ı alın.
Günde kaç anahtar kelime?
Resi Core'da thread sınırı yoktur, bu yüzden tavanı aldığınız trafik belirler. #2 paketindeki 1000 thread'le bir checker günde on binlerce sorgu işler; her anahtar kelime için günde bir IP tutun.
Kullanıcı adı ve şifre gerekir mi?
Paketlerde hayır: erişim, checker'ın çalıştığı makinenin IP'sine bağlıdır. Resi Core dizedeki kullanıcı adı ve şifreyi kullanır, beyaz liste gerektirmez.
Belirli bir şehrin sonuçlarını nasıl takip ederim?
Arama motorunun konum parametreleri şehri her proxy'yle ayarlar. Sonuçlar IP'ye bağlıysa Resi Prime'ı alın: şehri bağlantı dizesinde ayarlarsınız.
Bu iş için tarifeler

Sıralama takibi için ne alınmalı

Ülke sonuçlarını Resi Core ile, şehir sonuçlarını Resi Prime ile takip edin; büyük anahtar kelime listelerini her gün sınırsız bir paketle daha ucuza çalıştırın.

Resi Core

Ülke sonuçlarıEn uygun seçim

2M+ IP · 200+ ülke · thread sınırı yok

Her istekte doğru ülkeden bir ev IP'si. Bir sonuç sayfası az tutar, bu yüzden bir gigabayt binlerce sorguya yeter.

başlangıç $0.49 GB başına1 GB: $0.85

Resi Prime

Şehir sonuçları

30M+ IP · 220 ülke · thread sınırı yok

Bağlantı dizesindeki şehir ve bölge, o şehirdeki bir kullanıcının gördüğü sonuçları verir.

başlangıç $1.39 GB başına1 GB: $2.29

Sınırsız proxy

Büyük anahtar kelime listeleri

Paket #2 · World MIX · 12.000 IP · 1000 thread

Trafik sayacı olmadan günde on binlerce sorgu. Pazar ülkesini CSV dışa aktarımındaki sütuna göre seçersiniz.

$378 aylıkveya saatlik $2.10

Gerçek sıralamaları yarın sabah görün

1 GB Resi Core alın, ülkeyi dizede ayarlayın ve checker'ı canlı adreslerde çalıştırın.

Fiyatlar Bir saat ücretsiz deneyin