Zum Hauptinhalt springen

Ihr Fairer Makler

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>SEO Dashboard – Ihr Fairer Makler</title>
<style>
:root{color-scheme:light;
  --brand:#1B4F8A;--accent:#2E86C1;--light:#D6E8F7;--light2:#EBF5FB;
  --green:#1A7A3A;--red:#B03030;--orange:#C05E10;--yellow:#856404;
  --gray:#F4F6F8;--border:#DEDFE1;--txt:#222;--txt2:#666;--white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,sans-serif;font-size:14px;color:var(--txt);background:#EEF2F7;min-height:100vh}
.header{background:var(--brand);color:#fff;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.header-left h1{font-size:17px;font-weight:700}.header-left .sub{font-size:11px;opacity:.7;margin-top:1px}
.header-right{display:flex;align-items:center;gap:10px}
.reload-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);color:#fff;padding:5px 13px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600}
.reload-btn:hover{background:rgba(255,255,255,.3)}
.last-updated{font-size:11px;opacity:.65}
/* overview strip */
.ov-strip{background:var(--brand);border-bottom:3px solid var(--accent);padding:0 20px 14px}
.ov-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.ov-kpi{background:rgba(255,255,255,.12);border-radius:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.15)}
.ov-kpi-label{font-size:11px;color:rgba(255,255,255,.7);margin-bottom:2px}
.ov-kpi-val{font-size:22px;font-weight:700;color:#fff}
.ov-kpi-sub{font-size:11px;color:rgba(255,255,255,.6);margin-top:2px}
.kw-label{font-size:11px;color:rgba(255,255,255,.7);margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.kw-chips{display:flex;flex-wrap:wrap;gap:5px;min-height:26px}
.kw-chip{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:3px 9px;font-size:11px;color:#fff;display:flex;align-items:center;gap:5px;white-space:nowrap}
.kw-chip .cp{border-radius:10px;padding:1px 5px;font-weight:700;font-size:10px}
/* tabs */
.tabs{background:var(--white);border-bottom:2px solid var(--border);padding:0 20px;display:flex;position:sticky;top:51px;z-index:90}
.tab{padding:10px 16px;cursor:pointer;font-weight:600;font-size:13px;color:var(--txt2);border-bottom:3px solid transparent;margin-bottom:-2px}
.tab:hover{color:var(--accent)}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}
.tab-content{display:none;padding:16px 20px}.tab-content.active{display:block}
/* section */
.section{background:var(--white);border-radius:10px;border:1px solid var(--border);margin-bottom:14px;overflow:hidden}
.sec-hdr{padding:9px 14px;background:var(--brand);color:#fff;font-weight:700;font-size:13px;display:flex;justify-content:space-between;align-items:center}
.sec-hdr span{font-size:11px;font-weight:400;opacity:.75}
/* summary cards */
.tk-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.tk{background:var(--white);border-radius:8px;padding:11px 13px;border:1px solid var(--border)}
.tk-label{font-size:11px;color:var(--txt2);margin-bottom:2px}.tk-val{font-size:20px;font-weight:700}.tk-sub{font-size:10px;color:var(--txt2);margin-top:2px}
/* table */
.tbl{width:100%;border-collapse:collapse;font-size:12px}
.tbl th{background:var(--light2);color:var(--brand);font-weight:700;font-size:11px;padding:7px 10px;text-align:left;border-bottom:2px solid var(--border);white-space:nowrap}
.tbl td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:#F8FBFF}
.center{text-align:center}
/* pills */
.pill{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;white-space:nowrap}
.p-green{background:#D4EDDA;color:var(--green)}.p-red{background:#F8D7DA;color:var(--red)}
.p-orange{background:#FFF3CD;color:var(--yellow)}.p-blue{background:#D6E8F7;color:var(--brand)}
.p-gray{background:#E9ECEF;color:#555}.p-purple{background:#E8D5F5;color:#5B2D8E}.p-teal{background:#D0F0EE;color:#0E7C78}
.badge-neu{display:inline-block;background:#16A34A;color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;margin-left:5px;vertical-align:middle;letter-spacing:.3px;text-transform:uppercase}
/* pos badge */
.pb{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:20px;border-radius:10px;font-size:11px;font-weight:700;padding:0 5px}
.pb1{background:#D4EDDA;color:var(--green)}.pb2{background:#FFF3CD;color:var(--yellow)}
.pb3{background:#F8D7DA;color:var(--red)}.pb0{background:#E9ECEF;color:#888}
/* progress */
.prog-wrap{display:flex;align-items:center;gap:5px}
.prog-bg{background:#E9ECEF;border-radius:3px;height:7px;width:72px;position:relative;overflow:hidden;flex-shrink:0}
.prog-time{position:absolute;top:0;left:0;height:100%;background:rgba(0,0,0,.1)}
.prog-rank{position:absolute;top:0;left:0;height:100%;border-radius:3px}
.prog-pct{font-size:10px;color:var(--txt2);min-width:24px}
/* filter */
.filter-bar{padding:7px 12px;border-bottom:1px solid var(--border);display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.fb{padding:3px 9px;border-radius:12px;border:1px solid var(--border);background:var(--white);color:var(--txt);cursor:pointer;font-size:11px;font-weight:600}
.fb.active{background:var(--brand);color:#fff;border-color:var(--brand)}
/* GMB */
.gmb-wrap{padding:12px}.gmb-grid{display:inline-grid;gap:4px}
.gmb-cell{width:86px;height:72px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border:2px solid transparent;position:relative;transition:transform .1s}
.gmb-cell:hover{transform:scale(1.05);border-color:rgba(0,0,0,.2)}
.g1{background:#1A7A3A;color:#fff}.g2{background:#28A745;color:#fff}.g3{background:#5CB85C;color:#fff}
.g4{background:#FFC107;color:#000}.g5{background:#FF8C00;color:#fff}.g6{background:#DC3545;color:#fff}
.gx{background:#dee2e6;color:#666}
.gmb-pos{font-size:22px;font-weight:700}.gmb-name{font-size:9px;text-align:center;font-weight:600;line-height:1.2;padding:0 3px}
.gmb-trend{font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;position:absolute;top:3px;right:3px;line-height:1.3}
.gmb-up{background:rgba(26,122,58,0.18);color:#1A7A3A}.gmb-dn{background:rgba(176,48,48,0.18);color:#B03030}
.gmb-star{position:absolute;top:3px;right:4px;font-size:10px}
.gmb-leg{display:flex;gap:12px;margin:8px 0;font-size:11px;flex-wrap:wrap}
.gl-item{display:flex;align-items:center;gap:3px}.gl-dot{width:10px;height:10px;border-radius:2px}

/* AI Sichtbarkeit */
.ai-matrix{width:100%;border-collapse:collapse;margin-top:12px}
.ai-matrix th{padding:8px 12px;font-size:11px;font-weight:700;text-align:left;border-bottom:2px solid var(--brd)}
.ai-matrix td{padding:7px 12px;font-size:11px;border-bottom:1px solid var(--brd);vertical-align:middle}
.ai-cell{display:flex;align-items:center;justify-content:center;width:90px;height:32px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;border:2px solid transparent;transition:all .15s}
.ai-cell:hover{transform:scale(1.06);border-color:rgba(0,0,0,.15)}
.ai-yes{background:#D1FAE5;color:#065F46}
.ai-no{background:#FEE2E2;color:#991B1B}
.ai-open{background:#F3F4F6;color:#9CA3AF}
.ai-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.ai-kpi{background:var(--card);border:1px solid var(--brd);border-radius:8px;padding:12px;text-align:center}
.ai-kpi-name{font-size:10px;font-weight:700;color:var(--txt2);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.ai-kpi-pct{font-size:24px;font-weight:700}
.ai-kpi-sub{font-size:9px;color:var(--txt2);margin-top:2px}
.ai-snippet{font-size:10px;color:#065F46;font-style:italic;margin-top:2px;max-width:300px}
.ai-legend{display:flex;gap:14px;font-size:10px;color:var(--txt2);margin-bottom:10px;flex-wrap:wrap;align-items:center}
.ai-legend span{display:flex;align-items:center;gap:4px}
.ai-note-badge{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);vertical-align:middle;margin-left:3px}

/* info box */
.info-box{background:var(--light2);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;padding:9px 12px;margin-bottom:10px;font-size:12px;color:var(--brand);line-height:1.5}
/* modal */
.modal-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:999;align-items:center;justify-content:center}
.modal-ov.show{display:flex}
.modal{background:#fff;border-radius:10px;padding:20px;width:290px}
.modal h3{font-size:14px;margin-bottom:9px;color:var(--brand)}
.modal input{width:100%;border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:16px;margin-bottom:9px;outline:none}
.modal input:focus{border-color:var(--accent)}
.modal-btns{display:flex;gap:7px;justify-content:flex-end}
.btn{padding:6px 14px;border-radius:5px;cursor:pointer;font-weight:600;font-size:12px;border:none}
.btn-p{background:var(--brand);color:#fff}.btn-s{background:var(--gray);color:var(--txt)}
/* editable */
.ed{background:transparent;border:none;border-bottom:1px dashed #ccc;font-size:12px;width:100%;outline:none;padding:1px}
.ed:focus{border-bottom-color:var(--accent);background:#f8fbff}
/* loader/error */
.loader{text-align:center;padding:28px;color:var(--txt2);font-size:13px}
.sp{display:block;width:20px;height:20px;border:3px solid var(--light);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 8px}
@keyframes spin{to{transform:rotate(360deg)}}
.err-box{background:#FFF3CD;border:1px solid #ffc107;border-radius:8px;padding:12px 14px;margin:12px;font-size:12px;color:#856404}

/* expandable keyword rows */
.expand-btn{background:none;border:none;cursor:pointer;font-size:11px;color:var(--accent);padding:2px 4px;border-radius:3px;font-weight:600}
.expand-btn:hover{background:var(--light2)}
.kw-sub-row{background:#F8FBFF}
.kw-sub-row td{padding:4px 10px 4px 28px;border-bottom:1px solid #f0f0f0;font-size:11px}
.kw-sub-row:last-child td{border-bottom:1px solid var(--border)}

</style>
</head>
<body>



<div class="header">
  <div class="header-left"><h1>SEO Dashboard – Ihr Fairer Makler</h1><div class="sub">ihr-fairer-makler.de · wöchentliches JF-Tracking</div></div>
  <div class="header-right">
    <div class="last-updated" id="lastUp">—</div>
  </div>
</div>

<!-- OVERVIEW STRIP -->
<div class="ov-strip">
  <div class="ov-kpis">
    <div class="ov-kpi"><div class="ov-kpi-label">Klicks (30 Tage)</div><div class="ov-kpi-val" id="ovC">—</div><div class="ov-kpi-sub" id="ovCS">lädt…</div></div>
    <div class="ov-kpi"><div class="ov-kpi-label">Impressionen (30 Tage)</div><div class="ov-kpi-val" id="ovI">—</div><div class="ov-kpi-sub" id="ovIS">lädt…</div></div>
    <div class="ov-kpi"><div class="ov-kpi-label">Keywords Seite 1</div><div class="ov-kpi-val" id="ovP1">—</div><div class="ov-kpi-sub">Pos. ≤ 10 (exkl. Brand)</div></div>
    <div class="ov-kpi"><div class="ov-kpi-label">Authority Score</div><div class="ov-kpi-val">16</div><div class="ov-kpi-sub">Ziel: 30+ bis Q4 2026</div></div>
  </div>
</div>

<div class="tabs">
  <div class="tab active" onclick="showTab('tracker')">📋 Seiten-Tracker</div>
  <div class="tab" onclick="showTab('backlinks')">🔗 Backlinks</div>
  <div class="tab" onclick="showTab('gmb')">📍 GMB Grid</div>
  <div class="tab" onclick="showTab('ai')">🤖 AI-Sichtbarkeit</div>
</div>

<!-- TAB: SEITEN-TRACKER -->
<div id="tab-tracker" class="tab-content active">
  <div class="tk-row">
    <div class="tk"><div class="tk-label">Seiten live (GSC)</div><div class="tk-val" id="tkL">—</div><div class="tk-sub">von 35 geplant</div></div>
    <div class="tk"><div class="tk-label">✅ Ziel erfüllt (Top 3)</div><div class="tk-val" id="tkG" style="color:var(--green)">—</div><div class="tk-sub">Pos. ≤ 3</div></div>
    <div class="tk"><div class="tk-label">🟡 Auf Kurs / Vor Plan</div><div class="tk-val" id="tkO" style="color:var(--yellow)">—</div><div class="tk-sub">Ranking ≥ Zeitplan</div></div>
    <div class="tk"><div class="tk-label">⚠️ Hinter Plan</div><div class="tk-val" id="tkB" style="color:var(--red)">—</div><div class="tk-sub">Aufmerksamkeit nötig</div></div>
  </div>
  <div class="section">
    <div class="sec-hdr">Alle Seiten <span>Ziel: Top 3 · Fortschritt = Ranking vs. Zeitplan · letzte 3 Monate</span></div>
    <div class="filter-bar">
      <span style="font-size:11px;color:var(--txt2)">Filter:</span>
      <button class="fb active" onclick="filt('Alle',this)">Alle</button>
      <button class="fb" onclick="filt('Kern',this)">Kern</button>
      <button class="fb" onclick="filt('Stadtteil',this)">Stadtteile</button>
      <button class="fb" onclick="filt('Umland',this)">Umland</button>
      <button class="fb" onclick="filt('Situativ',this)">Situativ</button>
      <button class="fb" onclick="filt('Hamburg',this)">Hamburg</button>
      <button class="fb" onclick="filt('Blog',this)">📝 Blog</button>
      <button class="fb" onclick="filt('Andernach',this)">Andernach</button>
    </div>
    <div id="pageWrap"></div>
  </div>
</div>

<!-- TAB: BACKLINKS -->
<div id="tab-backlinks" class="tab-content">
  <div class="section">
    <div class="sec-hdr">Backlink-Kampagne <span>Status ändern → direkt klicken</span></div>
    <table class="tbl"><thead><tr><th>Quelle / Domain</th><th>Typ</th><th>Relevanz / Cluster</th><th>Kontakt</th><th>Angefragt</th><th>Status</th><th>Live seit</th><th>Notiz</th></tr></thead>
    <tbody id="blBody"></tbody></table>
  </div>
  <div style="display:flex;gap:8px;padding-bottom:4px">
    <button class="btn btn-p" onclick="addBL()">+ Hinzufügen</button>
    <button class="btn btn-s" id="saveBLBtn" onclick="saveBL()">💾 Speichern</button>
  </div>
</div>

<!-- TAB: GMB -->
<div id="tab-gmb" class="tab-content">
  <div class="section">
    <div class="sec-hdr">GMB Grid – Bremen <span>Klick auf Stadtteil → Position aktualisieren &nbsp;|&nbsp; <button class="btn btn-s" style="font-size:10px;padding:2px 8px" onclick="resetGMB()">↺ Snapshot zurücksetzen</button></span></div>
    <div class="gmb-wrap">

      <div class="gmb-leg">
        <div class="gl-item"><div class="gl-dot" style="background:#1A7A3A"></div>1–3</div>
        <div class="gl-item"><div class="gl-dot" style="background:#28A745"></div>4–5</div>
        <div class="gl-item"><div class="gl-dot" style="background:#5CB85C"></div>6–10</div>
        <div class="gl-item"><div class="gl-dot" style="background:#FFC107"></div>11–15</div>
        <div class="gl-item"><div class="gl-dot" style="background:#DC3545"></div>16+</div>
        <div class="gl-item"><div class="gl-dot" style="background:#dee2e6"></div>Unbekannt</div>
      </div>
      <div class="gmb-grid" id="gmbGrid" style="grid-template-columns:repeat(8,86px)"></div>
    </div>
  </div>
  <div class="section">
    <div class="sec-hdr">GMB Profil-Checkliste</div>
    <table class="tbl"><thead><tr><th>Punkt</th><th>Priorität</th><th>Status</th></tr></thead><tbody>
      <tr><td>Alle Kategorien eingetragen</td><td>🔴 Hoch</td><td><span class="pill p-gray" id="gC1" onclick="togCheck(this)">Offen</span></td></tr>
      <tr><td>20+ Fotos (Team, Büro, Objekte)</td><td>🔴 Hoch</td><td><span class="pill p-gray" id="gC2" onclick="togCheck(this)">Offen</span></td></tr>
      <tr><td>3× Posts pro Woche</td><td>🔴 Hoch</td><td><span class="pill p-gray" id="gC3" onclick="togCheck(this)">Offen</span></td></tr>
      <tr><td>Auf alle Bewertungen antworten</td><td>🔴 Hoch</td><td><span class="pill p-gray" id="gC4" onclick="togCheck(this)">Offen</span></td></tr>
      <tr><td>Alle Dienstleistungen eingetragen</td><td>🟡 Mittel</td><td><span class="pill p-gray" id="gC5" onclick="togCheck(this)">Offen</span></td></tr>
      <tr><td>10 FAQ eingetragen</td><td>🟡 Mittel</td><td><span class="pill p-gray" id="gC6" onclick="togCheck(this)">Offen</span></td></tr>
      <tr><td>Beschreibung mit Keywords</td><td>🟡 Mittel</td><td><span class="pill p-gray" id="gC7" onclick="togCheck(this)">Offen</span></td></tr>
      <tr><td>Öffnungszeiten vollständig</td><td>🟡 Mittel</td><td><span class="pill p-gray" id="gC8" onclick="togCheck(this)">Offen</span></td></tr>
    </tbody></table>
  </div>
</div>

<!-- TAB: KEYWORDS -->

<!-- TAB: AI SICHTBARKEIT -->
<div id="tab-ai" class="tab-content">
  <div class="section">
    <div class="sec-hdr">
      AI-Sichtbarkeit – ihr-fairer-makler.de
      <span>Wird <strong>ihr-fairer-makler.de</strong> in KI-Antworten erwähnt?</span>
    </div>

    <!-- KPI Row -->
    <div class="ai-kpi-row" id="aiKpiRow"></div>

    <!-- Legend -->
    <div class="ai-legend">
      <span><span style="display:inline-block;width:12px;height:12px;background:#D1FAE5;border-radius:3px"></span> Erwähnt</span>
      <span><span style="display:inline-block;width:12px;height:12px;background:#FEE2E2;border-radius:3px"></span> Nicht erwähnt</span>
      <span><span style="display:inline-block;width:12px;height:12px;background:#F3F4F6;border-radius:3px"></span> Noch nicht geprüft</span>
      <span style="margin-left:auto;color:var(--txt2)" id="aiLastCheck"></span>
    </div>

    <!-- Matrix -->
    <table class="ai-matrix" id="aiMatrix"></table>

    <!-- Info -->
    <div style="margin-top:14px;padding:10px 14px;background:#FFFBEA;border-radius:6px;font-size:11px;color:#92400E;line-height:1.6">
      <strong>💡 Wie funktioniert die Prüfung?</strong><br>
      Klick auf eine Zelle → Ergebnis eintragen. Für Perplexity wird die Frage direkt als Link geöffnet.<br>
      ChatGPT / Claude / Gemini: Frage kopieren → in das jeweilige Tool einfügen → Ergebnis hier eintragen.
    </div>
  </div>
</div>

<!-- MODAL: AI Ergebnis eintragen -->
<div class="modal-ov" id="aiMod">
  <div class="modal" style="max-width:440px">
    <h3 id="aiModTitle" style="font-size:13px;margin-bottom:12px"></h3>
    <div style="margin-bottom:10px">
      <div style="font-size:10px;color:var(--txt2);margin-bottom:4px">FRAGE</div>
      <div id="aiModQ" style="font-size:11px;padding:8px;background:var(--light2);border-radius:4px;display:flex;align-items:center;justify-content:space-between;gap:8px">
        <span id="aiModQText"></span>
        <button class="btn btn-s" style="font-size:10px;padding:2px 8px;flex-shrink:0" onclick="copyAIQuery()">📋 Kopieren</button>
      </div>
    </div>
    <div style="font-size:10px;color:var(--txt2);margin-bottom:6px">ERGEBNIS</div>
    <div style="display:flex;gap:8px;margin-bottom:12px">
      <button class="btn" id="aiBtnYes" onclick="setAIResult(true)" style="flex:1;background:#D1FAE5;color:#065F46;border:2px solid transparent">✅ Erwähnt</button>
      <button class="btn" id="aiBtnNo"  onclick="setAIResult(false)" style="flex:1;background:#FEE2E2;color:#991B1B;border:2px solid transparent">❌ Nicht erwähnt</button>
    </div>
    <div style="font-size:10px;color:var(--txt2);margin-bottom:4px">NOTIZ (optional – relevanter Textausschnitt)</div>
    <textarea id="aiModNote" placeholder="z.B. 'David Mayer Immobilien GmbH wurde als Makler in Schwachhausen empfohlen'" style="width:100%;height:60px;border:1px solid var(--brd);border-radius:4px;padding:6px;font-size:11px;resize:vertical;box-sizing:border-box"></textarea>
    <div id="aiModLink" style="margin-top:8px"></div>
    <div class="modal-btns" style="margin-top:12px">
      <button class="btn btn-s" onclick="closeAIMod()">Abbrechen</button>
      <button class="btn btn-p" onclick="saveAIResult()">Speichern</button>
    </div>
  </div>
</div>


<!-- MODAL -->
<div class="modal-ov" id="gmbMod">
  <div class="modal">
    <h3 id="modT">Position eintragen</h3>
    <input type="number" id="modIn" min="1" max="50" placeholder="Position (1–50)">
    <div class="modal-btns"><button class="btn btn-s" onclick="closeMod()">Abbrechen</button><button class="btn btn-p" onclick="saveGMB()">Speichern</button></div>
  </div>
</div>

<script>
// ──────────────────────────────────────────────────────────────────
// CONFIG
// ──────────────────────────────────────────────────────────────────
const CAMPAIGN_START = new Date('2026-06-05');
const GSC_ACCT = 'https://ihr-fairer-makler.de/';

// Parse "Mon YYYY" or "Qx YYYY" to Date
function parseDate(s) {
  if (!s) return new Date('2027-06-30');
  const months = {Jan:1,Feb:2,Mar:3,Apr:4,Mai:5,Jun:6,Jul:7,Aug:8,Sep:9,Okt:10,Nov:11,Dez:12};
  const mMatch = s.match(/^(\w+)\s+(\d{4})$/);
  if (mMatch) {
    const m = months[mMatch[1]] || 6;
    const y = +mMatch[2];
    return new Date(y, m - 1, 28); // end of month approx
  }
  const qMatch = s.match(/^Q(\d)\s+(\d{4})$/);
  if (qMatch) {
    const endMonth = +qMatch[1] * 3;
    return new Date(+qMatch[2], endMonth - 1, 28);
  }
  return new Date('2027-06-30');
}

const PAGES = [
  {url:'/',                                        kw:'immobilienmakler bremen',              publish:'Jan 2024',goal:'Aug 2026',cat:'Kern',hidePrev:true              },
  {url:'/haus-verkaufen-bremen/',                 kw:'haus in bremen verkaufen lassen',      publish:'Jun 2026',goal:'Feb 2027',cat:'Kern'},
  {url:'/immobilienbewertung-bremen/',             kw:'immobilienbewertung bremen',            publish:'Jun 2026',goal:'Feb 2027',cat:'Kern'},
  {url:'/wohnung-verkaufen-bremen/',              kw:'wohnung verkaufen',                     publish:'Jun 2026',goal:'Mär 2027',cat:'Kern'},
  {url:'/grundstueck-verkaufen-bremen/',          kw:'grundstück verkaufen bremen',           publish:'Jun 2026',goal:'Mär 2027',cat:'Kern'},
  {url:'/immobilienmakler-bremen-schwachhausen/', kw:'immobilienmakler bremen schwachhausen',kw2:'makler schwachhausen',        publish:'Jun 2026',goal:'Aug 2026',cat:'Stadtteil',hidePrev:true},
  {url:'/immobilienmakler-bremen-oberneuland/',   kw:'immobilienmakler bremen oberneuland',kw2:'makler oberneuland',          publish:'Jun 2026',goal:'Aug 2026',cat:'Stadtteil',hidePrev:true},
  {url:'/immobilienmakler-bremen-horn-lehe/',     kw:'immobilienmakler bremen horn',kw2:'makler horn-lehe',            publish:'Jun 2026',goal:'Sep 2026',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-findorff/',      kw:'immobilienmakler bremen findorff',kw2:'makler findorff',             publish:'Jun 2026',goal:'Sep 2026',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-neustadt/',      kw:'immobilienmakler bremen neustadt',kw2:'makler neustadt',             publish:'Jun 2026',goal:'Sep 2026',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-walle/',         kw:'immobilienmakler bremen walle',kw2:'makler walle',               publish:'Jun 2026',goal:'Okt 2026',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-ostertor/',      kw:'immobilienmakler bremen ostertor',kw2:'makler ostertor',            publish:'Jun 2026',goal:'Okt 2026',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-altstadt/',      kw:'immobilienmakler bremen altstadt',kw2:'makler altstadt',            publish:'Jun 2026',goal:'Okt 2026',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-vegesack/',      kw:'immobilienmakler bremen vegesack',kw2:'immobilienmakler vegesack',            publish:'Jun 2026',goal:'Nov 2026',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-borgfeld/',      kw:'immobilienmakler bremen borgfeld',kw2:'makler borgfeld',            publish:'Jun 2026',goal:'Nov 2026',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-peterswerder/',  kw:'immobilienmakler bremen peterswerder',kw2:'makler peterswerder',        publish:'Jun 2026',goal:'Dez 2026',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-steintor/',      kw:'immobilienmakler bremen steintor',kw2:'makler steintor',            publish:'Jun 2026',goal:'Dez 2026',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-huchting/',     kw:'immobilienmakler bremen huchting',kw2:'makler huchting',            publish:'Jun 2026',goal:'Jan 2027',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-hemelingen/',   kw:'immobilienmakler bremen hemelingen',kw2:'makler hemelingen',          publish:'Jun 2026',goal:'Jan 2027',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-groepelingen/', kw:'immobilienmakler bremen gröpelingen',kw2:'makler gröpelingen',         publish:'Jun 2026',goal:'Feb 2027',cat:'Stadtteil'},
  {url:'/immobilienmakler-bremen-ritterhude/',          kw:'immobilienmakler ritterhude',kw2:'makler ritterhude',          publish:'Jun 2026',goal:'Aug 2026',cat:'Umland'},
  {url:'/immobilienmakler-bremen-ganderkesee/',         kw:'immobilienmakler ganderkesee',kw2:'makler ganderkesee',         publish:'Jun 2026',goal:'Aug 2026',cat:'Umland'},
  {url:'/immobilienmakler-bremen-verden/',              kw:'immobilienmakler verden',kw2:'makler verden',              publish:'Jun 2026',goal:'Aug 2026',cat:'Umland'},
  {url:'/immobilienmakler-bremen-osterholz-scharmbeck/',kw:'immobilienmakler osterholz-scharmbeck',kw2:'makler osterholz',publish:'Jun 2026',goal:'Sep 2026',cat:'Umland'},
  {url:'/immobilienmakler-lilienthal/',           kw:'immobilienmakler lilienthal',kw2:'makler lilienthal',          publish:'Jun 2026',goal:'Aug 2026',cat:'Umland'},
  {url:'/immobilienmakler-weyhe/',               kw:'immobilienmakler weyhe',kw2:'makler weyhe',               publish:'Jun 2026',goal:'Aug 2026',cat:'Umland'},
  {url:'/immobilienmakler-oyten/',               kw:'immobilienmakler oyten',kw2:'makler oyten',               publish:'Jun 2026',goal:'Sep 2026',cat:'Umland'},
  {url:'/immobilienmakler-stuhr/',               kw:'immobilienmakler stuhr',kw2:'makler stuhr',               publish:'Jun 2026',goal:'Sep 2026',cat:'Umland'},
  {url:'/immobilienmakler-achim/',               kw:'immobilienmakler achim',kw2:'makler achim',               publish:'Jun 2026',goal:'Sep 2026',cat:'Umland'},
  {url:'/haus-geerbt-was-tun-bremen/',            kw:'haus geerbt was tun',                   publish:'Jun 2026',goal:'Jan 2027',cat:'Situativ'},
  {url:'/erbschaft-immobilien-bremen/',           kw:'erbschaft immobilie verkaufen',kw2:'geerbte immobilie verkaufen',         publish:'Jun 2026',goal:'Feb 2027',cat:'Situativ'},
  {url:'/immobilienverkauf-scheidung/',           kw:'immobilie verkaufen scheidung',kw2:'haus scheidung bremen',         publish:'Jun 2026',goal:'Feb 2027',cat:'Situativ'},
  {url:'/seniorenimmobilien-bremen/',             kw:'haus verkaufen pflegeheim',             publish:'Jun 2026',goal:'Feb 2027',cat:'Situativ'},
  {url:'/blog/immobilienpreise-hemelingen-2026/',       kw:'immobilienpreise hemelingen',       publish:'Jul 2026',goal:'Nov 2026',cat:'Blog',ziel:'/immobilienmakler-bremen-hemelingen/',       note:'Tier 1 ★★★'},
  {url:'/blog/immobilien-schwachhausen-2026/',          kw:'immobilienmakler schwachhausen',    publish:'Jul 2026',goal:'Nov 2026',cat:'Blog',ziel:'/immobilienmakler-bremen-schwachhausen/',    note:'Tier 1 ★★★'},
  {url:'/blog/immobilienmarkt-horn-lehe-2026/',         kw:'immobilienpreise horn-lehe',        publish:'Jul 2026',goal:'Nov 2026',cat:'Blog',ziel:'/immobilienmakler-bremen-horn-lehe/',        note:'Tier 1 ★★★'},
  {url:'/blog/maklerkosten-bremen/',                    kw:'maklerkosten bremen',               publish:'Aug 2026',goal:'Nov 2026',cat:'Blog',ziel:'/immobilienmakler-bremen/',                  note:'Tier 1 ★★★'},
  {url:'/blog/haus-geerbt-bremen/',                     kw:'haus geerbt was tun',               publish:'Sep 2026',goal:'Dez 2026',cat:'Blog',ziel:'/haus-geerbt-was-tun-bremen/',              note:'Tier 1 ★★★'},
  {url:'/blog/spekulationssteuer-immobilien/',          kw:'spekulationssteuer immobilien',     publish:'Sep 2026',goal:'Dez 2026',cat:'Blog',ziel:'/spekulationssteuer-immobilie-bremen-wann-sie-anfaellt/', note:'Tier 1 ★★★'},
  {url:'/blog/immobilien-findorff-2026/',               kw:'immobilien findorff',               publish:'Sep 2026',goal:'Dez 2026',cat:'Blog',ziel:'/immobilienmakler-bremen-findorff/',         note:'Tier 2 ★★'},
  {url:'/blog/borgfeld-immobilienpreise-2026/',         kw:'immobilien borgfeld',               publish:'Sep 2026',goal:'Dez 2026',cat:'Blog',ziel:'/immobilienmakler-bremen-borgfeld/',         note:'Tier 2 ★★'},
  {url:'/blog/immobilie-scheidung-verkaufen/',          kw:'immobilie scheidung verkaufen',     publish:'Okt 2026',goal:'Jan 2027',cat:'Blog',ziel:'/immobilienverkauf-scheidung/',              note:'Tier 2 ★★'},
  {url:'/blog/immobilienbewertung-methoden-bremen/',    kw:'immobilienbewertung bremen',        publish:'Okt 2026',goal:'Jan 2027',cat:'Blog',ziel:'/immobilienbewertung-bremen/',               note:'Tier 2 ★★'},
  {url:'/blog/immobilien-neustadt-bremen-2026/',        kw:'immobilien neustadt bremen',        publish:'Okt 2026',goal:'Jan 2027',cat:'Blog',ziel:'/immobilienmakler-bremen-neustadt/',         note:'Tier 2 ★★'},
  {url:'/blog/immobilien-oberneuland-2026/',            kw:'immobilien oberneuland',            publish:'Okt 2026',goal:'Jan 2027',cat:'Blog',ziel:'/immobilienmakler-bremen-oberneuland/',      note:'Tier 2 ★★'},
  {url:'/blog/haus-im-alter-verkaufen-bremen/',         kw:'haus im alter verkaufen',           publish:'Nov 2026',goal:'Feb 2027',cat:'Blog',ziel:'/seniorenimmobilien-bremen/',                note:'Tier 3 ★'},
  {url:'/blog/haus-verkaufen-tipps-bremen/',            kw:'haus verkaufen tipps bremen',       publish:'Nov 2026',goal:'Feb 2027',cat:'Blog',ziel:'/haus-verkaufen-bremen/',                    note:'Tier 3 ★'},
  {url:'/blog/eigentumswohnung-verkaufen-bremen/',      kw:'eigentumswohnung verkaufen bremen', publish:'Nov 2026',goal:'Feb 2027',cat:'Blog',ziel:'/wohnung-verkaufen-bremen/',                 note:'Tier 3 ★'},
  {url:'/immobilienmakler-hamburg/',              kw:'immobilienmakler hamburg',             publish:'Jun 2026',goal:'Jun 2027', cat:'Hamburg'},
  {url:'/haus-verkaufen-hamburg/',               kw:'haus verkaufen hamburg',               publish:'Jun 2026',goal:'Mai 2027', cat:'Hamburg'},
  {url:'/wohnung-verkaufen-hamburg/',            kw:'wohnung verkaufen hamburg',            publish:'Jun 2026',goal:'Mai 2027', cat:'Hamburg'},
  {url:'/immobilienbewertung-hamburg/',           kw:'immobilienbewertung hamburg',           publish:'Jun 2026',goal:'Apr 2027', cat:'Hamburg'},
  {url:'https://ihr-fairer-makler-andernach.de/', kw:'immobilienmakler andernach',   publish:'Jul 2026',goal:'Dez 2026',cat:'Andernach',note:'Ziel: Pos 1 bis Dez 2026'},
  {url:'https://ihr-fairer-makler-andernach.de/immobilienbewertung-andernach/', kw:'immobilienbewertung andernach', publish:'Jul 2026',goal:'Dez 2026',cat:'Andernach',note:'Ziel: Pos 1 bis Dez 2026'},
  {url:'https://ihr-fairer-makler-andernach.de/haus-verkaufen-andernach/', kw:'haus verkaufen andernach',      publish:'Jul 2026',goal:'Dez 2026',cat:'Andernach',note:'Ziel: Pos 1 bis Dez 2026'},
];
// GMB Grid – 8×4 = 32 Suchanfragen "Immobilienmakler [Stadtteil/Query]"
// c:true = Priorität / Fokus-Stadtteil
const GMB_D = [
  {n:'Makler Bremen',    c:true },{n:'Haus verk.',       c:true },{n:'Wohnung verk.',  c:true },{n:'Immo.bewertung', c:true },
  {n:'Grundstück verk.', c:false},{n:'Gewerbeimmo.',    c:false},{n:'Seniorenimmo.',  c:false},{n:'Erbschaft Immo.',c:false},
  {n:'Schwachhausen',   c:true },{n:'Oberneuland',      c:true },{n:'Horn-Lehe',      c:true },{n:'Findorff',       c:true },
  {n:'Neustadt',        c:true },{n:'Walle',            c:true },{n:'Ostertor',       c:true },{n:'Altstadt',       c:true },
  {n:'Vegesack',        c:true },{n:'Borgfeld',         c:true },{n:'Peterswerder',   c:true },{n:'Steintor',       c:true },
  {n:'Huchting',        c:true },{n:'Hemelingen',       c:true },{n:'Gröpelingen',    c:true },{n:'Vahr',           c:false},
  {n:'Blumenthal',      c:false},{n:'Burglesum',        c:false},{n:'Hastedt',        c:false},{n:'Strom-Nord',     c:false},
  {n:'Lehe',            c:false},{n:'Mahndorf',         c:false},{n:'Arsten',         c:false},{n:'Kattenturm',     c:false},
];
// Screenshot Local Falcon 11.06.2026 – "immobilienmakler bremen"
// Kein Trend-Vergleich aktiv (PREV = DEFAULT)
const GMB_PREV = {0:50,1:50,2:50,3:50,4:50,5:9,6:50,7:50,8:9,9:50,10:50,11:5,12:3,13:50,14:2,15:50,16:50,17:8,18:5,19:5,20:50,21:50,22:50,23:50,24:50,25:8,26:1,27:50,28:50,29:50,30:50,31:50};
// Snapshot 02.07.2026 – Suche: "Immobilienmakler [Stadtteil]"
const GMB_DEFAULT = {0:50,1:50,2:50,3:50,4:50,5:9,6:50,7:50,8:9,9:50,10:50,11:5,12:3,13:50,14:2,15:50,16:50,17:8,18:5,19:5,20:50,21:50,22:50,23:50,24:50,25:8,26:1,27:50,28:50,29:50,30:50,31:50};



// ── AI SICHTBARKEIT DEFAULT (Stand: noch nicht geprüft) ──────────
const AI_QUERIES = [
  {id:'q1', q:'Welche Immobilienmakler gibt es in Bremen?',                       short:'Makler in Bremen'},
  {id:'q2', q:'Wer ist der beste Immobilienmakler in Bremen?',                    short:'Bester Makler Bremen'},
  {id:'q3', q:'Haus verkaufen Bremen – welchen Makler empfiehlst du?',            short:'Haus verkaufen Bremen'},
  {id:'q4', q:'Immobilienmakler Bremen günstige Provision / fairer Makler',       short:'Günstige Provision'},
  {id:'q5', q:'Wohnung verkaufen Bremen – welcher Makler?',                       short:'Wohnung verkaufen Bremen'},
  {id:'q6', q:'Immobilienbewertung Bremen kostenlos – wer bietet das an?',        short:'Immobilienbewertung'},
  {id:'q7', q:'Immobilienmakler Schwachhausen Bremen Empfehlung',                 short:'Makler Schwachhausen'},
];
const AI_LLMS = [
  {id:'chatgpt',    name:'ChatGPT',    color:'#74AA9C', url:'https://chat.openai.com/'},
  {id:'claude',     name:'Claude',     color:'#D97707', url:'https://claude.ai/new'},
  {id:'gemini',     name:'Gemini',     color:'#4285F4', url:'https://gemini.google.com/app'},
  {id:'perplexity', name:'Perplexity', color:'#5B6EEC', url:'https://www.perplexity.ai/?q='},
];
// Results: {llmId: {qId: {result: true/false/null, note:'...', date:''}}}
const AI_BAKED = {"perplexity":{"q1":{"result":false,"note":"Engel & Völkers, THOM, EOH, Heid, Bremobilien – keine Erwähnung","date":"07.07.2026"},"q2":{"result":false,"note":"HB-HB, Michael Butt, Von Poll – generische Ratschläge, keine Erwähnung","date":"07.07.2026"},"q3":{"result":false,"note":"Generische Tipps zur Maklerwahl, kein spezifischer Makler empfohlen","date":"07.07.2026"},"q4":{"result":false,"note":"Nur generische Infos zur Provision (4–7%), kein Makler namentlich – vorher (11.06) war IFM der einzige Treffer","date":"07.07.2026"},"q5":{"result":false,"note":"HB-HB, Michael Butt, Stripling, Schichtel & Partner – keine Erwähnung","date":"07.07.2026"},"q6":{"result":false,"note":"Nur generische Anbieter-Typen, keine konkreten Namen","date":"07.07.2026"},"q7":{"result":false,"note":"Generische Empfehlungstipps, kein Makler konkret genannt","date":"07.07.2026"}},"chatgpt":{"q1":{"result":true,"note":"A/B-Test: Reaktion 2 enthält IFM – Schichtel, Haubner, Stripling, IFM, E&V, Bremobilien","date":"07.07.2026"},"q2":{"result":false,"note":"Schichtel & Partner, Haubner Group, Florian Wellmann, Stripling, geo select, Engel & Völkers","date":"07.07.2026"},"q3":{"result":false,"note":"Schichtel & Partner, Haubner Group, Florian Wellmann, Stripling, geo select, HB-HB","date":"07.07.2026"},"q4":{"result":true,"note":"IFM erster Treffer, 5,0★ – Robert Littmann, Bremobilien, Stripling, Schichtel folgen","date":"07.07.2026"},"q5":{"result":true,"note":"Schichtel, Haubner, Wellmann, IFM (4.), Stripling, geo select, EOH","date":"07.07.2026"},"q6":{"result":true,"note":"Schichtel, Bremobilien, Haubner, IFM erscheint – Mein Guter Makler, Immovistas","date":"07.07.2026"},"q7":{"result":null,"note":"Rate Limit – kein Response erhalten","date":"07.07.2026"}},"gemini":{"q1":{"result":null,"note":"Gemini erfordert Google-Login im Browser – noch nicht geprüft","date":""},"q2":{"result":null,"note":"Gemini erfordert Google-Login im Browser – noch nicht geprüft","date":""},"q3":{"result":null,"note":"Gemini erfordert Google-Login im Browser – noch nicht geprüft","date":""},"q4":{"result":null,"note":"Gemini erfordert Google-Login im Browser – noch nicht geprüft","date":""},"q5":{"result":null,"note":"Gemini erfordert Google-Login im Browser – noch nicht geprüft","date":""},"q6":{"result":null,"note":"Gemini erfordert Google-Login im Browser – noch nicht geprüft","date":""},"q7":{"result":null,"note":"Gemini erfordert Google-Login im Browser – noch nicht geprüft","date":""}},"claude":{"q1":{"result":false,"note":"WebSearch 07.07: HBI, DAHLER, HB-HB, Röpke & Behring, Haubner – kein IFM (vorher Jun 11: Google Maps Position 6)","date":"07.07.2026"},"q2":{"result":false,"note":"WebSearch 07.07: HBI, Hechler & Twachtmann, Immobilien Weser Kurier – kein IFM in Ranking (vorher Jun 11: Maps-Liste)","date":"07.07.2026"},"q3":{"result":false,"note":"Von Poll, HB-HB, Hechler & Twachtmann, Breitenbach, Röpke & Behring – kein IFM","date":"07.07.2026"},"q4":{"result":true,"note":"IFM prominent: 1,5% Provision, 50% vom Marktpreis – mehrere Listings (ihr-fairer-makler.de)","date":"07.07.2026"},"q5":{"result":false,"note":"Hechler & Twachtmann, HB-HB, Stripling, Von Poll, Bremobilien – kein IFM","date":"07.07.2026"},"q6":{"result":false,"note":"geo select, Burak Dilek, Wellmann, Stripling, immowelt, Von Poll – kein IFM","date":"07.07.2026"},"q7":{"result":true,"note":"ihr-fairer-makler.de/immobilienmakler-bremen-schwachhausen/ in Suchergebnissen – Stripling, Schmidt, HB-HB, Von Poll, IFM","date":"07.07.2026"}}};
let aiData = {...AI_BAKED, ...JSON.parse(localStorage.getItem('ifmAI') || '{}')};
// Merge per-llm per-query (localStorage overrides baked defaults)
for (const llm of Object.keys(AI_BAKED)) {
  if (!aiData[llm]) aiData[llm] = {};
  for (const q of Object.keys(AI_BAKED[llm])) {
    if (!JSON.parse(localStorage.getItem('ifmAI') || '{}')[llm]?.[q]) {
      aiData[llm][q] = AI_BAKED[llm][q];
    }
  }
}

// ── BAKED-IN DEFAULT DATA (Stand: Jul 2026 – aktualisiert 06.07.2026) ──────
const DEFAULT_PAGES = [{"slug": "/", "clicks": 262, "impressions": 8593, "position": 10.9013}, {"slug": "/immobilienmakler-bremen/", "clicks": 10, "impressions": 1120, "position": 11.5214}, {"slug": "/bewertung/", "clicks": 2, "impressions": 538, "position": 8.5892}, {"slug": "/blog/", "clicks": 2, "impressions": 216, "position": 4.4907}, {"slug": "/datenschutz/", "clicks": 2, "impressions": 99, "position": 5.3838}, {"slug": "/immobilienmakler-bremen-ostertor/", "clicks": 2, "impressions": 222, "position": 3.2252}, {"slug": "/kontakt/", "clicks": 2, "impressions": 349, "position": 2.3095}, {"slug": "/grundstueck-verkaufen-bremen/", "clicks": 1, "impressions": 45, "position": 12.0}, {"slug": "/immobilienmakler-bremen-groepelingen/", "clicks": 1, "impressions": 299, "position": 9.8629}, {"slug": "/immobilienmakler-bremen-huchting/", "clicks": 1, "impressions": 56, "position": 13.5}, {"slug": "/immobilienmakler-bremen-schwachhausen/", "clicks": 1, "impressions": 210, "position": 21.8571}, {"slug": "/immobilienmakler-bremen-stuhr/", "clicks": 1, "impressions": 56, "position": 19.8393}, {"slug": "/immobilienmakler-ganderkesee/", "clicks": 1, "impressions": 47, "position": 23.8723}, {"slug": "/immobilienmakler-hamburg/", "clicks": 1, "impressions": 5, "position": 33.8}, {"slug": "/immobilienmakler-in-bremen/", "clicks": 1, "impressions": 121, "position": 21.4628}, {"slug": "/bewertung-alt/", "clicks": 0, "impressions": 7, "position": 14.8571}, {"slug": "/cookie-richtlinie-eu/", "clicks": 0, "impressions": 15, "position": 3.4}, {"slug": "/haus-geerbt-was-tun-bremen/", "clicks": 0, "impressions": 4, "position": 5.0}, {"slug": "/haus-verkaufen-bremen-2/", "clicks": 0, "impressions": 6, "position": 8.5}, {"slug": "/haus-verkaufen-bremen/", "clicks": 0, "impressions": 22, "position": 8.7273}, {"slug": "/haus-verkaufen-hamburg/", "clicks": 0, "impressions": 2, "position": 1.5}, {"slug": "/immobilienbewertung-bremen/", "clicks": 0, "impressions": 110, "position": 19.3273}, {"slug": "/immobilienbewertung-hamburg/", "clicks": 0, "impressions": 50, "position": 34.18}, {"slug": "/immobilienmakler-achim/", "clicks": 0, "impressions": 14, "position": 21.4286}, {"slug": "/immobilienmakler-bremen-achim/", "clicks": 0, "impressions": 21, "position": 12.9048}, {"slug": "/immobilienmakler-bremen-altstadt/", "clicks": 0, "impressions": 60, "position": 3.8833}, {"slug": "/immobilienmakler-bremen-borgfeld/", "clicks": 0, "impressions": 102, "position": 23.5784}, {"slug": "/immobilienmakler-bremen-buergerpark/", "clicks": 0, "impressions": 49, "position": 4.3061}, {"slug": "/immobilienmakler-bremen-findorff/", "clicks": 0, "impressions": 30, "position": 9.9333}, {"slug": "/immobilienmakler-bremen-ganderkesee/", "clicks": 0, "impressions": 9, "position": 24.5556}, {"slug": "/immobilienmakler-bremen-hemelingen/", "clicks": 0, "impressions": 302, "position": 10.8841}, {"slug": "/immobilienmakler-bremen-horn-lehe/", "clicks": 0, "impressions": 31, "position": 17.2903}, {"slug": "/immobilienmakler-bremen-lilienthal/", "clicks": 0, "impressions": 37, "position": 17.6216}, {"slug": "/immobilienmakler-bremen-neu-schwachhausen/", "clicks": 0, "impressions": 247, "position": 11.7895}, {"slug": "/immobilienmakler-bremen-neustadt/", "clicks": 0, "impressions": 113, "position": 14.4513}, {"slug": "/immobilienmakler-bremen-oberneuland/", "clicks": 0, "impressions": 15, "position": 18.1333}, {"slug": "/immobilienmakler-bremen-osterholz-scharmbeck/", "clicks": 0, "impressions": 55, "position": 28.3636}, {"slug": "/immobilienmakler-bremen-oyten/", "clicks": 0, "impressions": 21, "position": 19.381}, {"slug": "/immobilienmakler-bremen-peterswerder/", "clicks": 0, "impressions": 17, "position": 6.5882}, {"slug": "/immobilienmakler-bremen-ritterhude/", "clicks": 0, "impressions": 7, "position": 12.7143}, {"slug": "/immobilienmakler-bremen-sebaldsbrueck/", "clicks": 0, "impressions": 2, "position": 6.5}, {"slug": "/immobilienmakler-bremen-steintor/", "clicks": 0, "impressions": 31, "position": 6.129}, {"slug": "/immobilienmakler-bremen-vegesack/", "clicks": 0, "impressions": 6, "position": 9.6667}, {"slug": "/immobilienmakler-bremen-verden/", "clicks": 0, "impressions": 31, "position": 30.5484}, {"slug": "/immobilienmakler-bremen-walle/", "clicks": 0, "impressions": 2, "position": 13.0}, {"slug": "/immobilienmakler-bremen-weyhe/", "clicks": 0, "impressions": 61, "position": 15.5574}, {"slug": "/immobilienmakler-lilienthal/", "clicks": 0, "impressions": 6, "position": 27.0}, {"slug": "/immobilienmakler-osterholz-scharmbeck/", "clicks": 0, "impressions": 74, "position": 30.3378}, {"slug": "/immobilienmakler-ritterhude/", "clicks": 0, "impressions": 54, "position": 15.8889}, {"slug": "/immobilienmakler-stuhr/", "clicks": 0, "impressions": 12, "position": 17.8333}, {"slug": "/immobilienmakler-verden/", "clicks": 0, "impressions": 53, "position": 29.1132}, {"slug": "/immobilienmakler-weyhe/", "clicks": 0, "impressions": 52, "position": 12.2115}, {"slug": "/immobilienverkauf-scheidung/", "clicks": 0, "impressions": 8, "position": 12.5}, {"slug": "/seniorenimmobilien-bremen/", "clicks": 0, "impressions": 21, "position": 37.619}, {"slug": "/spekulationssteuer-immobilie-bremen-wann-sie-anfaellt/", "clicks": 0, "impressions": 2, "position": 5.5}, {"slug": "/wohnung-verkaufen-bremen-tipps-ablauf-und-wichtige-hinweise/", "clicks": 0, "impressions": 104, "position": 9.3365}, {"slug": "/wohnung-verkaufen-bremen/", "clicks": 0, "impressions": 138, "position": 25.0435}, {"slug": "/wohnung-verkaufen-hamburg/", "clicks": 0, "impressions": 15, "position": 21.3333}];
const DEFAULT_PAGES_M1 = [{"slug": "/", "clicks": 137, "impressions": 5344, "position": 12.7536}, {"slug": "/kontakt/", "clicks": 2, "impressions": 188, "position": 1.8723}, {"slug": "/immobilienmakler-bremen-neu-schwachhausen/", "clicks": 1, "impressions": 166, "position": 12.735}, {"slug": "/immobilienmakler-bremen-ostertor/", "clicks": 1, "impressions": 56, "position": 2.6429}, {"slug": "/immobilienmakler-bremen/", "clicks": 1, "impressions": 494, "position": 11.4858}, {"slug": "/bewertung/", "clicks": 0, "impressions": 356, "position": 12.9185}, {"slug": "/blog/", "clicks": 0, "impressions": 143, "position": 2.7902}, {"slug": "/cookie-richtlinie-eu/", "clicks": 0, "impressions": 6, "position": 23.5}, {"slug": "/datenschutz/", "clicks": 0, "impressions": 66, "position": 3.3182}, {"slug": "/haus-verkaufen-bremen/", "clicks": 0, "impressions": 21, "position": 15.5238}, {"slug": "/immobilienmakler-bremen-altstadt/", "clicks": 0, "impressions": 49, "position": 4.3265}, {"slug": "/immobilienmakler-bremen-buergerpark/", "clicks": 0, "impressions": 61, "position": 4.2295}, {"slug": "/immobilienmakler-bremen-findorff/", "clicks": 0, "impressions": 46, "position": 14.3478}, {"slug": "/immobilienmakler-bremen-oberneuland/", "clicks": 0, "impressions": 61, "position": 8.9344}, {"slug": "/immobilienmakler-bremen-peterswerder/", "clicks": 0, "impressions": 7, "position": 10.7143}, {"slug": "/immobilienmakler-bremen-schwachhausen/", "clicks": 0, "impressions": 100, "position": 21.87}, {"slug": "/immobilienmakler-bremen-sebaldsbrueck/", "clicks": 0, "impressions": 5, "position": 10.0}, {"slug": "/immobilienmakler-bremen-steintor/", "clicks": 0, "impressions": 61, "position": 2.3607}, {"slug": "/immobilienmakler-bremen-vegesack/", "clicks": 0, "impressions": 2, "position": 10.0}, {"slug": "/immobilienmakler-bremen-walle/", "clicks": 0, "impressions": 5, "position": 11.6}, {"slug": "/maklerprovision-ueberblick/", "clicks": 0, "impressions": 15, "position": 45.2667}, {"slug": "/wohnung-verkaufen-bremen-tipps-ablauf-und-wichtige-hinweise/", "clicks": 0, "impressions": 19, "position": 18.4737}];
const DEFAULT_PAGES_M2 = [{"slug":"/","clicks":353,"impressions":7279,"position":11.3473},{"slug":"/immobilienmakler-bremen/","clicks":7,"impressions":528,"position":8.0587},{"slug":"/kontakt/","clicks":7,"impressions":405,"position":2.242},{"slug":"/maklerprovision-ueberblick/","clicks":4,"impressions":4953,"position":26.9895},{"slug":"/immobilienmakler-bremen-buergerpark/","clicks":2,"impressions":107,"position":5.6262},{"slug":"/immobilienmakler-bremen-ostertor/","clicks":2,"impressions":339,"position":2.3481},{"slug":"/immobilienmakler-bremen-schwachhausen/","clicks":2,"impressions":165,"position":18.3818},{"slug":"/bewertung/","clicks":1,"impressions":360,"position":2.8111},{"slug":"/datenschutz/","clicks":1,"impressions":59,"position":7.3898},{"slug":"/haus-verkaufen-bremen/","clicks":1,"impressions":54,"position":20.963},{"slug":"/immobilienmakler-bremen-oberneuland/","clicks":1,"impressions":49,"position":11.2041},{"slug":"/immobilienmakler-bremen-steintor/","clicks":1,"impressions":125,"position":3.968},{"slug":"/blog/","clicks":0,"impressions":125,"position":4.792},{"slug":"/cookie-richtlinie-eu/","clicks":0,"impressions":25,"position":7.36},{"slug":"/immobilie-bewerten-lassen-bremen/","clicks":0,"impressions":10,"position":24.2},{"slug":"/immobilienmakler-bremen-altstadt-2/","clicks":0,"impressions":14,"position":7.2857},{"slug":"/immobilienmakler-bremen-altstadt/","clicks":0,"impressions":205,"position":3.7463},{"slug":"/immobilienmakler-bremen-findorff/","clicks":0,"impressions":64,"position":8.9063},{"slug":"/immobilienmakler-bremen-neu-schwachhausen/","clicks":0,"impressions":124,"position":17.25},{"slug":"/immobilienmakler-bremen-peterswerder/","clicks":0,"impressions":77,"position":3.8571},{"slug":"/immobilienmakler-bremen-sebaldsbrueck/","clicks":0,"impressions":37,"position":9.1351},{"slug":"/immobilienmakler-bremen-vegesack/","clicks":0,"impressions":68,"position":11.3382},{"slug":"/immobilienmakler-bremen-walle/","clicks":0,"impressions":79,"position":7.9241},{"slug":"/kosten-immobilienmakler-bremen/","clicks":0,"impressions":1,"position":7.0},{"slug":"/spekulationssteuer-immobilie-bremen-wann-sie-anfaellt/","clicks":0,"impressions":1,"position":4.0},{"slug":"/wohnung-verkaufen-bremen-tipps-ablauf-und-wichtige-hinweise/","clicks":0,"impressions":9,"position":12.0}];
const DEFAULT_KW = [{"q":"makler bremen","imp":726,"clicks":10,"pos":7.42},{"q":"immobilienmakler in bremen","imp":86,"clicks":0,"pos":9.99},{"q":"immobilienentwicklung bremen","imp":84,"clicks":0,"pos":9.87},{"q":"immobilienpreise gröpelingen","imp":201,"clicks":0,"pos":9.67},{"q":"haus verkaufen ablauf bremen","imp":89,"clicks":0,"pos":8.89},{"q":"makler für immobilien","imp":64,"clicks":0,"pos":6.97},{"q":"haus verkaufen makler bremen","imp":63,"clicks":0,"pos":5.57},{"q":"immobilien","imp":45,"clicks":0,"pos":8.2},{"q":"makler bremen mietwohnungen","imp":49,"clicks":2,"pos":7.78},{"q":"makler in bremen","imp":104,"clicks":3,"pos":5.33},{"q":"immobilien bremen","imp":34,"clicks":2,"pos":8.15},{"q":"makler immobilienmakler","imp":39,"clicks":0,"pos":6.74},{"q":"makler findorff","imp":37,"clicks":0,"pos":6.68},{"q":"makler vermietung bremen","imp":37,"clicks":0,"pos":6.65},{"q":"makler vahr","imp":35,"clicks":0,"pos":8.63},{"q":"makler bremen mitte","imp":35,"clicks":0,"pos":3.71},{"q":"makler bremen bewertungen","imp":34,"clicks":0,"pos":3.71},{"q":"makler viertel bremen","imp":35,"clicks":0,"pos":2.0},{"q":"makler hemelingen","imp":35,"clicks":0,"pos":7.46},{"q":"immobilien fesenfeld bremen","imp":31,"clicks":0,"pos":8.26},{"q":"immobilienmakler bremen telefon","imp":34,"clicks":0,"pos":5.62},{"q":"makler gröpelingen","imp":23,"clicks":0,"pos":8.26},{"q":"ihr immobilienmakler","imp":22,"clicks":0,"pos":9.09},{"q":"wohnungsmakler bremen","imp":15,"clicks":0,"pos":7.8},{"q":"makler in schwachhausen","imp":12,"clicks":0,"pos":7.92},{"q":"immobilienberater in bremen","imp":17,"clicks":0,"pos":9.12},{"q":"markler bremen","imp":16,"clicks":0,"pos":3.38},{"q":"markler","imp":17,"clicks":0,"pos":3.24},{"q":"makler für mietwohnungen","imp":6,"clicks":1,"pos":2.33},{"q":"immobilienagentur","imp":5,"clicks":0,"pos":2.2}];
const DEFAULT_KW_MAP_P1 = {'/':[{q:'immobilienmakler bremen',imp:1639,clicks:3,pos:12.0},{q:'makler bremen',imp:709,clicks:10,pos:6.4},{q:'immobilie verkaufen bremen',imp:363,clicks:0,pos:12.4},{q:'makler',imp:114,clicks:0,pos:7.8},{q:'ihr fairer makler',imp:109,clicks:43,pos:1.1},{q:'makler in bremen',imp:104,clicks:3,pos:5.3},{q:'immobilienberater bremen',imp:86,clicks:0,pos:16.7},{q:'immobilienmakler in bremen',imp:86,clicks:0,pos:10.3},{q:'immobilienentwicklung bremen',imp:84,clicks:0,pos:9.9},{q:'immobilien makler bremen',imp:76,clicks:1,pos:16.4},{q:'maklerprovision bremen',imp:73,clicks:0,pos:37.6},{q:'immobilienmakler bremen schwachhausen',imp:72,clicks:0,pos:8.4},{q:'immobilienbüro bremen',imp:65,clicks:0,pos:19.6},{q:'makler für immobilien',imp:64,clicks:0,pos:7.0},{q:'haus verkaufen makler bremen',imp:63,clicks:0,pos:5.6},{q:'bremen immobilienmakler',imp:61,clicks:2,pos:10.5},{q:'immobilienwert bremen',imp:51,clicks:0,pos:10.6},{q:'makler bremen mietwohnungen',imp:49,clicks:2,pos:7.8},{q:'immobilienmakler',imp:47,clicks:0,pos:10.4},{q:'freier makler',imp:45,clicks:0,pos:45.5},{q:'immobilien',imp:45,clicks:0,pos:8.2},{q:'makler schwachhausen',imp:45,clicks:0,pos:8.4},{q:'makler in der nähe',imp:43,clicks:2,pos:32.3},{q:'makler neustadt bremen',imp:42,clicks:0,pos:11.7},{q:'bremen makler',imp:41,clicks:0,pos:8.4},{q:'ihr fairer makler - immobilienmakler bremen',imp:39,clicks:13,pos:1.3},{q:'makler vermietung bremen',imp:37,clicks:0,pos:6.6},{q:'makler findorff',imp:36,clicks:0,pos:6.7},{q:'makler immobilienmakler',imp:36,clicks:0,pos:2.7},{q:'makler bremen mitte',imp:35,clicks:0,pos:3.7},{q:'makler hemelingen',imp:35,clicks:0,pos:8.3},{q:'makler vahr',imp:35,clicks:0,pos:8.6},{q:'makler viertel bremen',imp:35,clicks:0,pos:2.0},{q:'immobilien bremen',imp:34,clicks:2,pos:8.1},{q:'immobilienberater horn-lehe',imp:34,clicks:0,pos:21.6},{q:'immobilienmakler bremen telefon',imp:34,clicks:0,pos:5.6},{q:'makler walle',imp:34,clicks:0,pos:13.1},{q:'günstiger makler',imp:33,clicks:0,pos:16.7},{q:'makler obervieland',imp:33,clicks:0,pos:14.2},{q:'immobilienmakler schwachhausen',imp:32,clicks:1,pos:13.9},{q:'immobilien fesenfeld bremen',imp:31,clicks:0,pos:8.3},{q:'immobilienmakler bremen horn-lehe',imp:28,clicks:0,pos:21.8},{q:'maklerbüro bremen',imp:28,clicks:0,pos:23.5},{q:'beste immobilienvermittler bremen',imp:27,clicks:0,pos:10.5},{q:'immobilienberater schwachhausen',imp:27,clicks:0,pos:12.4},{q:'günstiger immobilienmakler',imp:26,clicks:0,pos:20.7},{q:'ihr fairer makler bremen',imp:26,clicks:8,pos:1.1},{q:'makler immobilien bremen',imp:26,clicks:0,pos:10.3},{q:'fairer makler',imp:25,clicks:12,pos:1.1},{q:'makler oberneuland',imp:24,clicks:0,pos:19.0},{q:'ihr fairer makler hamburg',imp:23,clicks:8,pos:1.1},{q:'immobilienmakler bremen neustadt',imp:22,clicks:0,pos:19.0},{q:'makler bremen bewertungen',imp:22,clicks:0,pos:4.0},{q:'günstige makler',imp:21,clicks:0,pos:14.5},{q:'makler borgfeld',imp:21,clicks:0,pos:17.4},{q:'website fџr immobilienmakler',imp:20,clicks:0,pos:9.9},{q:'ihr immobilienmakler',imp:19,clicks:0,pos:6.5},{q:'immobilienmakler bremen horn',imp:19,clicks:0,pos:17.5},{q:'fairer makler bremen',imp:18,clicks:11,pos:1.0},{q:'haus verkaufen makler',imp:18,clicks:0,pos:15.1},{q:'bremer immobilienmakler',imp:17,clicks:0,pos:17.1},{q:'immobilienberater in bremen',imp:17,clicks:0,pos:9.1},{q:'immobilienmakler bremen walle',imp:17,clicks:0,pos:16.2},{q:'markler',imp:17,clicks:0,pos:3.2},{q:'immobilien bremen makler',imp:16,clicks:0,pos:12.8},{q:'markler bremen',imp:16,clicks:0,pos:3.4},{q:'fair immobilien bremen',imp:15,clicks:0,pos:6.4},{q:'immobilien verkaufen bremen',imp:15,clicks:0,pos:19.5},{q:'immobilienmakler bremen borgfeld',imp:15,clicks:0,pos:17.9},{q:'makler bremen schwachhausen',imp:15,clicks:0,pos:6.0},{q:'wo kann ich in bremen meine immobilie verkaufen lassen?',imp:15,clicks:0,pos:11.8},{q:'wohnungsmakler bremen',imp:15,clicks:0,pos:7.8},{q:'immobilie verkaufen bremen schwachhausen',imp:14,clicks:0,pos:19.5},{q:'immobilienberater bremen schwachhausen',imp:14,clicks:0,pos:12.9},{q:'immobilienbewertung bremen',imp:13,clicks:0,pos:23.3},{q:'real estate investing',imp:13,clicks:0,pos:10.2},{q:'immobilienmakler bremen oberneuland',imp:12,clicks:0,pos:44.0},{q:'fair und freundlich',imp:11,clicks:0,pos:27.0},{q:'immobilienmakler büro bremen',imp:11,clicks:0,pos:10.1},{q:'immobilienmarkler bremen',imp:11,clicks:1,pos:6.7},{q:'makler in schwachhausen',imp:11,clicks:0,pos:7.5},{q:'die verkaufsmakler',imp:10,clicks:0,pos:43.9},{q:'immobilienangebote',imp:10,clicks:0,pos:8.5},{q:'seriöse makler',imp:10,clicks:0,pos:9.9},{q:'david mayer immobilien gmbh',imp:9,clicks:0,pos:1.4},{q:'gewerbeimmobilienmakler bremen',imp:9,clicks:0,pos:17.8},{q:'immobilien vermittler',imp:9,clicks:0,pos:6.9},{q:'wohnung mieten',imp:9,clicks:0,pos:10.3},{q:'bester makler',imp:8,clicks:0,pos:5.9},{q:'family office bremen',imp:8,clicks:0,pos:82.8},{q:'immobilien makler in bremen',imp:8,clicks:0,pos:10.2},{q:'immobilienmakler bremen faq',imp:8,clicks:0,pos:11.1},{q:'immobilienverkauf',imp:8,clicks:0,pos:5.1},{q:'makler ohne provision',imp:8,clicks:0,pos:9.9},{q:'bremer makler',imp:7,clicks:0,pos:25.6},{q:'ihr makler',imp:7,clicks:0,pos:3.0},{q:'immo',imp:7,clicks:0,pos:7.4},{q:'immobilie bremen',imp:7,clicks:0,pos:11.9},{q:'immobilie verkaufen bremen horn',imp:7,clicks:0,pos:19.6},{q:'immobilien fair und freundlich',imp:7,clicks:0,pos:22.9},{q:'immobilienmakler bremen findorff',imp:7,clicks:0,pos:21.6},{q:'makler gröpelingen',imp:7,clicks:0,pos:21.1},{q:'makler niedersachsen',imp:7,clicks:0,pos:10.6},{q:'ehrlich und fair',imp:6,clicks:0,pos:28.5},{q:'faire immobilien',imp:6,clicks:0,pos:7.3},{q:'immobilienberater',imp:6,clicks:0,pos:11.0},{q:'immobilienberater bremen horn-lehe',imp:6,clicks:0,pos:19.8},{q:'immofair',imp:6,clicks:1,pos:1.0},{q:'makler bremen nord',imp:6,clicks:0,pos:35.7},{q:'makler für mietwohnungen',imp:6,clicks:1,pos:2.3},{q:'beste makler hausverkauf bremen',imp:5,clicks:0,pos:9.6},{q:'fair makler',imp:5,clicks:0,pos:4.0},{q:'fairmakler immobilien',imp:5,clicks:0,pos:4.4},{q:'immobilienagentur',imp:5,clicks:0,pos:2.2},{q:'immobilienvermittlung bremen',imp:5,clicks:0,pos:7.6},{q:'makler finden',imp:5,clicks:0,pos:1.4},{q:'makler horn-lehe',imp:5,clicks:0,pos:16.8},{q:'zu verkaufen immobilien',imp:5,clicks:0,pos:9.6},{q:'gewerbeimmobilien',imp:4,clicks:0,pos:16.0},{q:'haus verkaufen hannover wohnung verkaufen hannover immobilien hannover immobilien bremen haus verkaufen bremen wohnung verkaufen bremen immobilienmakler hannover immobilienmakler bremen makler hannover makler bremen',imp:4,clicks:0,pos:66.5},{q:'hausverkauf',imp:4,clicks:0,pos:11.0},{q:'ihre immobilienmakler',imp:4,clicks:0,pos:18.5},{q:'immobilie',imp:4,clicks:0,pos:10.8},{q:'immobilien bremen und umgebung',imp:4,clicks:0,pos:25.2},{q:'immobilien in der nähe',imp:4,clicks:0,pos:9.0},{q:'immobilien markler',imp:4,clicks:0,pos:4.5},{q:'immobilien ohne makler',imp:4,clicks:0,pos:10.0},{q:'immobilienmakler in der nähe',imp:4,clicks:0,pos:6.2},{q:'immobilienvermittlung',imp:4,clicks:0,pos:6.0},{q:'kostenlose immobilienbewertung bremen',imp:4,clicks:0,pos:26.5},{q:'luxusimmobilien makler',imp:4,clicks:0,pos:24.2},{q:'makler bremen findorff',imp:4,clicks:0,pos:14.5},{q:'makler lilienthal',imp:4,clicks:0,pos:17.0},{q:'makler vergleichsportal',imp:4,clicks:0,pos:29.5},{q:'verkaufen und vermieten in bremen',imp:4,clicks:0,pos:19.2},{q:'wohnungsmakler',imp:4,clicks:0,pos:7.2},{q:'+internetseite +makler',imp:3,clicks:0,pos:44.0},{q:'bremen immobilien',imp:3,clicks:0,pos:15.0},{q:'fair immobilien',imp:3,clicks:0,pos:30.0},{q:'fair-makler',imp:3,clicks:0,pos:7.0},{q:'fairer',imp:3,clicks:0,pos:8.3},{q:'fairmakler',imp:3,clicks:0,pos:6.0},{q:'guten makler finden',imp:3,clicks:0,pos:5.0},{q:'hausverwaltung bremen',imp:3,clicks:0,pos:57.7},{q:'homesellfie',imp:3,clicks:0,pos:24.7},{q:'ihre makler immobilien gmbh',imp:3,clicks:0,pos:16.7},{q:'immobilen',imp:3,clicks:0,pos:10.7},{q:'immobilie verkaufen',imp:3,clicks:0,pos:7.7},{q:'immobilien fair & freundlich',imp:3,clicks:0,pos:20.0},{q:'immobilienberater bremen borgfeld',imp:3,clicks:0,pos:14.3},{q:'immobilienberater bremen horn',imp:3,clicks:0,pos:17.3},{q:'immobilienberatung',imp:3,clicks:0,pos:1.0},{q:'immobilienfirmen bremen',imp:3,clicks:0,pos:16.0},{q:'immobilienmakler borgfeld',imp:3,clicks:0,pos:12.0},{q:'immobilienmakler niedersachsen',imp:3,clicks:0,pos:15.3},{q:'makler für besondere immobilien',imp:3,clicks:0,pos:11.0},{q:'makler für hausverkauf',imp:3,clicks:0,pos:4.0},{q:'maklerin',imp:3,clicks:0,pos:5.7},{q:'mein makler',imp:3,clicks:0,pos:6.3},{q:'meyer und schliep',imp:3,clicks:0,pos:28.7},{q:'mietwohnung ohne makler',imp:3,clicks:0,pos:12.0},{q:'real estate',imp:3,clicks:0,pos:7.0},{q:'veräußerungsanzeige bremen',imp:3,clicks:0,pos:18.3},{q:'wie finde ich günstige immobilien mit einem makler?',imp:3,clicks:0,pos:13.0},{q:'wohnung mieten bremen',imp:3,clicks:0,pos:12.3},{q:'beste immobilienmakler',imp:2,clicks:0,pos:1.0},{q:'bester immobilienmakler',imp:2,clicks:0,pos:4.0},{q:'bremen vorfreude immobilien',imp:2,clicks:0,pos:4.5},{q:'christian c. meyer gmbh',imp:2,clicks:0,pos:32.0},{q:'christian meyer bremen',imp:2,clicks:0,pos:61.5},{q:'der makler',imp:2,clicks:0,pos:9.5},{q:'die makler',imp:2,clicks:0,pos:2.0},{q:'ehrlich und fair immobilien',imp:2,clicks:0,pos:26.5},{q:'er immobilien bremen',imp:2,clicks:0,pos:32.5},{q:'exklusive immobilien',imp:2,clicks:0,pos:6.0},{q:'fair finanzpartner ohg',imp:2,clicks:0,pos:41.5},{q:'fair immo',imp:2,clicks:0,pos:48.5},{q:'fair und freundlich immobilien',imp:2,clicks:0,pos:26.5},{q:'festpreismakler',imp:2,clicks:0,pos:50.0},{q:'freie makler',imp:2,clicks:0,pos:29.5},{q:'gutachter immobilien bremen',imp:2,clicks:0,pos:16.0},{q:'herres immobilien trier',imp:2,clicks:0,pos:66.0},{q:'hir immobilien',imp:2,clicks:0,pos:45.0},{q:'ich suche maklersoftware für immobilienmakler.',imp:2,clicks:0,pos:13.0},{q:'immbil',imp:2,clicks:0,pos:6.0},{q:'immobil',imp:2,clicks:0,pos:11.5},{q:'immobilie kaufen',imp:2,clicks:0,pos:6.0},{q:'immobilie verkaufen schwachhausen',imp:2,clicks:0,pos:20.5},{q:'immobilien bremen email',imp:2,clicks:0,pos:30.5},{q:'immobilien fesenfeld',imp:2,clicks:0,pos:11.0},{q:'immobilien in der nähe mieten',imp:2,clicks:0,pos:1.0},{q:'immobilien verkaufen',imp:2,clicks:0,pos:6.0},{q:'immobilien zum verkauf',imp:2,clicks:0,pos:12.5},{q:'immobilienberater borgfeld',imp:2,clicks:0,pos:12.0},{q:'immobilienberater bremen oberneuland',imp:2,clicks:0,pos:44.0},{q:'immobilienbewertung',imp:2,clicks:0,pos:6.0},{q:'immobilienfirma bremen',imp:2,clicks:0,pos:13.5},{q:'immobilienhandel',imp:2,clicks:0,pos:17.5},{q:'immobilienmakler andernach',imp:2,clicks:0,pos:1.0},{q:'immobilienmakler bremen impressum kontakt',imp:2,clicks:0,pos:16.5},{q:'immobilienmakler bremen-walle',imp:2,clicks:0,pos:14.5},{q:'immobilienmakler finden',imp:2,clicks:0,pos:4.5},{q:'immobilienmakler für mietwohnungen',imp:2,clicks:0,pos:1.0},{q:'immobilienmakler schnellkurs',imp:2,clicks:0,pos:9.5},{q:'immobilienmarkler',imp:2,clicks:0,pos:8.5},{q:'immobilienprojekte',imp:2,clicks:0,pos:16.5},{q:'immobilienunternehmen bremen',imp:2,clicks:0,pos:33.5},{q:'immobilienverkauf bremen',imp:2,clicks:0,pos:13.0},{q:'immobilienvermietung',imp:2,clicks:0,pos:6.5},{q:'luxusimmobilien bremen',imp:2,clicks:0,pos:20.5},{q:'makler immobilien',imp:2,clicks:0,pos:3.0},{q:'makler oder markler',imp:2,clicks:0,pos:2.0},{q:'maklerfrei immobilien',imp:2,clicks:0,pos:12.5},{q:'maklerfreie immobilien',imp:2,clicks:0,pos:11.5},{q:'meyer & schliep',imp:2,clicks:0,pos:38.0},{q:'meyer im hagen bremen',imp:2,clicks:0,pos:68.5},{q:'ohne makler bremen',imp:2,clicks:0,pos:5.0},{q:'preislich faire makler münchen-schwabing',imp:2,clicks:0,pos:4.5},{q:'torsten mayer immobilien',imp:2,clicks:0,pos:16.0},{q:'verkaufen ohne makler bremen',imp:2,clicks:0,pos:5.0},{q:'wohnimmobilien',imp:2,clicks:0,pos:26.5},{q:'wohnungsmakler in der nähe',imp:2,clicks:0,pos:1.0},{q:'agent',imp:1,clicks:0,pos:6.0},{q:'arkler',imp:1,clicks:0,pos:1.0},{q:'beg-immobilien gmbh fotos',imp:1,clicks:0,pos:42.0},{q:'berater statt makler',imp:1,clicks:0,pos:32.0},{q:'beste makler deutschland',imp:1,clicks:0,pos:6.0},{q:'besten immobilienmakler',imp:1,clicks:0,pos:9.0},{q:'bremen steintor wohnung',imp:1,clicks:0,pos:31.0},{q:'christian c meyer',imp:1,clicks:0,pos:59.0},{q:'dawid wilkens',imp:1,clicks:0,pos:23.0},{q:'ehrlich & fair immobilien köhler gmbh',imp:1,clicks:0,pos:25.0},{q:'eigentumswohnungen bremen',imp:1,clicks:0,pos:19.0},{q:'fair immobilien gmbh',imp:1,clicks:0,pos:30.0},{q:'fair immobilien horneburg',imp:1,clicks:0,pos:34.0},{q:'fair work gmbh bremen',imp:1,clicks:0,pos:60.0},{q:'faire immobilienberatung',imp:1,clicks:0,pos:18.0},{q:'fairimmo',imp:1,clicks:0,pos:2.0},{q:'fairplan24',imp:1,clicks:0,pos:30.0},{q:'fairwalter',imp:1,clicks:0,pos:51.0},{q:'farnaz hug',imp:1,clicks:0,pos:12.0},{q:'freier immobilienmakler',imp:1,clicks:0,pos:33.0},{q:'freyer immobilien',imp:1,clicks:0,pos:40.0},{q:'gröning und wätjen bremen',imp:1,clicks:0,pos:28.0},{q:'guter makler in der nähe',imp:1,clicks:0,pos:5.0},{q:'haus',imp:1,clicks:0,pos:1.0},{q:'hausverwaltung',imp:1,clicks:0,pos:21.0},{q:'hechler & twachtmann',imp:1,clicks:0,pos:49.0},{q:'heiko meyer wismar',imp:1,clicks:0,pos:35.0},{q:'heinz a osterloh',imp:1,clicks:0,pos:37.0},{q:'heuer bremen',imp:1,clicks:0,pos:51.0},{q:'hinrich immobilien',imp:1,clicks:0,pos:21.0},{q:'hp meyer bremen',imp:1,clicks:0,pos:49.0},{q:'ihr',imp:1,clicks:0,pos:2.0},{q:'ihr maklerhaus',imp:1,clicks:0,pos:35.0},{q:'immobiele',imp:1,clicks:0,pos:12.0},{q:'immobilie suchen',imp:1,clicks:0,pos:8.0},{q:'immobilie verkaufen bremen horn-lehe',imp:1,clicks:0,pos:36.0},{q:'immobilien am meer kaufen',imp:1,clicks:0,pos:5.0},{q:'immobilien bremen miete',imp:1,clicks:0,pos:20.0},{q:'immobilien bremen neustadt',imp:1,clicks:0,pos:17.0},{q:'immobilien fair freundlich',imp:1,clicks:0,pos:24.0},{q:'immobilien makler in der nähe',imp:1,clicks:0,pos:1.0},{q:'immobilienbüro',imp:1,clicks:0,pos:7.0},{q:'immobilienentwickler bremen',imp:1,clicks:0,pos:31.0},{q:'immobilienfirma',imp:1,clicks:0,pos:1.0},{q:'immobiliengutachten bremen',imp:1,clicks:0,pos:22.0},{q:'immobilienmakler achim',imp:1,clicks:0,pos:41.0},{q:'immobilienmakler bremen firma dienstleister',imp:1,clicks:0,pos:41.0},{q:'immobilienmakler bremen jobs',imp:1,clicks:0,pos:14.0},{q:'immobilienmakler bremen nord',imp:1,clicks:0,pos:40.0},{q:'immobilienmakler deutschland',imp:1,clicks:0,pos:1.0},{q:'immobilienmakler oberneuland',imp:1,clicks:0,pos:18.0},{q:'immobilienmakler ohne provision',imp:1,clicks:0,pos:14.0},{q:'immobilienmakler programm',imp:1,clicks:0,pos:41.0},{q:'immobilienmakler suchen',imp:1,clicks:0,pos:1.0},{q:'immobilienmakler wohnungssuche',imp:1,clicks:0,pos:2.0},{q:'immobilienmarkt',imp:1,clicks:0,pos:12.0},{q:'immobilienpreise',imp:1,clicks:0,pos:1.0},{q:'immobiliensachverständiger bremen',imp:1,clicks:0,pos:14.0},{q:'immobilienverkäufe',imp:1,clicks:0,pos:12.0},{q:'immobilienvermarktung',imp:1,clicks:0,pos:1.0},{q:'immomakler',imp:1,clicks:0,pos:1.0},{q:'imobilien',imp:1,clicks:0,pos:7.0},{q:'imobilienmakler',imp:1,clicks:0,pos:5.0},{q:'imobillie',imp:1,clicks:0,pos:13.0},{q:'international property management',imp:1,clicks:0,pos:22.0},{q:'internationale immobilienmakler',imp:1,clicks:0,pos:30.0},{q:'internationaler immobilienmakler',imp:1,clicks:0,pos:30.0},{q:'ja',imp:1,clicks:0,pos:2.0},{q:'kein makler immobilien',imp:1,clicks:0,pos:7.0},{q:'luxusimmobilien',imp:1,clicks:0,pos:11.0},{q:'mackler',imp:1,clicks:0,pos:1.0},{q:'makler brake',imp:1,clicks:0,pos:48.0},{q:'makler deutschland',imp:1,clicks:0,pos:13.0},{q:'makler freie immobilien',imp:1,clicks:0,pos:9.0},{q:'makler für gewerbeimmobilien',imp:1,clicks:0,pos:1.0},{q:'makler für hausverkauf bremen',imp:1,clicks:0,pos:9.0},{q:'makler für wohnungssuche',imp:1,clicks:0,pos:2.0},{q:'makler hausverkauf',imp:1,clicks:0,pos:4.0},{q:'makler hesel',imp:1,clicks:0,pos:38.0},{q:'makler homepages',imp:1,clicks:0,pos:31.0},{q:'makler huchting',imp:1,clicks:0,pos:21.0},{q:'makler immobilienkauf',imp:1,clicks:0,pos:55.0},{q:'makler in meiner nähe',imp:1,clicks:0,pos:95.0},{q:'makler käuferprovision',imp:1,clicks:0,pos:5.0},{q:'makler makler',imp:1,clicks:0,pos:5.0},{q:'makler programm',imp:1,clicks:0,pos:41.0},{q:'makler vor ort',imp:1,clicks:0,pos:58.0},{q:'makler wohnung mieten',imp:1,clicks:0,pos:7.0},{q:'makler wohnungssuche',imp:1,clicks:0,pos:1.0},{q:'maklerbüro',imp:1,clicks:0,pos:1.0},{q:'maklercourtage bremen',imp:1,clicks:0,pos:16.0},{q:'maklerei',imp:1,clicks:0,pos:3.0},{q:'maklergebühren bremen',imp:1,clicks:0,pos:33.0},{q:'maklergeschäfte',imp:1,clicks:0,pos:1.0},{q:'maklerunternehmen kaufen',imp:1,clicks:0,pos:9.0},{q:'mcmakler bremen',imp:1,clicks:0,pos:30.0},{q:'mein guter makler',imp:1,clicks:0,pos:30.0},{q:'mein makler standorte',imp:1,clicks:0,pos:6.0},{q:'michaela meyer bremen',imp:1,clicks:0,pos:63.0},{q:'mieten ohne makler',imp:1,clicks:0,pos:13.0},{q:'mietwohnungen',imp:1,clicks:0,pos:25.0},{q:'mskler',imp:1,clicks:0,pos:13.0},{q:'no makler',imp:1,clicks:0,pos:3.0},{q:'no makler immobilien',imp:1,clicks:0,pos:4.0},{q:'provisionsfrei immobilien verkaufen',imp:1,clicks:0,pos:12.0},{q:'ralf meyer immobilien',imp:1,clicks:0,pos:45.0},{q:'real estate agent near me',imp:1,clicks:0,pos:1.0},{q:'real estate appraiser',imp:1,clicks:0,pos:8.0},{q:'real estate immobilien',imp:1,clicks:0,pos:12.0},{q:'resl estate',imp:1,clicks:0,pos:2.0},{q:'stefan breyer immobilien e.k',imp:1,clicks:0,pos:30.0},{q:'stefan meyer immobilien',imp:1,clicks:0,pos:37.0},{q:'steffen meyer immobilien',imp:1,clicks:0,pos:60.0},{q:'verkaufen bremen',imp:1,clicks:0,pos:28.0},{q:'verzeichnis immobilien',imp:1,clicks:0,pos:13.0},{q:'was sind die besten makler für hausverkauf in bremen',imp:1,clicks:0,pos:8.0},{q:'website makler',imp:1,clicks:1,pos:1.0},{q:'weser immobilien bremen',imp:1,clicks:0,pos:29.0},{q:'weyer föhren',imp:1,clicks:0,pos:49.0},{q:'wieser immobilien',imp:1,clicks:0,pos:39.0},{q:'wohnung mieten makler',imp:1,clicks:0,pos:11.0},{q:'wohnung verkaufen bremen',imp:1,clicks:0,pos:21.0},{q:'wohnungsmarkler',imp:1,clicks:0,pos:1.0},{q:'wolf und fabig',imp:1,clicks:0,pos:42.0},{q:'имобилиен',imp:1,clicks:0,pos:4.0}],'/bewertung-alt/':[{q:'fair immobilien bremen',imp:1,clicks:0,pos:84.0},{q:'ihr fairer makler hamburg',imp:1,clicks:0,pos:2.0}],'/bewertung/':[{q:'ihr fairer makler',imp:59,clicks:0,pos:1.5},{q:'kostenlose immobilienbewertung bremen',imp:29,clicks:0,pos:11.9},{q:'immobilienbewertung bremen',imp:20,clicks:0,pos:35.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:16,clicks:0,pos:1.8},{q:'fairer makler',imp:14,clicks:0,pos:1.4},{q:'ihr fairer makler hamburg',imp:14,clicks:0,pos:1.3},{q:'makler bremen bewertungen',imp:12,clicks:0,pos:3.2},{q:'bewertung immobilie erbfall bremen',imp:10,clicks:0,pos:9.3},{q:'kostenlose immobilienbewertung hemer',imp:10,clicks:0,pos:38.5},{q:'wo kann ich eine bewertung meiner immobilie im erbfall in bremen veranlassen',imp:9,clicks:0,pos:6.9},{q:'ihr fairer makler bremen',imp:7,clicks:0,pos:1.1},{q:'wo kann ich die wertermittlung einer immobilie in bremen in auftrag geben',imp:7,clicks:0,pos:9.9},{q:'wo kann ich eine zuverlässige immobilienbewertung für eine scheidung in bremen bekommen',imp:6,clicks:0,pos:9.8},{q:'fairer makler bremen',imp:5,clicks:0,pos:1.6},{q:'haus wertermittlung bremen beauftragen',imp:5,clicks:0,pos:8.6},{q:'hausbewertung bremen',imp:5,clicks:0,pos:24.8},{q:'wo finde ich anbieter für wertermittlung von häusern in bremen',imp:5,clicks:0,pos:9.6},{q:'wo kann ich die wertermittlung für häuser in bremen in auftrag geben',imp:5,clicks:0,pos:11.2},{q:'makler bewerten',imp:3,clicks:0,pos:18.3},{q:'wo kann ich eine haus wertermittlung in bremen beauftragen',imp:2,clicks:0,pos:11.5},{q:'wo kann ich eine immobilie wertermittlung in bremen beauftragen',imp:2,clicks:0,pos:5.5},{q:'engel & völkers berlin',imp:1,clicks:0,pos:5.0},{q:'fair immobilien bremen',imp:1,clicks:0,pos:77.0},{q:'haus bewerten lassen bremen',imp:1,clicks:0,pos:29.0},{q:'hilfe beim hausverkauf',imp:1,clicks:0,pos:3.0},{q:'immobilie wertermittlung bremen beauftragen',imp:1,clicks:0,pos:6.0},{q:'immobilienmakler bruchhausen-vilsen',imp:1,clicks:0,pos:1.0},{q:'immobilienmarkt',imp:1,clicks:0,pos:3.0},{q:'makler bewertung',imp:1,clicks:0,pos:4.0},{q:'wertermittlung bremen',imp:1,clicks:0,pos:28.0},{q:'wo kann ich eine immobilienbewertung im zusammenhang mit einer erbschaft in bremen durchführen lassen',imp:1,clicks:0,pos:1.0}],'/blog/':[{q:'ihr fairer makler',imp:62,clicks:1,pos:2.1},{q:'immobilienmakler bremen faq',imp:24,clicks:0,pos:12.1},{q:'ihr fairer makler - immobilienmakler bremen',imp:9,clicks:0,pos:1.8},{q:'fairer makler bremen',imp:8,clicks:0,pos:1.9},{q:'fairer makler',imp:7,clicks:0,pos:1.7},{q:'ihr fairer makler bremen',imp:6,clicks:0,pos:1.3},{q:'haus verkaufen ablauf bremen',imp:5,clicks:0,pos:12.4},{q:'fair immobilien bremen',imp:2,clicks:0,pos:33.5}],'/cookie-richtlinie-eu/':[{q:'ihr fairer makler hamburg',imp:5,clicks:0,pos:1.2},{q:'fairer makler',imp:1,clicks:0,pos:1.0}],'/datenschutz/':[{q:'david mayer immobilien gmbh',imp:9,clicks:0,pos:7.3},{q:'fairer makler',imp:7,clicks:0,pos:1.3},{q:'ihr fairer makler hamburg',imp:7,clicks:0,pos:1.4},{q:'ihr fairer makler - immobilienmakler bremen',imp:5,clicks:0,pos:1.6},{q:'ihr fairer makler',imp:3,clicks:0,pos:1.7},{q:'fair immobilien bremen',imp:2,clicks:0,pos:79.5}],'/erbschaft-immobilien-bremen/':[{q:'geerbte immobilie verkaufen',imp:1,clicks:0,pos:67.0}],'/grundstueck-verkaufen-bremen/':[{q:'grundstück verkaufen bremen',imp:11,clicks:0,pos:11.5},{q:'bebauungspotenzial eines grundstücks ermitteln',imp:3,clicks:0,pos:13.7},{q:'ankauf von grundstücke bremen',imp:2,clicks:0,pos:28.0},{q:'bebauungspotenzial grundstück',imp:1,clicks:0,pos:28.0},{q:'verkauf',imp:1,clicks:0,pos:1.0},{q:'verkaufspreis',imp:1,clicks:0,pos:2.0}],'/haus-geerbt-was-tun-bremen/':[{q:'ihr fairer makler',imp:1,clicks:0,pos:2.0}],'/haus-verkaufen-bremen-2/':[{q:'immobilie verkaufen bremen schwachhausen',imp:4,clicks:0,pos:11.8},{q:'ihr fairer makler',imp:2,clicks:0,pos:2.0}],'/haus-verkaufen-bremen/':[{q:'haus in bremen verkaufen lassen',imp:1,clicks:0,pos:9.0},{q:'wo kann ich mein haus in bremen verkaufen lassen',imp:1,clicks:0,pos:1.0}],'/haus-verkaufen-hamburg/':[{q:'ihr fairer makler hamburg',imp:2,clicks:0,pos:2.5},{q:'beste immobilienmakler hamburg',imp:1,clicks:0,pos:32.0},{q:'bester immobilienmakler hamburg',imp:1,clicks:0,pos:37.0},{q:'ihr fairer makler',imp:1,clicks:0,pos:2.0}],'/immobilienbewertung-bremen/':[{q:'ihr fairer makler',imp:39,clicks:0,pos:2.5},{q:'ihr fairer makler bremen',imp:18,clicks:0,pos:1.6},{q:'immobilienbewertung bremen',imp:17,clicks:0,pos:59.8},{q:'kostenlose immobilienbewertung bremen',imp:17,clicks:0,pos:24.4},{q:'ihr fairer makler - immobilienmakler bremen',imp:15,clicks:0,pos:1.7},{q:'kostenlose immobilienbewertung hemer',imp:13,clicks:0,pos:70.5},{q:'fairer makler bremen',imp:9,clicks:0,pos:1.9},{q:'fairer makler',imp:7,clicks:0,pos:1.6},{q:'hausbewertung bremen',imp:5,clicks:0,pos:68.2},{q:'maklerprovision bremen',imp:3,clicks:0,pos:96.0},{q:'bremen immobilienmakler',imp:1,clicks:0,pos:1.0},{q:'fair immobilien bremen',imp:1,clicks:0,pos:61.0},{q:'immobilienbewertung in bremen',imp:1,clicks:0,pos:49.0},{q:'makler bremen',imp:1,clicks:0,pos:115.0}],'/immobilienbewertung-hamburg/':[{q:'immobilie bewerten hamburg',imp:18,clicks:0,pos:39.5},{q:'immobilienwert ermitteln hamburg',imp:17,clicks:0,pos:28.8},{q:'immobilienwert berechnen hamburg',imp:10,clicks:0,pos:33.1},{q:'immobilienbewertung wohnung hamburg',imp:9,clicks:0,pos:31.6},{q:'kostenlose immobilienbewertung hamburg',imp:9,clicks:0,pos:42.0},{q:'haus wert ermitteln hamburg',imp:8,clicks:0,pos:37.8},{q:'ermittlung immobilienwert hamburg',imp:7,clicks:0,pos:42.7},{q:'immobilienbewertung mehrfamilienhaus hamburg',imp:6,clicks:0,pos:41.0},{q:'hausbewertung hamburg',imp:4,clicks:0,pos:37.8},{q:'immobilienbewertung hamburg kostenlos',imp:4,clicks:0,pos:31.0},{q:'hausbewertung harvestehude',imp:3,clicks:0,pos:22.0},{q:'immobilienbewertung hamburg',imp:3,clicks:0,pos:51.0},{q:'maklervergleich hamburg',imp:3,clicks:0,pos:16.0},{q:'was ist meine immobilie in hamburg wert?',imp:3,clicks:0,pos:8.7},{q:'wertermittlung immobilien hamburg',imp:3,clicks:0,pos:49.7},{q:'bewertung immobilien hamburg',imp:2,clicks:0,pos:44.0},{q:'haus bewerten hamburg',imp:2,clicks:0,pos:34.0},{q:'hauswert ermitteln hamburg',imp:2,clicks:0,pos:33.5},{q:'ihr fairer makler hamburg',imp:2,clicks:0,pos:3.0},{q:'immobilienwert ermitteln# hamburg',imp:2,clicks:0,pos:26.5},{q:'verkehrswert immobilie berechnen hamburg',imp:2,clicks:0,pos:40.5},{q:'immobilien bewerten hamburg',imp:1,clicks:0,pos:32.0},{q:'immobilienbewertung einfamilienhaus hamburg',imp:1,clicks:0,pos:19.0},{q:'immobilienbewertung gewerbe hamburg',imp:1,clicks:0,pos:65.0},{q:'immobilienbewertung hamburg alstertal',imp:1,clicks:0,pos:38.0},{q:'immobilienbewertung hamburg umland',imp:1,clicks:0,pos:74.0},{q:'wertermittlung haus hamburg',imp:1,clicks:0,pos:39.0},{q:'wohnung bewerten',imp:1,clicks:0,pos:28.0}],'/immobilienmakler-achim/':[{q:'immobilienmakler achim',imp:9,clicks:0,pos:23.0},{q:'immobilienbewertung achim',imp:4,clicks:0,pos:34.8},{q:'immobilienmakler',imp:2,clicks:0,pos:12.5},{q:'makler achim',imp:2,clicks:0,pos:23.0},{q:'immobilienmarkt',imp:1,clicks:0,pos:47.0}],'/immobilienmakler-bremen-achim/':[{q:'immobilienbewertung achim',imp:2,clicks:0,pos:64.0},{q:'makler in achim',imp:2,clicks:0,pos:16.0},{q:'david mayer immobilien gmbh',imp:1,clicks:0,pos:4.0},{q:'haus achim',imp:1,clicks:0,pos:78.0},{q:'hausverwaltung achim',imp:1,clicks:0,pos:53.0},{q:'immobilienmakler achim',imp:1,clicks:0,pos:12.0},{q:'makler achim',imp:1,clicks:0,pos:13.0},{q:'maklerin',imp:1,clicks:0,pos:9.0},{q:'suche makler',imp:1,clicks:0,pos:8.0}],'/immobilienmakler-bremen-altstadt/':[{q:'ihr fairer makler',imp:19,clicks:0,pos:1.3},{q:'ihr fairer makler - immobilienmakler bremen',imp:2,clicks:0,pos:1.5},{q:'immobilienmakler stadtkern',imp:2,clicks:0,pos:45.5},{q:'fairer makler',imp:1,clicks:0,pos:2.0},{q:'fairer makler bremen',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler bremen',imp:1,clicks:0,pos:2.0},{q:'wohnung kaufen bremen altstadt',imp:1,clicks:0,pos:19.0}],'/immobilienmakler-bremen-borgfeld/':[{q:'makler borgfeld',imp:17,clicks:0,pos:9.2},{q:'immobilienmakler bremen borgfeld',imp:9,clicks:0,pos:15.6},{q:'immobilienmakler borgfeld',imp:8,clicks:0,pos:15.0},{q:'immobilienberater bremen borgfeld',imp:6,clicks:0,pos:20.7},{q:'immobilie verkaufen bremen borgfeld',imp:5,clicks:0,pos:10.0},{q:'immobilienberater borgfeld',imp:5,clicks:0,pos:17.8},{q:'torsten mayer immobilien',imp:5,clicks:0,pos:27.0},{q:'immobilie verkaufen borgfeld',imp:4,clicks:0,pos:9.0},{q:'immobilienpreise borgfeld',imp:3,clicks:0,pos:13.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:2,clicks:0,pos:2.0},{q:'david mayer immobilien gmbh',imp:1,clicks:0,pos:46.0},{q:'immobilienmakler birkenfeld',imp:1,clicks:0,pos:42.0},{q:'makler burglengenfeld',imp:1,clicks:0,pos:38.0}],'/immobilienmakler-bremen-buergerpark/':[{q:'ihr fairer makler',imp:21,clicks:0,pos:3.2},{q:'fairer makler bremen',imp:10,clicks:0,pos:1.9},{q:'ihr fairer makler bremen',imp:7,clicks:0,pos:1.6},{q:'fairer makler',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0}],'/immobilienmakler-bremen-findorff/':[{q:'makler findorff',imp:1,clicks:0,pos:7.0}],'/immobilienmakler-bremen-ganderkesee/':[{q:'immobilien ganderkesee',imp:2,clicks:0,pos:27.0},{q:'ganderkesee',imp:1,clicks:0,pos:9.0},{q:'immobilienbewertung ganderkesee',imp:1,clicks:0,pos:62.0},{q:'makler ganderkesee',imp:1,clicks:0,pos:21.0}],'/immobilienmakler-bremen-groepelingen/':[{q:'immobilienpreise gröpelingen',imp:201,clicks:0,pos:9.7},{q:'makler gröpelingen',imp:20,clicks:0,pos:5.5},{q:'ihr fairer makler',imp:6,clicks:0,pos:6.5},{q:'ihr fairer makler - immobilienmakler bremen',imp:4,clicks:0,pos:2.0},{q:'an und verkauf bremen gröpelingen',imp:2,clicks:0,pos:18.5},{q:'haus kaufen gröpelingen',imp:2,clicks:0,pos:11.0}],'/immobilienmakler-bremen-hemelingen/':[{q:'immobilienpreise hemelingen',imp:244,clicks:0,pos:11.1},{q:'makler hemelingen',imp:20,clicks:0,pos:6.5},{q:'haus verkaufen hemelingen',imp:9,clicks:0,pos:16.0},{q:'ihr fairer makler',imp:8,clicks:0,pos:5.5},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0}],'/immobilienmakler-bremen-horn-lehe/':[{q:'makler horn-lehe',imp:12,clicks:0,pos:9.8},{q:'immobilie verkaufen bremen horn-lehe',imp:3,clicks:0,pos:11.3},{q:'immobilienmakler bremen horn',imp:2,clicks:0,pos:17.0},{q:'fair immobilien bremen',imp:1,clicks:0,pos:68.0},{q:'haus kaufen bremen horn lehe',imp:1,clicks:0,pos:49.0},{q:'immobilienberater horn-lehe',imp:1,clicks:0,pos:13.0},{q:'immobilienmakler horn-lehe',imp:1,clicks:0,pos:13.0}],'/immobilienmakler-bremen-huchting/':[{q:'makler huchting',imp:19,clicks:0,pos:11.7},{q:'ihr fairer makler',imp:1,clicks:0,pos:1.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:1.0}],'/immobilienmakler-bremen-lilienthal/':[{q:'immobilienmakler lilienthal',imp:21,clicks:0,pos:23.6},{q:'wohnen speckgürtel bremen lilienthal',imp:6,clicks:0,pos:7.5},{q:'immobilienmakler in lilienthal',imp:2,clicks:0,pos:24.5},{q:'makler lilienthal',imp:2,clicks:0,pos:23.5}],'/immobilienmakler-bremen-neu-schwachhausen/':[{q:'makler schwachhausen',imp:48,clicks:0,pos:13.5},{q:'immobilienberater schwachhausen',imp:28,clicks:0,pos:14.3},{q:'immobilienmakler bremen schwachhausen',imp:26,clicks:0,pos:28.7},{q:'ihr fairer makler',imp:17,clicks:0,pos:1.9},{q:'makler bremen schwachhausen',imp:16,clicks:0,pos:16.1},{q:'ihr fairer makler - immobilienmakler bremen',imp:15,clicks:0,pos:1.7},{q:'immobilienmakler schwachhausen',imp:8,clicks:0,pos:12.1},{q:'makler in schwachhausen',imp:7,clicks:0,pos:12.6},{q:'ihr fairer makler bremen',imp:6,clicks:0,pos:1.7},{q:'fairer makler bremen',imp:5,clicks:0,pos:1.8},{q:'immobilienberater bremen schwachhausen',imp:5,clicks:0,pos:42.4},{q:'immobilienbewertung schwachhausen',imp:2,clicks:0,pos:12.5},{q:'neu schwachhausen',imp:1,clicks:0,pos:31.0}],'/immobilienmakler-bremen-neustadt/':[{q:'immobilienmakler bremen neustadt',imp:19,clicks:0,pos:33.2},{q:'ihr fairer makler',imp:17,clicks:0,pos:1.3},{q:'ihr fairer makler - immobilienmakler bremen',imp:6,clicks:0,pos:2.0},{q:'an und verkauf bremen neustadt',imp:3,clicks:0,pos:6.0},{q:'fairer makler bremen',imp:2,clicks:0,pos:2.0},{q:'ihr fairer makler bremen',imp:2,clicks:0,pos:1.0},{q:'bremen neubau',imp:1,clicks:0,pos:61.0},{q:'bremen neustadt immobilien',imp:1,clicks:0,pos:39.0},{q:'fairer makler',imp:1,clicks:0,pos:2.0},{q:'foto mayer neustadt',imp:1,clicks:0,pos:80.0},{q:'immobilienmakler neustadt',imp:1,clicks:0,pos:10.0},{q:'makler neustadt bremen',imp:1,clicks:0,pos:19.0},{q:'spiess immobilien bremen',imp:1,clicks:0,pos:75.0},{q:'torsten mayer immobilien',imp:1,clicks:0,pos:39.0}],'/immobilienmakler-bremen-oberneuland/':[{q:'immobilienberater bremen oberneuland',imp:6,clicks:0,pos:17.2},{q:'immobilienberater oberneuland',imp:5,clicks:0,pos:19.0},{q:'immobilie verkaufen bremen oberneuland',imp:1,clicks:0,pos:16.0}],'/immobilienmakler-bremen-osterholz-scharmbeck/':[{q:'immobilienmakler ohz',imp:42,clicks:0,pos:37.4},{q:'makler osterholz',imp:7,clicks:0,pos:19.7},{q:'immobilienmakler osterholz scharmbeck',imp:5,clicks:0,pos:24.6},{q:'immobilienmakler osterholz-scharmbeck',imp:3,clicks:0,pos:22.7},{q:'makler osterholz-scharmbeck',imp:3,clicks:0,pos:27.0},{q:'immobilien osterholz-scharmbeck',imp:1,clicks:0,pos:35.0},{q:'immobilienmarkt',imp:1,clicks:0,pos:26.0}],'/immobilienmakler-bremen-ostertor/':[{q:'ihr fairer makler - immobilienmakler bremen',imp:31,clicks:0,pos:1.7},{q:'ihr fairer makler',imp:29,clicks:0,pos:4.2},{q:'ihr fairer makler bremen',imp:16,clicks:0,pos:1.5},{q:'fairer makler',imp:15,clicks:0,pos:1.3},{q:'ihr fairer makler hamburg',imp:13,clicks:0,pos:1.2},{q:'fairer makler bremen',imp:4,clicks:0,pos:1.8},{q:'david mayer immobilien gmbh',imp:1,clicks:0,pos:5.0},{q:'fair immobilien bremen',imp:1,clicks:0,pos:64.0},{q:'haus kaufen bremen ostertor',imp:1,clicks:1,pos:25.0},{q:'ostertor',imp:1,clicks:0,pos:1.0}],'/immobilienmakler-bremen-oyten/':[{q:'davide oyten',imp:4,clicks:0,pos:46.2},{q:'immobilienmakler oyten',imp:3,clicks:0,pos:23.3},{q:'immobilien oyten',imp:1,clicks:0,pos:27.0},{q:'oyten',imp:1,clicks:0,pos:8.0}],'/immobilienmakler-bremen-peterswerder/':[{q:'ihr fairer makler - immobilienmakler bremen',imp:6,clicks:0,pos:1.8},{q:'ihr fairer makler',imp:2,clicks:0,pos:2.0},{q:'ihr fairer makler bremen',imp:1,clicks:0,pos:2.0},{q:'peterswerder',imp:1,clicks:0,pos:97.0}],'/immobilienmakler-bremen-ritterhude/':[{q:'immobilienmakler ritterhude',imp:1,clicks:0,pos:29.0},{q:'immobilienwert ritterhude',imp:1,clicks:0,pos:49.0},{q:'makler in der nähe',imp:1,clicks:0,pos:11.0},{q:'makler ritterhude',imp:1,clicks:0,pos:14.0}],'/immobilienmakler-bremen-schwachhausen/':[{q:'immobilienmakler bremen schwachhausen',imp:59,clicks:0,pos:16.3},{q:'immobilienmakler schwachhausen',imp:43,clicks:0,pos:21.7},{q:'immobilienberater schwachhausen',imp:28,clicks:0,pos:38.3},{q:'immobilienberater bremen schwachhausen',imp:22,clicks:0,pos:19.1},{q:'immobilienbewertung schwachhausen',imp:11,clicks:0,pos:16.5},{q:'makler bremen schwachhausen',imp:9,clicks:0,pos:19.3},{q:'makler in schwachhausen',imp:8,clicks:0,pos:24.6},{q:'makler schwachhausen',imp:8,clicks:0,pos:33.6},{q:'ihr fairer makler',imp:4,clicks:0,pos:1.5},{q:'fairer makler',imp:2,clicks:0,pos:2.0},{q:'fairer makler bremen',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0}],'/immobilienmakler-bremen-steintor/':[{q:'ihr fairer makler',imp:4,clicks:0,pos:1.5}],'/immobilienmakler-bremen-stuhr/':[{q:'immobilienmakler stuhr',imp:62,clicks:0,pos:24.8},{q:'ihr fairer makler',imp:1,clicks:0,pos:2.0},{q:'makler stuhr',imp:1,clicks:0,pos:28.0}],'/immobilienmakler-bremen-verden/':[{q:'makler verden',imp:17,clicks:0,pos:32.2},{q:'immobilienmakler verden',imp:12,clicks:0,pos:27.5},{q:'jever altstadt fotos',imp:1,clicks:0,pos:88.0},{q:'verden',imp:1,clicks:0,pos:8.0}],'/immobilienmakler-bremen-weyhe/':[{q:'immobilienmakler weyhe',imp:33,clicks:0,pos:14.3},{q:'immobilien weyhe',imp:3,clicks:0,pos:19.3},{q:'makler weyhe',imp:3,clicks:0,pos:12.3},{q:'bestens bewertetes makler- und immobilienbüro weyhe',imp:1,clicks:0,pos:10.0},{q:'fairer makler',imp:1,clicks:0,pos:2.0},{q:'hirdler immobilien',imp:1,clicks:0,pos:23.0},{q:'hirdler weyhe',imp:1,clicks:0,pos:22.0},{q:'hirtler immobilien',imp:1,clicks:0,pos:15.0},{q:'immobilienbewertung weyhe',imp:1,clicks:0,pos:16.0}],'/immobilienmakler-bremen/':[{q:'ihr fairer makler',imp:106,clicks:0,pos:1.9},{q:'maklerprovision bremen',imp:44,clicks:0,pos:63.9},{q:'immobilienmakler bremen',imp:43,clicks:0,pos:45.1},{q:'ihr fairer makler - immobilienmakler bremen',imp:35,clicks:0,pos:1.7},{q:'immobilie verkaufen bremen',imp:34,clicks:0,pos:68.5},{q:'ihr fairer makler bremen',imp:26,clicks:1,pos:1.7},{q:'fairer makler',imp:24,clicks:0,pos:1.7},{q:'ihr fairer makler hamburg',imp:20,clicks:0,pos:3.2},{q:'fairer makler bremen',imp:18,clicks:1,pos:2.3},{q:'ihre immobilie',imp:18,clicks:0,pos:28.2},{q:'fair immobilien bremen',imp:16,clicks:0,pos:9.4},{q:'makler bremen',imp:13,clicks:0,pos:48.5},{q:'ihr immobilienmakler',imp:12,clicks:0,pos:33.2},{q:'makler',imp:11,clicks:0,pos:41.7},{q:'bremen findorff',imp:10,clicks:0,pos:3.0},{q:'immobilienmakler bremen walle',imp:5,clicks:0,pos:10.8},{q:'maklerbüro bremen',imp:5,clicks:0,pos:83.8},{q:'bremen neustadt',imp:4,clicks:0,pos:2.5},{q:'makler immobilienmakler',imp:4,clicks:0,pos:59.5},{q:'bremen immobilienmakler',imp:2,clicks:0,pos:1.0},{q:'bremer makler',imp:2,clicks:0,pos:38.0},{q:'david mayer immobilien gmbh',imp:2,clicks:0,pos:7.0},{q:'faire immobilien',imp:2,clicks:0,pos:50.5},{q:'haus verkaufen hannover wohnung verkaufen hannover immobilien hannover immobilien bremen haus verkaufen bremen wohnung verkaufen bremen immobilienmakler hannover immobilienmakler bremen makler hannover makler bremen',imp:2,clicks:0,pos:46.5},{q:'immobilien verkaufen bremen',imp:2,clicks:0,pos:66.0},{q:'immobilienmakler bremen findorff',imp:2,clicks:0,pos:65.0},{q:'immobilienmakler fotos',imp:2,clicks:0,pos:41.0},{q:'28329 bremen stadtteil',imp:1,clicks:0,pos:3.0},{q:'behandlungszentrum mitte bremen',imp:1,clicks:0,pos:4.0},{q:'bremen',imp:1,clicks:0,pos:5.0},{q:'bremen einwohner',imp:1,clicks:0,pos:3.0},{q:'bremen finndorf',imp:1,clicks:0,pos:3.0},{q:'bremen horn lehe',imp:1,clicks:0,pos:3.0},{q:'bremen nord',imp:1,clicks:0,pos:4.0},{q:'bremen stadtteile ranking',imp:1,clicks:0,pos:3.0},{q:'bremer stern',imp:1,clicks:0,pos:4.0},{q:'bremex immobilien',imp:1,clicks:0,pos:40.0},{q:'buten und binnen',imp:1,clicks:0,pos:4.0},{q:'die makler',imp:1,clicks:0,pos:6.0},{q:'events heute bremen',imp:1,clicks:0,pos:4.0},{q:'großeinsatz bremen heute',imp:1,clicks:0,pos:2.0},{q:'hausbewertung bremen',imp:1,clicks:0,pos:43.0},{q:'hemelingen',imp:1,clicks:0,pos:2.0},{q:'horn-lehe bremen',imp:1,clicks:0,pos:4.0},{q:'horner mühle bremen',imp:1,clicks:0,pos:2.0},{q:'horner spitze bremen',imp:1,clicks:0,pos:3.0},{q:'ihr maklerhaus',imp:1,clicks:0,pos:89.0},{q:'immobilien makler bremen',imp:1,clicks:0,pos:1.0},{q:'immobilien makler in bremen',imp:1,clicks:0,pos:84.0},{q:'immobilien markler',imp:1,clicks:0,pos:87.0},{q:'immobilienmakler',imp:1,clicks:0,pos:84.0},{q:'immobilienmakler bremen schwachhausen',imp:1,clicks:0,pos:6.0},{q:'immobilienmakler foto',imp:1,clicks:0,pos:49.0},{q:'immobilienmakler in bremen',imp:1,clicks:0,pos:35.0},{q:'kulturambulanz bremen',imp:1,clicks:0,pos:6.0},{q:'makler walle',imp:1,clicks:0,pos:49.0},{q:'mcdonald\'s bremen innenstadt',imp:1,clicks:0,pos:3.0},{q:'mord in bremen vegesack',imp:1,clicks:0,pos:9.0},{q:'neubauprojekte bremen nord',imp:1,clicks:0,pos:6.0},{q:'news bremen',imp:1,clicks:0,pos:8.0},{q:'oberneuland',imp:1,clicks:0,pos:3.0},{q:'obervieland bremen',imp:1,clicks:0,pos:3.0},{q:'ochtum park',imp:1,clicks:0,pos:4.0},{q:'ortsamt horn-lehe',imp:1,clicks:0,pos:10.0},{q:'rathausführung bremen',imp:1,clicks:0,pos:2.0},{q:'rewe schwachhausen',imp:1,clicks:0,pos:3.0},{q:'waterfront bremen',imp:1,clicks:0,pos:3.0},{q:'waterfront öffnungszeiten',imp:1,clicks:0,pos:4.0},{q:'wie viele stadtteile hat bremen',imp:1,clicks:0,pos:3.0}],'/immobilienmakler-ganderkesee/':[{q:'immobilienmakler ganderkesee',imp:7,clicks:0,pos:36.0},{q:'makler ganderkesee',imp:5,clicks:0,pos:20.6},{q:'immobilien makler oldenburg',imp:3,clicks:0,pos:45.0},{q:'immobilienbewertung ganderkesee',imp:3,clicks:0,pos:41.0},{q:'immobilienmakler oldenburg',imp:2,clicks:0,pos:47.5},{q:'makler oldenburg',imp:2,clicks:0,pos:47.0},{q:'ganderkesee immobilien',imp:1,clicks:0,pos:16.0},{q:'ihr fairer makler',imp:1,clicks:0,pos:2.0},{q:'quadratmeterpreis ganderkesee',imp:1,clicks:0,pos:9.0},{q:'urbanke ganderkesee',imp:1,clicks:0,pos:37.0}],'/immobilienmakler-hamburg/':[{q:'immobilienmakler hamburg',imp:10,clicks:0,pos:41.2},{q:'hamburg makler',imp:4,clicks:0,pos:12.8},{q:'ihr fairer makler',imp:3,clicks:0,pos:2.0},{q:'ihr fairer makler hamburg',imp:2,clicks:2,pos:1.0},{q:'makler in hamburg',imp:2,clicks:0,pos:12.5},{q:'hamburger makler',imp:1,clicks:0,pos:23.0},{q:'immobilienmakler hamburg harvestehude',imp:1,clicks:0,pos:80.0},{q:'makler hamburg',imp:1,clicks:0,pos:20.0},{q:'makler hamburg hafencity',imp:1,clicks:0,pos:76.0},{q:'makler in der nähe',imp:1,clicks:0,pos:10.0}],'/immobilienmakler-in-bremen/':[{q:'immobilienmakler bremen',imp:70,clicks:0,pos:51.4},{q:'ihr fairer makler',imp:35,clicks:0,pos:1.8},{q:'ihr fairer makler - immobilienmakler bremen',imp:18,clicks:0,pos:1.7},{q:'ihr fairer makler bremen',imp:18,clicks:0,pos:1.6},{q:'makler bremen',imp:12,clicks:0,pos:50.8},{q:'fairer makler bremen',imp:9,clicks:0,pos:1.9},{q:'makler',imp:8,clicks:0,pos:7.5},{q:'fairer makler',imp:7,clicks:0,pos:1.6},{q:'ihre immobilie',imp:5,clicks:0,pos:43.0},{q:'ihr fairer makler hamburg',imp:3,clicks:0,pos:1.0},{q:'makler immobilienmakler',imp:3,clicks:0,pos:56.3},{q:'ihr immobilienmakler',imp:2,clicks:0,pos:29.5},{q:'haus verkaufen makler bremen',imp:1,clicks:0,pos:48.0},{q:'ihr makler',imp:1,clicks:0,pos:8.0},{q:'makler in bremen',imp:1,clicks:0,pos:48.0},{q:'maklerbüro bremen',imp:1,clicks:0,pos:73.0}],'/immobilienmakler-lilienthal/':[{q:'lilienthal',imp:1,clicks:0,pos:10.0},{q:'makler in lilienthal',imp:1,clicks:0,pos:18.0}],'/immobilienmakler-osterholz-scharmbeck/':[{q:'immobilienmakler ohz',imp:61,clicks:0,pos:34.7},{q:'makler osterholz',imp:9,clicks:0,pos:19.4},{q:'immobilienmakler osterholz scharmbeck',imp:5,clicks:0,pos:31.0},{q:'makler osterholz-scharmbeck',imp:3,clicks:0,pos:32.0},{q:'ihr fairer makler hamburg',imp:1,clicks:0,pos:1.0},{q:'immobilienmakler osterholz-scharmbeck',imp:1,clicks:0,pos:45.0},{q:'makler',imp:1,clicks:0,pos:7.0},{q:'teufelsmoor',imp:1,clicks:0,pos:33.0}],'/immobilienmakler-oyten/':[{q:'davide oyten',imp:1,clicks:0,pos:48.0},{q:'immobilienmakler oyten',imp:1,clicks:0,pos:25.0},{q:'marktwert',imp:1,clicks:0,pos:9.0}],'/immobilienmakler-ritterhude/':[{q:'immobilienwert ritterhude',imp:6,clicks:0,pos:20.2},{q:'immobilienmakler ritterhude',imp:4,clicks:0,pos:15.8},{q:'makler ritterhude',imp:3,clicks:0,pos:21.0},{q:'hamme ritterhude',imp:1,clicks:0,pos:91.0}],'/immobilienmakler-stuhr/':[{q:'immobilienmakler stuhr',imp:2,clicks:0,pos:44.0},{q:'"\\"top wohnort familie\\" -site:reddit.com -site:twitter.com -site:x.com -site:wykop.pl -site:tripadvisor.com -site:youtube.com -site:yelp.com -site:booking.com -site:facebook.com -site:instagram.com -site:tiktok.com"',imp:1,clicks:0,pos:1.0},{q:'achim stuhr',imp:1,clicks:0,pos:33.0},{q:'fairer makler',imp:1,clicks:0,pos:2.0},{q:'stuhr',imp:1,clicks:0,pos:7.0}],'/immobilienmakler-verden/':[{q:'makler verden',imp:28,clicks:0,pos:29.8},{q:'immobilienmakler verden',imp:16,clicks:0,pos:37.5},{q:'ihr fairer makler',imp:1,clicks:0,pos:2.0},{q:'immo verden',imp:1,clicks:0,pos:9.0},{q:'immobilien verden',imp:1,clicks:0,pos:13.0},{q:'verden',imp:1,clicks:0,pos:2.0}],'/immobilienmakler-weyhe/':[{q:'immobilienmakler weyhe',imp:41,clicks:0,pos:15.5},{q:'immobilienbewertung weyhe',imp:3,clicks:0,pos:14.3},{q:'hirdler immobilien weyhe',imp:2,clicks:0,pos:20.0},{q:'quadratmeterpreis weyhe',imp:2,clicks:0,pos:10.0},{q:'bestens bewertetes makler- und immobilienbüro weyhe',imp:1,clicks:0,pos:12.0},{q:'immobilie verkaufen weyhe',imp:1,clicks:0,pos:7.0}],'/immobilienverkauf-scheidung/':[{q:'ihr fairer makler',imp:5,clicks:0,pos:2.0},{q:'haus scheidung bremen',imp:3,clicks:0,pos:19.7},{q:'immobilie scheidung bremen',imp:1,clicks:0,pos:10.0},{q:'immobilienverkauf bei einer scheidung brome',imp:1,clicks:0,pos:63.0}],'/kontakt/':[{q:'ihr fairer makler',imp:100,clicks:1,pos:1.5},{q:'ihr fairer makler - immobilienmakler bremen',imp:29,clicks:0,pos:1.8},{q:'ihr fairer makler bremen',imp:25,clicks:0,pos:1.4},{q:'fairer makler',imp:23,clicks:0,pos:1.5},{q:'ihr fairer makler hamburg',imp:21,clicks:0,pos:1.2},{q:'fairer makler bremen',imp:17,clicks:1,pos:1.8},{q:'fair immobilien bremen',imp:2,clicks:0,pos:76.5},{q:'immobilienmakler bremen impressum kontakt',imp:1,clicks:0,pos:59.0}],'/seniorenimmobilien-bremen/':[{q:'makler seniorenheim',imp:23,clicks:0,pos:35.1},{q:'makler altenheim',imp:13,clicks:0,pos:26.7},{q:'pflegeimmobilien kaufen bremen',imp:13,clicks:0,pos:53.8},{q:'makler pflegeheim',imp:2,clicks:0,pos:19.0},{q:'fair immobilien bremen',imp:1,clicks:0,pos:52.0},{q:'fairer makler bremen',imp:1,clicks:0,pos:2.0}],'/wohnung-verkaufen-bremen-tipps-ablauf-und-wichtige-hinweise/':[{q:'haus verkaufen ablauf bremen',imp:85,clicks:0,pos:8.8},{q:'verkaufen und vermieten in bremen',imp:3,clicks:0,pos:27.3}],'/wohnung-verkaufen-bremen/':[{q:'immobilie verkaufen bremen',imp:58,clicks:0,pos:83.8},{q:'ihr fairer makler',imp:28,clicks:0,pos:1.8},{q:'wohnung verkaufen',imp:17,clicks:0,pos:6.1},{q:'fairer makler',imp:7,clicks:0,pos:1.7},{q:'fairer makler bremen',imp:6,clicks:0,pos:1.8},{q:'eigentumswohnung verkaufen',imp:4,clicks:0,pos:6.5},{q:'immobilien verkaufen bremen',imp:4,clicks:0,pos:85.5},{q:'verkaufen und vermieten in bremen',imp:3,clicks:0,pos:27.7},{q:'haus verkaufen hannover wohnung verkaufen hannover immobilien hannover immobilien bremen haus verkaufen bremen wohnung verkaufen bremen immobilienmakler hannover immobilienmakler bremen makler hannover makler bremen',imp:1,clicks:0,pos:86.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler bremen',imp:1,clicks:0,pos:1.0},{q:'wohnung',imp:1,clicks:0,pos:2.0},{q:'wohnungsverkauf',imp:1,clicks:0,pos:7.0}],'/wohnung-verkaufen-hamburg/':[{q:'eigentumswohnung verkaufen hamburg',imp:10,clicks:0,pos:33.2},{q:'ihr fairer makler hamburg',imp:2,clicks:0,pos:3.5},{q:'eigentumswohnung verkaufen makler',imp:1,clicks:0,pos:5.0}],};
const DEFAULT_TOTALS = {"clicks":261,"impressions":11388,"clicksPrev":276,"impsPrev":9355};
const DEFAULT_KW_MAP_P2 = {'/':[{q:'immobilienmakler bremen',imp:1646,clicks:10,pos:12.9},{q:'makler bremen',imp:792,clicks:8,pos:6.5},{q:'immobilie verkaufen bremen',imp:311,clicks:0,pos:13.2},{q:'ihr fairer makler',imp:157,clicks:65,pos:1.4},{q:'makler',imp:141,clicks:0,pos:17.3},{q:'immobilienmakler in bremen',imp:135,clicks:2,pos:10.7},{q:'makler in bremen',imp:123,clicks:0,pos:4.6},{q:'immobilienentwicklung bremen',imp:96,clicks:0,pos:9.4},{q:'immobilienmakler',imp:78,clicks:2,pos:13.6},{q:'immobilienbüro bremen',imp:64,clicks:0,pos:19.4},{q:'maklerprovision bremen',imp:64,clicks:0,pos:39.9},{q:'makler schwachhausen',imp:59,clicks:0,pos:12.6},{q:'immobilienwert bremen',imp:56,clicks:0,pos:13.0},{q:'bremen immobilienmakler',imp:52,clicks:0,pos:14.4},{q:'makler bremen mietwohnungen',imp:50,clicks:2,pos:9.0},{q:'beste immobilienvermittler bremen',imp:46,clicks:0,pos:10.9},{q:'bremen makler',imp:46,clicks:1,pos:9.5},{q:'immobilienmakler bremen schwachhausen',imp:44,clicks:0,pos:8.1},{q:'makler für immobilien',imp:41,clicks:0,pos:12.7},{q:'günstiger makler',imp:40,clicks:0,pos:18.9},{q:'fair immobilien bremen',imp:38,clicks:1,pos:7.3},{q:'immobilien makler bremen',imp:38,clicks:0,pos:16.5},{q:'haus verkaufen makler',imp:37,clicks:0,pos:18.2},{q:'immobilien fesenfeld bremen',imp:36,clicks:0,pos:9.4},{q:'immobilienberater bremen',imp:36,clicks:0,pos:14.0},{q:'makler neustadt bremen',imp:35,clicks:0,pos:11.7},{q:'immobilien bremen',imp:34,clicks:1,pos:7.8},{q:'freier makler',imp:33,clicks:0,pos:51.2},{q:'makler in der nähe',imp:32,clicks:2,pos:4.5},{q:'makler viertel bremen',imp:32,clicks:0,pos:2.8},{q:'günstiger immobilienmakler',imp:29,clicks:0,pos:22.1},{q:'haus verkaufen makler bremen',imp:28,clicks:0,pos:6.8},{q:'makler vahr',imp:28,clicks:0,pos:3.9},{q:'maklerbüro bremen',imp:26,clicks:0,pos:21.7},{q:'ihr fairer makler bremen',imp:25,clicks:8,pos:1.0},{q:'günstige makler',imp:24,clicks:0,pos:14.0},{q:'makler vermietung bremen',imp:24,clicks:0,pos:5.4},{q:'fairer makler',imp:23,clicks:13,pos:1.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:23,clicks:10,pos:1.1},{q:'makler borgfeld',imp:23,clicks:0,pos:18.2},{q:'makler findorff',imp:23,clicks:0,pos:4.0},{q:'makler hemelingen',imp:23,clicks:0,pos:9.7},{q:'ihr immobilienmakler',imp:22,clicks:0,pos:9.0},{q:'makler obervieland',imp:22,clicks:0,pos:11.9},{q:'immobilien bremen makler',imp:21,clicks:0,pos:11.1},{q:'makler bremen mitte',imp:21,clicks:0,pos:5.2},{q:'makler oberneuland',imp:21,clicks:0,pos:19.2},{q:'makler walle',imp:21,clicks:0,pos:14.2},{q:'immobilien',imp:20,clicks:0,pos:8.2},{q:'seriöse makler',imp:20,clicks:0,pos:5.0},{q:'immobilien makler in bremen',imp:19,clicks:0,pos:13.1},{q:'immobilien verkaufen bremen',imp:19,clicks:0,pos:15.0},{q:'immobilienberater in bremen',imp:19,clicks:0,pos:8.4},{q:'immobilienmakler bremen walle',imp:18,clicks:0,pos:19.3},{q:'immobilienmakler bremen neustadt',imp:17,clicks:0,pos:22.9},{q:'mietwohnung ohne makler',imp:16,clicks:0,pos:12.1},{q:'bremer immobilienmakler',imp:15,clicks:0,pos:16.2},{q:'david mayer immobilien gmbh',imp:15,clicks:3,pos:1.1},{q:'makler bremen schwachhausen',imp:14,clicks:0,pos:10.8},{q:'makler in schwachhausen',imp:14,clicks:0,pos:6.6},{q:'markler',imp:14,clicks:0,pos:9.0},{q:'fairer makler bremen',imp:13,clicks:7,pos:1.0},{q:'immobilienmakler bremen faq',imp:12,clicks:0,pos:15.2},{q:'website fџr immobilienmakler',imp:12,clicks:0,pos:26.0},{q:'markler bremen',imp:11,clicks:0,pos:4.0},{q:'wo kann ich in bremen meine immobilie verkaufen lassen?',imp:11,clicks:0,pos:12.5},{q:'ihr makler',imp:10,clicks:0,pos:8.2},{q:'immobilienmakler bremen findorff',imp:10,clicks:0,pos:26.4},{q:'immobilienmakler bremen vergleichen',imp:10,clicks:0,pos:7.8},{q:'immobilienmarkler bremen',imp:10,clicks:0,pos:8.9},{q:'bester makler',imp:9,clicks:0,pos:2.8},{q:'ihre immobilie',imp:9,clicks:0,pos:15.4},{q:'ihre makler',imp:9,clicks:0,pos:7.4},{q:'immobilien ohne makler',imp:9,clicks:0,pos:11.4},{q:'makler bremen bewertungen',imp:9,clicks:0,pos:4.1},{q:'bremer makler',imp:8,clicks:0,pos:25.5},{q:'fair und freundlich',imp:8,clicks:0,pos:35.2},{q:'immobilienvermittlung bremen',imp:8,clicks:0,pos:9.2},{q:'internationale immobilienmakler',imp:8,clicks:0,pos:19.9},{q:'wohnungsmakler bremen',imp:8,clicks:0,pos:16.9},{q:'immobilienmakler schwachhausen',imp:7,clicks:0,pos:15.7},{q:'mietwohnungen',imp:7,clicks:0,pos:15.4},{q:'freie makler',imp:6,clicks:0,pos:55.0},{q:'guten makler finden',imp:6,clicks:0,pos:5.3},{q:'immobilien in der nähe',imp:6,clicks:0,pos:6.8},{q:'immobilienmakler büro bremen',imp:6,clicks:0,pos:11.7},{q:'immobilienverkauf bremen',imp:6,clicks:0,pos:12.5},{q:'immobilienvermietung',imp:6,clicks:0,pos:8.2},{q:'internationaler immobilienmakler',imp:6,clicks:0,pos:18.5},{q:'makler für hausverkauf',imp:6,clicks:0,pos:6.0},{q:'makler immobilienmakler',imp:6,clicks:0,pos:5.3},{q:'real estate investing',imp:6,clicks:0,pos:10.5},{q:'torsten mayer immobilien',imp:6,clicks:0,pos:23.2},{q:'verkaufen und vermieten in bremen',imp:6,clicks:0,pos:7.3},{q:'wo kann ich mein haus in bremen verkaufen lassen',imp:6,clicks:0,pos:10.8},{q:'agentur immobilien',imp:5,clicks:0,pos:2.6},{q:'bremen immobilien',imp:5,clicks:0,pos:13.0},{q:'fair immobilien',imp:5,clicks:0,pos:32.2},{q:'fair makler',imp:5,clicks:1,pos:3.4},{q:'fairmakler immobilien',imp:5,clicks:2,pos:3.2},{q:'ihr fairer makler hamburg',imp:5,clicks:2,pos:1.0},{q:'immobilien bremen email',imp:5,clicks:0,pos:48.6},{q:'immobilien fair und freundlich',imp:5,clicks:0,pos:28.6},{q:'immobilienmakler oberneuland',imp:5,clicks:0,pos:11.6},{q:'immobilienverkauf',imp:5,clicks:0,pos:7.0},{q:'makler für mietwohnungen',imp:5,clicks:0,pos:2.0},{q:'makler gröpelingen',imp:5,clicks:0,pos:17.8},{q:'makler homepages',imp:5,clicks:0,pos:29.0},{q:'+internetseite +makler',imp:4,clicks:0,pos:58.0},{q:'beste immobilienmakler bremen',imp:4,clicks:0,pos:4.2},{q:'bester immobilienmakler',imp:4,clicks:0,pos:4.0},{q:'ehrlich und fair',imp:4,clicks:0,pos:25.0},{q:'fairmakler',imp:4,clicks:0,pos:5.2},{q:'ihre makler immobilien gmbh',imp:4,clicks:0,pos:23.8},{q:'immobilien bremen und umgebung',imp:4,clicks:0,pos:25.0},{q:'immobilienmakler bremen telefon',imp:4,clicks:0,pos:3.2},{q:'immobilienmakler in der nähe',imp:4,clicks:0,pos:7.5},{q:'immobilienverwertung bremen',imp:4,clicks:0,pos:44.0},{q:'internetmakler',imp:4,clicks:0,pos:29.0},{q:'makler horn-lehe',imp:4,clicks:0,pos:18.5},{q:'makler immobilien bremen',imp:4,clicks:0,pos:8.8},{q:'makler niedersachsen',imp:4,clicks:0,pos:8.2},{q:'web makler',imp:4,clicks:0,pos:71.0},{q:'website makler',imp:4,clicks:0,pos:69.2},{q:'wohnimmobilien',imp:4,clicks:0,pos:8.5},{q:'beste makler hausverkauf bremen',imp:3,clicks:0,pos:10.0},{q:'immobilien fesenfeld',imp:3,clicks:0,pos:10.7},{q:'immobilienanbieter',imp:3,clicks:0,pos:2.7},{q:'immobilienberater horn-lehe',imp:3,clicks:0,pos:18.7},{q:'immobilienberater schwachhausen',imp:3,clicks:0,pos:14.0},{q:'immobilienfirma bremen',imp:3,clicks:1,pos:16.7},{q:'immobilienmakler bremen horn',imp:3,clicks:0,pos:18.0},{q:'immobilienmakler bremen oberneuland',imp:3,clicks:0,pos:48.0},{q:'immobilienmakler niedersachsen',imp:3,clicks:0,pos:10.0},{q:'immobilienvermittlung',imp:3,clicks:0,pos:3.3},{q:'immofair',imp:3,clicks:0,pos:1.7},{q:'makler ohne provision',imp:3,clicks:0,pos:4.0},{q:'makler vor ort',imp:3,clicks:0,pos:23.0},{q:'mcmakler bremen',imp:3,clicks:0,pos:28.7},{q:'mein makler',imp:3,clicks:0,pos:8.7},{q:'mit erfahrung nhe ber 15 jahre web-erfahrung lokal persnlich erreichbar',imp:3,clicks:0,pos:9.7},{q:'real estate agent near me',imp:3,clicks:0,pos:13.0},{q:'verkaufen ohne makler bremen',imp:3,clicks:0,pos:8.3},{q:'wohnung mieten',imp:3,clicks:0,pos:10.0},{q:'wohnung verkaufen bremen',imp:3,clicks:0,pos:7.0},{q:'wohnungsmakler',imp:3,clicks:0,pos:7.3},{q:'ehrlich und fair immobilien',imp:2,clicks:0,pos:22.5},{q:'faire immobilien',imp:2,clicks:0,pos:9.5},{q:'fairer',imp:2,clicks:0,pos:7.0},{q:'gewerbe immobilien bremen',imp:2,clicks:1,pos:6.5},{q:'gewerbeimmobilienmakler bremen',imp:2,clicks:0,pos:22.0},{q:'gutachter bremen',imp:2,clicks:0,pos:106.0},{q:'haus verkaufen bremen',imp:2,clicks:0,pos:1.0},{q:'homepage makler',imp:2,clicks:0,pos:56.0},{q:'homestaging bremen',imp:2,clicks:0,pos:61.5},{q:'ich suche maklersoftware für immobilienmakler.',imp:2,clicks:0,pos:13.0},{q:'ihre immobilienmakler',imp:2,clicks:0,pos:19.5},{q:'immobil',imp:2,clicks:0,pos:3.0},{q:'immobilie in bremen verkaufen lassen',imp:2,clicks:0,pos:8.0},{q:'immobilien ehrlich und fair',imp:2,clicks:0,pos:20.0},{q:'immobilien makler schein',imp:2,clicks:0,pos:4.5},{q:'immobilien verkaufen',imp:2,clicks:0,pos:6.0},{q:'immobilien vermittler',imp:2,clicks:0,pos:11.0},{q:'immobilien zum verkauf',imp:2,clicks:0,pos:13.0},{q:'immobilienagentur',imp:2,clicks:0,pos:6.0},{q:'immobilienangebote',imp:2,clicks:0,pos:6.0},{q:'immobilienberatung',imp:2,clicks:0,pos:6.0},{q:'immobilienfirmen bremen',imp:2,clicks:0,pos:32.0},{q:'immobilienhandel',imp:2,clicks:0,pos:13.5},{q:'immobilienpreise',imp:2,clicks:0,pos:6.0},{q:'immobilienvertrieb',imp:2,clicks:0,pos:4.0},{q:'immobilienwertermittlung',imp:2,clicks:0,pos:16.0},{q:'immomakler',imp:2,clicks:0,pos:3.5},{q:'investment immobilien bremen',imp:2,clicks:0,pos:30.0},{q:'makler deutschland',imp:2,clicks:0,pos:7.0},{q:'makler für wohnungssuche',imp:2,clicks:0,pos:3.0},{q:'makler lilienthal',imp:2,clicks:1,pos:11.5},{q:'makler vs vermittler immobilienverkauf bremen',imp:2,clicks:0,pos:5.5},{q:'makler website',imp:2,clicks:0,pos:44.5},{q:'maklerbüro',imp:2,clicks:0,pos:10.5},{q:'maklerhomepage immobilien',imp:2,clicks:0,pos:41.0},{q:'maklerin',imp:2,clicks:0,pos:4.5},{q:'mietwohnung suchen mit makler',imp:2,clicks:0,pos:5.0},{q:'ohne makler bremen',imp:2,clicks:0,pos:7.5},{q:'real estate agency',imp:2,clicks:0,pos:6.0},{q:'umschulung immobilienmakler',imp:2,clicks:0,pos:2.0},{q:'vermietung bremen',imp:2,clicks:0,pos:3.0},{q:'wolf und fabig',imp:2,clicks:0,pos:25.5},{q:'+homepage +makler',imp:1,clicks:0,pos:60.0},{q:'alleinstehendes haus kaufen',imp:1,clicks:0,pos:1.0},{q:'boutiquemakler',imp:1,clicks:0,pos:13.0},{q:'bremen-immobilien',imp:1,clicks:0,pos:5.0},{q:'courtage makler',imp:1,clicks:0,pos:7.0},{q:'der makler',imp:1,clicks:0,pos:3.0},{q:'die verkaufsmakler',imp:1,clicks:0,pos:55.0},{q:'ein makler',imp:1,clicks:0,pos:20.0},{q:'ema immobilien',imp:1,clicks:0,pos:8.0},{q:'estate agency',imp:1,clicks:0,pos:8.0},{q:'fair immo',imp:1,clicks:0,pos:50.0},{q:'fair immobilien horneburg',imp:1,clicks:0,pos:35.0},{q:'fair und freundlich immobilien',imp:1,clicks:0,pos:29.0},{q:'fair wohnen',imp:1,clicks:0,pos:70.0},{q:'fairplan24',imp:1,clicks:0,pos:35.0},{q:'gebrauchte immobilien',imp:1,clicks:0,pos:11.0},{q:'gmbh makler',imp:1,clicks:0,pos:4.0},{q:'grundstücksmakler',imp:1,clicks:0,pos:7.0},{q:'gute makler',imp:1,clicks:0,pos:14.0},{q:'guter immobilienmakler',imp:1,clicks:0,pos:6.0},{q:'haus verkaufen hannover wohnung verkaufen hannover immobilien hannover immobilien bremen haus verkaufen bremen wohnung verkaufen bremen immobilienmakler hannover immobilienmakler bremen makler hannover makler bremen',imp:1,clicks:0,pos:32.0},{q:'hausverwaltung bremen',imp:1,clicks:1,pos:10.0},{q:'hausverwaltung in bremen',imp:1,clicks:0,pos:97.0},{q:'home staging bremen',imp:1,clicks:0,pos:83.0},{q:'houses in bremen',imp:1,clicks:0,pos:13.0},{q:'hp meyer bremen',imp:1,clicks:0,pos:48.0},{q:'ihr',imp:1,clicks:0,pos:4.0},{q:'imbilien',imp:1,clicks:0,pos:11.0},{q:'immob',imp:1,clicks:0,pos:2.0},{q:'immobiel',imp:1,clicks:0,pos:1.0},{q:'immobilie bremen',imp:1,clicks:0,pos:21.0},{q:'immobilie kaufen',imp:1,clicks:0,pos:11.0},{q:'immobilie verkaufen',imp:1,clicks:0,pos:9.0},{q:'immobilie verkaufen bremen schwachhausen',imp:1,clicks:0,pos:21.0},{q:'immobilie verkaufen makler',imp:1,clicks:0,pos:2.0},{q:'immobilieb',imp:1,clicks:0,pos:10.0},{q:'immobilien agentur',imp:1,clicks:0,pos:1.0},{q:'immobilien an und verkauf',imp:1,clicks:0,pos:13.0},{q:'immobilien beratung',imp:1,clicks:0,pos:1.0},{q:'immobilien bremen miete',imp:1,clicks:0,pos:21.0},{q:'immobilien bremen neustadt',imp:1,clicks:0,pos:21.0},{q:'immobilien bremen-schwachhausen',imp:1,clicks:0,pos:20.0},{q:'immobilien gesellschaft',imp:1,clicks:0,pos:2.0},{q:'immobilien in bremen',imp:1,clicks:0,pos:11.0},{q:'immobilien marklerin',imp:1,clicks:0,pos:1.0},{q:'immobilien mieten',imp:1,clicks:0,pos:13.0},{q:'immobilien quereinstieg',imp:1,clicks:0,pos:3.0},{q:'immobilienanbieter bremen',imp:1,clicks:0,pos:6.0},{q:'immobilienangebote bremen',imp:1,clicks:0,pos:12.0},{q:'immobilienberatung bremen',imp:1,clicks:0,pos:6.0},{q:'immobilienbewertung bremen',imp:1,clicks:0,pos:21.0},{q:'immobilienmakler andernach',imp:1,clicks:0,pos:6.0},{q:'immobilienmakler bremen empfehlungen',imp:1,clicks:0,pos:11.0},{q:'immobilienmakler bremen nord',imp:1,clicks:0,pos:17.0},{q:'immobilienmakler für mietwohnungen',imp:1,clicks:0,pos:2.0},{q:'immobilienmakler günstig',imp:1,clicks:0,pos:31.0},{q:'immobilienmakler heidenheim',imp:1,clicks:0,pos:49.0},{q:'immobilienmakler homepage impressum',imp:1,clicks:0,pos:52.0},{q:'immobilienmakler in deutschland',imp:1,clicks:0,pos:13.0},{q:'immobilienmakler kurse',imp:1,clicks:0,pos:2.0},{q:'immobilienmakler sachkundenachweis',imp:1,clicks:0,pos:2.0},{q:'immobilienmakler stuhr',imp:1,clicks:0,pos:39.0},{q:'immobilienmakler vermietung',imp:1,clicks:0,pos:5.0},{q:'immobilienmakler weiterbildung',imp:1,clicks:0,pos:3.0},{q:'immobilienmaklerin',imp:1,clicks:0,pos:10.0},{q:'immobilienmarkler',imp:1,clicks:0,pos:2.0},{q:'immobilienunternehmen bremen',imp:1,clicks:0,pos:21.0},{q:'immobilienvermarktung',imp:1,clicks:0,pos:1.0},{q:'immobillien makler',imp:1,clicks:0,pos:5.0},{q:'luxusimmobilien bremen',imp:1,clicks:0,pos:16.0},{q:'makelr',imp:1,clicks:0,pos:3.0},{q:'makler finden',imp:1,clicks:0,pos:2.0},{q:'makler für mietwohnung',imp:1,clicks:0,pos:8.0},{q:'makler für resthöfe',imp:1,clicks:0,pos:1.0},{q:'makler hesel',imp:1,clicks:0,pos:47.0},{q:'makler homepage',imp:1,clicks:0,pos:78.0},{q:'makler huchting',imp:1,clicks:0,pos:59.0},{q:'makler immobilienkauf',imp:1,clicks:0,pos:18.0},{q:'makler mietwohnung',imp:1,clicks:0,pos:14.0},{q:'makler team',imp:1,clicks:0,pos:36.0},{q:'makler wohnung mieten',imp:1,clicks:0,pos:2.0},{q:'makler wohnung vermieten',imp:1,clicks:0,pos:8.0},{q:'makler wohnungssuche',imp:1,clicks:0,pos:1.0},{q:'makler-marktforschung',imp:1,clicks:0,pos:11.0},{q:'makler-team',imp:1,clicks:0,pos:48.0},{q:'makler.',imp:1,clicks:0,pos:6.0},{q:'maklercourtage bremen',imp:1,clicks:0,pos:17.0},{q:'maklerei',imp:1,clicks:0,pos:1.0},{q:'maklerfrei immobilien',imp:1,clicks:0,pos:10.0},{q:'marklerin',imp:1,clicks:0,pos:2.0},{q:'mc makler bremen',imp:1,clicks:0,pos:30.0},{q:'mein markler',imp:1,clicks:0,pos:14.0},{q:'peter merlak immobilien',imp:1,clicks:0,pos:3.0},{q:'projektmanagement',imp:1,clicks:0,pos:21.0},{q:'ralf meyer immobilien',imp:1,clicks:0,pos:34.0},{q:'real estate',imp:1,clicks:0,pos:3.0},{q:'real estate agents',imp:1,clicks:0,pos:12.0},{q:'real estate immobilien',imp:1,clicks:0,pos:1.0},{q:'real estate management',imp:1,clicks:0,pos:31.0},{q:'schnelle immobilienbewertung',imp:1,clicks:0,pos:21.0},{q:'seriöse immobilienmakler',imp:1,clicks:0,pos:14.0},{q:'seriöser makler',imp:1,clicks:0,pos:57.0},{q:'ummobilien',imp:1,clicks:0,pos:3.0},{q:'vergleiche bremer immobilienmakler',imp:1,clicks:0,pos:11.0},{q:'vergleiche makler und vermittler für immobilienverkauf in bremen',imp:1,clicks:0,pos:2.0},{q:'verkaufen immobilien',imp:1,clicks:0,pos:12.0},{q:'verzeichnis immobilien',imp:1,clicks:0,pos:13.0},{q:'was sind die besten immobilienmakler in bremen?',imp:1,clicks:0,pos:14.0},{q:'welche makler sind in meiner nähe empfehlenswert?',imp:1,clicks:0,pos:14.0},{q:'weser immobilien bremen',imp:1,clicks:0,pos:57.0},{q:'wie finde ich einen seriösen immobilienmakler',imp:1,clicks:0,pos:9.0},{q:'wieser immobilien',imp:1,clicks:0,pos:45.0},{q:'wir makler',imp:1,clicks:0,pos:7.0},{q:'wir makler gmbh',imp:1,clicks:0,pos:11.0},{q:'wo kann ich eine immobilie wertermittlung in bremen beauftragen',imp:1,clicks:0,pos:1.0},{q:'wohneigentum',imp:1,clicks:0,pos:1.0},{q:'wohnung ohne makler',imp:1,clicks:0,pos:9.0},{q:'wohnung verkaufen beratung',imp:1,clicks:0,pos:4.0},{q:'wohnung zur miete bremen',imp:1,clicks:0,pos:3.0},{q:'wohnungsvermittler',imp:1,clicks:0,pos:5.0}],'/bewertung-alt/':[{q:'ihr fairer makler hamburg',imp:1,clicks:0,pos:2.0}],'/bewertung/':[{q:'ihr fairer makler',imp:148,clicks:0,pos:1.9},{q:'kostenlose immobilienbewertung bremen',imp:71,clicks:0,pos:15.9},{q:'immobilienbewertung bremen',imp:34,clicks:0,pos:49.6},{q:'ihr fairer makler bremen',imp:24,clicks:0,pos:3.1},{q:'fairer makler',imp:20,clicks:0,pos:1.6},{q:'ihr fairer makler - immobilienmakler bremen',imp:16,clicks:0,pos:2.0},{q:'wo kann ich die wertermittlung für häuser in bremen in auftrag geben',imp:16,clicks:0,pos:11.1},{q:'fairer makler bremen',imp:13,clicks:0,pos:1.8},{q:'wo kann ich eine immobilie wertermittlung in bremen beauftragen',imp:13,clicks:0,pos:4.6},{q:'makler bremen bewertungen',imp:12,clicks:0,pos:9.8},{q:'wo kann ich die wertermittlung einer immobilie in bremen in auftrag geben',imp:11,clicks:0,pos:10.5},{q:'bewertung makler',imp:8,clicks:0,pos:40.8},{q:'makler bewertung',imp:8,clicks:0,pos:45.5},{q:'wo kann ich eine bewertung meiner immobilie im erbfall in bremen veranlassen',imp:8,clicks:0,pos:6.1},{q:'zuverlässige immobilienbewertung scheidung bremen',imp:8,clicks:0,pos:10.1},{q:'hausbewertung bremen',imp:5,clicks:0,pos:33.6},{q:'kostenlose immobilienbewertung hemer',imp:5,clicks:0,pos:43.6},{q:'wo kann ich eine immobilienbewertung für das finanzamt in bremen durchführen lassen',imp:5,clicks:0,pos:11.2},{q:'wo kann ich eine zuverlässige immobilienbewertung für eine scheidung in bremen bekommen',imp:5,clicks:0,pos:6.0},{q:'ihr fairer makler hamburg',imp:4,clicks:0,pos:2.0},{q:'wo finde ich anbieter für wertermittlung von häusern in bremen',imp:4,clicks:0,pos:7.5},{q:'bewertung immobilie erbfall bremen',imp:3,clicks:0,pos:10.0},{q:'haus wertermittlung bremen beauftragen',imp:3,clicks:0,pos:9.0},{q:'immobilienbewertung in bremen',imp:2,clicks:0,pos:38.0},{q:'makler bewerten',imp:2,clicks:0,pos:45.0},{q:'makler in weiche',imp:2,clicks:0,pos:67.5},{q:'immobilie bewerten kostenlos ohne email',imp:1,clicks:0,pos:1.0},{q:'immobilie wertermittlung bremen beauftragen',imp:1,clicks:0,pos:5.0},{q:'immobilienwert',imp:1,clicks:0,pos:5.0},{q:'kostenlose immobilien bewerten',imp:1,clicks:0,pos:5.0},{q:'makler bewertung kaufen',imp:1,clicks:0,pos:53.0},{q:'verkehrswertgutachten immobilien kosten',imp:1,clicks:0,pos:3.0},{q:'wertermittlung bremen',imp:1,clicks:0,pos:27.0},{q:'wie ermittelt das finanzamt den wert eines hauses 2023',imp:1,clicks:0,pos:2.0},{q:'wo kann ich eine haus wertermittlung in bremen beauftragen',imp:1,clicks:0,pos:13.0},{q:'wo kann ich eine immobilienbewertung im zusammenhang mit einer erbschaft in bremen durchführen lassen',imp:1,clicks:0,pos:9.0}],'/blog/':[{q:'ihr fairer makler',imp:129,clicks:0,pos:1.9},{q:'fairer makler',imp:14,clicks:0,pos:1.6},{q:'ihr fairer makler bremen',imp:12,clicks:0,pos:2.0},{q:'fairer makler bremen',imp:10,clicks:0,pos:2.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:10,clicks:0,pos:1.7},{q:'haus verkaufen ablauf bremen',imp:2,clicks:0,pos:19.5},{q:'fair immobilien bremen',imp:1,clicks:0,pos:27.0},{q:'verkaufen ohne makler bremen',imp:1,clicks:0,pos:24.0}],'/cookie-richtlinie-eu/':[{q:'immobilienmakler homepage cookies',imp:2,clicks:0,pos:42.5},{q:'fairer makler',imp:1,clicks:0,pos:2.0}],'/datenschutz/':[{q:'ihr fairer makler',imp:58,clicks:0,pos:1.9},{q:'david mayer immobilien gmbh',imp:11,clicks:0,pos:9.4},{q:'fairer makler',imp:10,clicks:0,pos:1.6},{q:'fairer makler bremen',imp:6,clicks:0,pos:2.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:2,clicks:0,pos:1.5},{q:'ihr fairer makler bremen',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler hamburg',imp:1,clicks:0,pos:2.0}],'/haus-verkaufen-bremen/':[{q:'wo kann ich mein haus in bremen verkaufen lassen',imp:7,clicks:0,pos:8.4},{q:'haus in bremen verkaufen lassen',imp:6,clicks:0,pos:7.8},{q:'wo kann ich in bremen meine immobilie verkaufen lassen?',imp:5,clicks:0,pos:11.2},{q:'fairer makler',imp:2,clicks:0,pos:2.0},{q:'ihr fairer makler',imp:2,clicks:0,pos:10.0},{q:'fairer makler bremen',imp:1,clicks:0,pos:2.0},{q:'haus verkaufen makler bremen',imp:1,clicks:0,pos:13.0},{q:'immobilie verkaufen bremen',imp:1,clicks:0,pos:99.0}],'/immobilienmakler-bremen-altstadt/':[{q:'ihr fairer makler',imp:29,clicks:0,pos:1.4},{q:'fairer makler bremen',imp:6,clicks:0,pos:1.8},{q:'fairer makler',imp:4,clicks:0,pos:1.8},{q:'ihr fairer makler - immobilienmakler bremen',imp:2,clicks:0,pos:1.5},{q:'ihr fairer makler bremen',imp:2,clicks:0,pos:1.5},{q:'immobilienmakler stadtkern',imp:2,clicks:0,pos:37.5}],'/immobilienmakler-bremen-buergerpark/':[{q:'ihr fairer makler',imp:24,clicks:0,pos:3.0},{q:'ihr fairer makler bremen',imp:10,clicks:0,pos:1.5},{q:'fairer makler',imp:2,clicks:0,pos:5.0},{q:'fairer makler bremen',imp:1,clicks:0,pos:2.0}],'/immobilienmakler-bremen-findorff/':[{q:'makler findorff',imp:32,clicks:0,pos:9.9},{q:'immobilienmakler bremen findorff',imp:19,clicks:0,pos:14.8},{q:'makler bremen findorff',imp:2,clicks:0,pos:11.5}],'/immobilienmakler-bremen-neu-schwachhausen/':[{q:'makler schwachhausen',imp:59,clicks:0,pos:12.7},{q:'immobilienmakler bremen schwachhausen',imp:41,clicks:1,pos:25.2},{q:'ihr fairer makler',imp:26,clicks:0,pos:1.7},{q:'ihr fairer makler bremen',imp:22,clicks:0,pos:1.5},{q:'immobilienmakler schwachhausen',imp:22,clicks:0,pos:12.5},{q:'ihr fairer makler - immobilienmakler bremen',imp:10,clicks:0,pos:1.7},{q:'makler in schwachhausen',imp:7,clicks:0,pos:13.4},{q:'immobilienbewertung schwachhausen',imp:6,clicks:0,pos:39.2},{q:'makler bremen schwachhausen',imp:5,clicks:0,pos:11.6},{q:'fairer makler bremen',imp:4,clicks:0,pos:1.5},{q:'immobilienberater schwachhausen',imp:2,clicks:0,pos:12.5},{q:'fairer makler',imp:1,clicks:0,pos:2.0},{q:'immobilienberater bremen schwachhausen',imp:1,clicks:0,pos:40.0}],'/immobilienmakler-bremen-oberneuland/':[{q:'ihr fairer makler',imp:13,clicks:0,pos:1.5},{q:'immobilienmakler oberneuland',imp:10,clicks:0,pos:17.9},{q:'immobilienmakler bremen oberneuland',imp:6,clicks:0,pos:18.7},{q:'fairer makler',imp:4,clicks:0,pos:2.0},{q:'fairer makler bremen',imp:3,clicks:0,pos:2.0},{q:'makler oberneuland',imp:2,clicks:0,pos:15.0},{q:'bremen oberneuland villen',imp:1,clicks:0,pos:30.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler bremen',imp:1,clicks:0,pos:2.0},{q:'immobilienberater oberneuland',imp:1,clicks:0,pos:17.0}],'/immobilienmakler-bremen-ostertor/':[{q:'ihr fairer makler',imp:36,clicks:0,pos:1.8},{q:'ihr fairer makler - immobilienmakler bremen',imp:11,clicks:0,pos:1.5},{q:'fairer makler',imp:10,clicks:0,pos:1.4},{q:'ihr fairer makler bremen',imp:10,clicks:0,pos:1.6},{q:'fairer makler bremen',imp:4,clicks:0,pos:1.8}],'/immobilienmakler-bremen-peterswerder/':[{q:'ihr fairer makler',imp:2,clicks:0,pos:2.0},{q:'fairer makler',imp:1,clicks:0,pos:1.0},{q:'fairer makler bremen',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:1.0},{q:'immobilie verkaufen peterswerder',imp:1,clicks:0,pos:9.0}],'/immobilienmakler-bremen-schwachhausen/':[{q:'immobilienmakler bremen schwachhausen',imp:33,clicks:0,pos:17.5},{q:'immobilienmakler schwachhausen',imp:16,clicks:0,pos:34.4},{q:'makler bremen schwachhausen',imp:12,clicks:0,pos:17.8},{q:'makler schwachhausen',imp:12,clicks:0,pos:32.0},{q:'immobilienbewertung schwachhausen',imp:11,clicks:0,pos:23.9},{q:'makler in schwachhausen',imp:6,clicks:0,pos:34.2},{q:'ihr fairer makler',imp:5,clicks:0,pos:1.6},{q:'ihr fairer makler - immobilienmakler bremen',imp:2,clicks:0,pos:1.5},{q:'immobilienberater bremen schwachhausen',imp:2,clicks:0,pos:20.0},{q:'immobilienberater schwachhausen',imp:2,clicks:0,pos:40.0}],'/immobilienmakler-bremen-sebaldsbrueck/':[{q:'ihr fairer makler',imp:2,clicks:0,pos:8.5}],'/immobilienmakler-bremen-steintor/':[{q:'ihr fairer makler',imp:51,clicks:0,pos:1.5},{q:'fairer makler',imp:4,clicks:0,pos:1.8},{q:'fairer makler bremen',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler bremen',imp:1,clicks:0,pos:2.0}],'/immobilienmakler-bremen/':[{q:'ihr fairer makler',imp:153,clicks:2,pos:1.9},{q:'immobilienmakler bremen',imp:37,clicks:0,pos:43.7},{q:'fair immobilien bremen',imp:30,clicks:0,pos:8.4},{q:'ihr fairer makler bremen',imp:23,clicks:0,pos:2.0},{q:'fairer makler',imp:22,clicks:0,pos:1.5},{q:'ihr fairer makler - immobilienmakler bremen',imp:19,clicks:0,pos:1.6},{q:'maklerprovision bremen',imp:18,clicks:0,pos:37.2},{q:'bremen news',imp:17,clicks:0,pos:5.0},{q:'hausbewertung bremen',imp:15,clicks:0,pos:38.2},{q:'fairer makler bremen',imp:13,clicks:0,pos:1.8},{q:'makler bremen',imp:10,clicks:0,pos:52.3},{q:'ihr immobilienmakler',imp:9,clicks:0,pos:40.0},{q:'bremen vegesack',imp:8,clicks:0,pos:3.0},{q:'makler vahr',imp:8,clicks:0,pos:15.6},{q:'vergleiche makler für hausverkauf in bremen',imp:7,clicks:0,pos:8.7},{q:'bremen neustadt',imp:6,clicks:0,pos:2.8},{q:'familie hollweg bremen',imp:5,clicks:0,pos:2.0},{q:'großeinsatz bremen heute',imp:5,clicks:0,pos:2.0},{q:'ihr fairer makler hamburg',imp:5,clicks:0,pos:2.0},{q:'summer sounds bremen',imp:5,clicks:0,pos:4.8},{q:'wetter bremen',imp:5,clicks:0,pos:5.0},{q:'blockland bremen',imp:4,clicks:0,pos:3.2},{q:'bremen schwachhausen',imp:4,clicks:0,pos:3.2},{q:'ihre makler',imp:4,clicks:0,pos:6.5},{q:'immobilienmakler bremen nord',imp:4,clicks:0,pos:66.8},{q:'makler',imp:4,clicks:0,pos:7.5},{q:'martin prange bremen',imp:4,clicks:0,pos:2.8},{q:'b2run bremen',imp:3,clicks:0,pos:2.0},{q:'borgfeld',imp:3,clicks:0,pos:3.0},{q:'bremen findorff',imp:3,clicks:0,pos:3.0},{q:'immobilienmakler bremen walle',imp:3,clicks:0,pos:11.0},{q:'immobilienmakler in bremen',imp:3,clicks:0,pos:61.3},{q:'makler immobilienmakler',imp:3,clicks:0,pos:37.0},{q:'makler viertel bremen',imp:3,clicks:0,pos:21.7},{q:'summersounds bremen programm',imp:3,clicks:0,pos:8.0},{q:'villenviertel bremen',imp:3,clicks:0,pos:2.0},{q:'achim bei bremen',imp:2,clicks:0,pos:4.0},{q:'an der weide bremen',imp:2,clicks:0,pos:7.0},{q:'bremen borgfeld',imp:2,clicks:0,pos:3.0},{q:'bremen nachrichten',imp:2,clicks:0,pos:9.5},{q:'bremen st magnus',imp:2,clicks:0,pos:3.5},{q:'breminale 2026',imp:2,clicks:0,pos:2.0},{q:'daniela klette bremen',imp:2,clicks:0,pos:7.5},{q:'ehemalige professoren uni bremen',imp:2,clicks:0,pos:5.5},{q:'einwohner bremen',imp:2,clicks:0,pos:3.0},{q:'fesenfeld bremen',imp:2,clicks:0,pos:3.0},{q:'hemelingen',imp:2,clicks:0,pos:2.0},{q:'ihre immobilie',imp:2,clicks:0,pos:39.0},{q:'makler hemelingen',imp:2,clicks:0,pos:17.5},{q:'nachrichten bremen',imp:2,clicks:0,pos:5.5},{q:'schießerei bremen',imp:2,clicks:0,pos:9.5},{q:'tietjenstraße bremen',imp:2,clicks:0,pos:2.0},{q:'waterfront bremen',imp:2,clicks:0,pos:3.0},{q:'weserpark',imp:2,clicks:0,pos:3.0},{q:'weserpark bremen',imp:2,clicks:0,pos:2.5},{q:'wetter bremen heute',imp:2,clicks:0,pos:5.5},{q:'wetter morgen in bremen',imp:2,clicks:0,pos:3.5},{q:'überseestadt bremen',imp:2,clicks:0,pos:3.0},{q:'0421 58904931',imp:1,clicks:0,pos:2.0},{q:'115 bremen',imp:1,clicks:0,pos:3.0},{q:'"28209"',imp:1,clicks:0,pos:3.0},{q:'28211 bremen',imp:1,clicks:0,pos:3.0},{q:'28213 bremen',imp:1,clicks:0,pos:2.0},{q:'28217 bremen',imp:1,clicks:0,pos:3.0},{q:'al najmah bremen',imp:1,clicks:0,pos:11.0},{q:'aladin bremen',imp:1,clicks:0,pos:3.0},{q:'aladin bremen früher',imp:1,clicks:0,pos:3.0},{q:'aladin music-hall',imp:1,clicks:0,pos:3.0},{q:'aladin music-hall fotos',imp:1,clicks:0,pos:2.0},{q:'alte mühle bremen',imp:1,clicks:0,pos:6.0},{q:'am jürgens holz bremen',imp:1,clicks:0,pos:4.0},{q:'andre rieu bremen',imp:1,clicks:0,pos:4.0},{q:'aumund bremen',imp:1,clicks:0,pos:3.0},{q:'ausländeranteil bremen gröpelingen',imp:1,clicks:0,pos:2.0},{q:'ausländeranteil in bremen',imp:1,clicks:0,pos:2.0},{q:'azul bremen',imp:1,clicks:0,pos:3.0},{q:'barkhof bremen',imp:1,clicks:0,pos:3.0},{q:'bauamt bremen',imp:1,clicks:0,pos:4.0},{q:'bauamt bremen ansprechpartner',imp:1,clicks:0,pos:4.0},{q:'berthold vollers gmbh bremen',imp:1,clicks:0,pos:3.0},{q:'bildungssenatorin bremen',imp:1,clicks:0,pos:4.0},{q:'blumenthaler sv',imp:1,clicks:0,pos:7.0},{q:'bmw firmenlauf bremen 2026',imp:1,clicks:0,pos:6.0},{q:'borgfeld bremen',imp:1,clicks:0,pos:3.0},{q:'brand bremen heute buten und binnen',imp:1,clicks:0,pos:4.0},{q:'bremen',imp:1,clicks:0,pos:4.0},{q:'bremen aktuell',imp:1,clicks:0,pos:5.0},{q:'bremen bevölkerung',imp:1,clicks:0,pos:3.0},{q:'bremen blumenthal',imp:1,clicks:0,pos:3.0},{q:'bremen burg grambke',imp:1,clicks:0,pos:5.0},{q:'bremen de',imp:1,clicks:0,pos:3.0},{q:'bremen de kontakte',imp:1,clicks:0,pos:4.0},{q:'bremen einwohner',imp:1,clicks:0,pos:3.0},{q:'bremen einwohner 2025',imp:1,clicks:0,pos:3.0},{q:'bremen einwohner 2026',imp:1,clicks:0,pos:3.0},{q:'bremen findorf',imp:1,clicks:0,pos:3.0},{q:'bremen gete',imp:1,clicks:0,pos:3.0},{q:'bremen habenhausen',imp:1,clicks:0,pos:2.0},{q:'bremen hastedt',imp:1,clicks:0,pos:3.0},{q:'bremen hastedt karte',imp:1,clicks:0,pos:3.0},{q:'bremen hausverwaltung',imp:1,clicks:0,pos:13.0},{q:'bremen hemelingen',imp:1,clicks:0,pos:3.0},{q:'bremen hillmannplatz',imp:1,clicks:0,pos:4.0},{q:'bremen immobilienmakler',imp:1,clicks:0,pos:78.0},{q:'bremen karte',imp:1,clicks:0,pos:3.0},{q:'bremen kattenturm',imp:1,clicks:0,pos:3.0},{q:'bremen lehe',imp:1,clicks:0,pos:3.0},{q:'bremen mitte klinikum',imp:1,clicks:0,pos:13.0},{q:'bremen neue vahr',imp:1,clicks:0,pos:2.0},{q:'bremen osterfeuerberg',imp:1,clicks:0,pos:3.0},{q:'bremen osterholzer friedhof',imp:1,clicks:0,pos:5.0},{q:'bremen party heute',imp:1,clicks:0,pos:5.0},{q:'bremen pier 2',imp:1,clicks:0,pos:3.0},{q:'bremen polizeieinsatz heute',imp:1,clicks:0,pos:7.0},{q:'bremen rönnebeck',imp:1,clicks:0,pos:4.0},{q:'bremen teerhof',imp:1,clicks:0,pos:3.0},{q:'bremen toter säugling',imp:1,clicks:0,pos:3.0},{q:'bremen unesco weltkulturerbe',imp:1,clicks:0,pos:4.0},{q:'bremen vahr',imp:1,clicks:0,pos:3.0},{q:'bremen wartburgstraße',imp:1,clicks:0,pos:3.0},{q:'bremen west',imp:1,clicks:0,pos:2.0},{q:'bremen wetter',imp:1,clicks:0,pos:3.0},{q:'bremen wird bunt',imp:1,clicks:0,pos:9.0},{q:'bremen überseestadt',imp:1,clicks:0,pos:3.0},{q:'bremen.de',imp:1,clicks:0,pos:3.0},{q:'bremer dom',imp:1,clicks:0,pos:4.0},{q:'bremer rathaus geschichte',imp:1,clicks:0,pos:3.0},{q:'breminale',imp:1,clicks:0,pos:2.0},{q:'brücke',imp:1,clicks:0,pos:2.0},{q:'bsgav bremen',imp:1,clicks:0,pos:3.0},{q:'bunte liga bremen spielplan',imp:1,clicks:0,pos:10.0},{q:'bürgerservicecenter bremen vegesack',imp:1,clicks:0,pos:3.0},{q:'chameleon bremen',imp:1,clicks:0,pos:13.0},{q:'das wetter in bremen',imp:1,clicks:0,pos:3.0},{q:'david mayer immobilien gmbh',imp:1,clicks:0,pos:45.0},{q:'deck 20 - die bar im landmark',imp:1,clicks:0,pos:5.0},{q:'die glocke bremen',imp:1,clicks:0,pos:3.0},{q:'dionne warwick bremen',imp:1,clicks:0,pos:3.0},{q:'dorint city-hotel bremen fotos',imp:1,clicks:0,pos:3.0},{q:'dorint hotel bremen',imp:1,clicks:0,pos:3.0},{q:'ebay kleinanzeigen bremen immobilien',imp:1,clicks:0,pos:5.0},{q:'einschulung bremen 2026',imp:1,clicks:0,pos:2.0},{q:'einwohner bremen 2026',imp:1,clicks:0,pos:3.0},{q:'einwohnerzahl bremen 2026',imp:1,clicks:0,pos:3.0},{q:'ellenerbrok schevemoor bremen',imp:1,clicks:0,pos:4.0},{q:'elsasser straße bremen',imp:1,clicks:0,pos:2.0},{q:'erlenstraße bremen',imp:1,clicks:0,pos:3.0},{q:'fair immobilien',imp:1,clicks:0,pos:11.0},{q:'findorff',imp:1,clicks:0,pos:3.0},{q:'findorff fest 2026',imp:1,clicks:0,pos:5.0},{q:'firmenlauf bremen 2026',imp:1,clicks:0,pos:4.0},{q:'fraunhofer bremen',imp:1,clicks:0,pos:2.0},{q:'freibad blumenthal',imp:1,clicks:0,pos:4.0},{q:'freier makler',imp:1,clicks:0,pos:22.0},{q:'funkschneise bremen',imp:1,clicks:0,pos:5.0},{q:'fährstraße bremen',imp:1,clicks:0,pos:9.0},{q:'galeria bremen',imp:1,clicks:0,pos:4.0},{q:'galeria kaufhof bremen',imp:1,clicks:0,pos:4.0},{q:'galopprennbahn bremen konzerte',imp:1,clicks:0,pos:5.0},{q:'geburtenrate bremen',imp:1,clicks:0,pos:5.0},{q:'gete bremen',imp:1,clicks:0,pos:3.0},{q:'gete viertel bremen stadtplan',imp:1,clicks:0,pos:3.0},{q:'gibt es heute noch regen',imp:1,clicks:0,pos:2.0},{q:'google maps bremen schwachhausen',imp:1,clicks:0,pos:3.0},{q:'grambke bremen',imp:1,clicks:0,pos:5.0},{q:'gröpelingen',imp:1,clicks:0,pos:3.0},{q:'grünbergstraße bremen',imp:1,clicks:0,pos:3.0},{q:'gymnasien bremen liste',imp:1,clicks:0,pos:3.0},{q:'hafen bremen',imp:1,clicks:0,pos:4.0},{q:'halsmühlener straße bremen',imp:1,clicks:0,pos:6.0},{q:'haus im viertel',imp:1,clicks:0,pos:7.0},{q:'haus verkaufen hannover wohnung verkaufen hannover immobilien hannover immobilien bremen haus verkaufen bremen wohnung verkaufen bremen immobilienmakler hannover immobilienmakler bremen makler hannover makler bremen',imp:1,clicks:0,pos:58.0},{q:'hbg bremen',imp:1,clicks:0,pos:4.0},{q:'hermann böse gymnasium',imp:1,clicks:0,pos:5.0},{q:'herrlichkeit bremen',imp:1,clicks:0,pos:6.0},{q:'hs bremen',imp:1,clicks:0,pos:4.0},{q:'huchting',imp:1,clicks:0,pos:3.0},{q:'höffner bremen weserpark',imp:1,clicks:0,pos:4.0},{q:'ihr makler',imp:1,clicks:0,pos:43.0},{q:'immobilienmakler bremen faq',imp:1,clicks:0,pos:20.0},{q:'immobilienmakler bremen findorff',imp:1,clicks:0,pos:64.0},{q:'immobilienmarkler bremen',imp:1,clicks:0,pos:44.0},{q:'jacobs university bremen',imp:1,clicks:0,pos:4.0},{q:'jakobushaus bremen',imp:1,clicks:0,pos:6.0},{q:'jennifer müller-wilckens',imp:1,clicks:0,pos:6.0},{q:'karte bremen',imp:1,clicks:0,pos:5.0},{q:'kattenturm',imp:1,clicks:0,pos:2.0},{q:'kellogs bremen',imp:1,clicks:0,pos:3.0},{q:'kippenberg-gymnasium schüler tot',imp:1,clicks:0,pos:5.0},{q:'klaus meier bremen',imp:1,clicks:0,pos:3.0},{q:'klinikum bremen-mitte stationen',imp:1,clicks:0,pos:2.0},{q:'konzerte glocke bremen 2026',imp:1,clicks:0,pos:5.0},{q:'kurfürstenallee bremen',imp:1,clicks:0,pos:9.0},{q:'kutterpullen bremen',imp:1,clicks:0,pos:5.0},{q:'landeskommando bremen',imp:1,clicks:0,pos:5.0},{q:'landkreis bremen',imp:1,clicks:0,pos:3.0},{q:'lange nacht der museen bremen 2026',imp:1,clicks:0,pos:5.0},{q:'leffers vegesack',imp:1,clicks:0,pos:4.0},{q:'lehe bremen',imp:1,clicks:0,pos:4.0},{q:'lestra bremen',imp:1,clicks:0,pos:5.0},{q:'lesum',imp:1,clicks:0,pos:6.0},{q:'lilienthal falkenberg',imp:1,clicks:0,pos:6.0},{q:'made in bremen',imp:1,clicks:0,pos:2.0},{q:'makler bremen bewertungen',imp:1,clicks:0,pos:12.0},{q:'makler in bremen',imp:1,clicks:0,pos:46.0},{q:'marcks haus bremen',imp:1,clicks:0,pos:4.0},{q:'mathildenstraße bremen',imp:1,clicks:0,pos:4.0},{q:'maurerarbeiten bremen',imp:1,clicks:0,pos:10.0},{q:'meierei bremen',imp:1,clicks:0,pos:3.0},{q:'menke park bremen',imp:1,clicks:0,pos:7.0},{q:'michael jackson bremen',imp:1,clicks:0,pos:3.0},{q:'millstätter straße bremen',imp:1,clicks:0,pos:4.0},{q:'mittagstisch meierei',imp:1,clicks:0,pos:10.0},{q:'nachrichten in bremen',imp:1,clicks:0,pos:4.0},{q:'nacht der museen bremen 2026',imp:1,clicks:0,pos:4.0},{q:'nebelthau gymnasium',imp:1,clicks:0,pos:2.0},{q:'nelson valdez restaurant',imp:1,clicks:0,pos:3.0},{q:'neukirchstraße bremen',imp:1,clicks:0,pos:3.0},{q:'neustadt bremen',imp:1,clicks:0,pos:4.0},{q:'neustadtswallanlagen veranstaltungen',imp:1,clicks:0,pos:4.0},{q:'oberneuland bremen',imp:1,clicks:0,pos:3.0},{q:'obervieland bremen',imp:1,clicks:0,pos:3.0},{q:'offener sonntag bremen 2026',imp:1,clicks:0,pos:3.0},{q:'osl bremen',imp:1,clicks:0,pos:3.0},{q:'parkview bremen',imp:1,clicks:0,pos:7.0},{q:'performa bremen',imp:1,clicks:0,pos:3.0},{q:'peter maffay konzert 2026',imp:1,clicks:0,pos:3.0},{q:'pier 2 bremen',imp:1,clicks:0,pos:2.0},{q:'polizeieinsatz bremen mahndorf heute',imp:1,clicks:0,pos:5.0},{q:'polizeieinsatz bremen nord',imp:1,clicks:0,pos:5.0},{q:'rablinghausen',imp:1,clicks:0,pos:5.0},{q:'rene böhme uni bremen',imp:1,clicks:0,pos:5.0},{q:'robert c. spies',imp:1,clicks:0,pos:5.0},{q:'roland in bremen',imp:1,clicks:0,pos:2.0},{q:'rotkreuz krankenhaus bremen',imp:1,clicks:0,pos:2.0},{q:'schießerei bremen heute',imp:1,clicks:0,pos:6.0},{q:'schwachhausen',imp:1,clicks:0,pos:3.0},{q:'sebaldsbrück',imp:1,clicks:0,pos:3.0},{q:'sg immobilien bremen',imp:1,clicks:0,pos:11.0},{q:'sperberstraße bremen',imp:1,clicks:0,pos:2.0},{q:'spittaler straße bremen',imp:1,clicks:0,pos:6.0},{q:'stader straße bremen',imp:1,clicks:0,pos:8.0},{q:'stadt bremen einwohner',imp:1,clicks:0,pos:4.0},{q:'stadtarchiv bremen',imp:1,clicks:0,pos:5.0},{q:'stadtfest achim programm',imp:1,clicks:0,pos:2.0},{q:'stadtteilfarm huchting',imp:1,clicks:0,pos:5.0},{q:'straßburger straße bremen',imp:1,clicks:0,pos:5.0},{q:'straßenfest bremen',imp:1,clicks:0,pos:7.0},{q:'stuhr',imp:1,clicks:0,pos:4.0},{q:'summer sounds bremen 2026',imp:1,clicks:0,pos:3.0},{q:'summersounds bremen 2026',imp:1,clicks:0,pos:5.0},{q:'sv hemelingen',imp:1,clicks:0,pos:5.0},{q:'sögestraße bremen',imp:1,clicks:0,pos:3.0},{q:'tabakquartier bremen',imp:1,clicks:0,pos:4.0},{q:'tafel bremen hemelingen',imp:1,clicks:0,pos:3.0},{q:'taxi bremen',imp:1,clicks:0,pos:4.0},{q:'taxi unternehmen bremen',imp:1,clicks:0,pos:6.0},{q:'tedi bremen vegesack',imp:1,clicks:0,pos:4.0},{q:'temperatur in bremen',imp:1,clicks:0,pos:3.0},{q:'tenever bremen',imp:1,clicks:0,pos:3.0},{q:'thomas bremen',imp:1,clicks:0,pos:3.0},{q:'tödlicher unfall bremen nord',imp:1,clicks:0,pos:5.0},{q:'uwe hollweg kinder',imp:1,clicks:0,pos:3.0},{q:'vahr bremen',imp:1,clicks:0,pos:4.0},{q:'veranstaltungen bremen diesen monat',imp:1,clicks:0,pos:5.0},{q:'vertretungspool bremen',imp:1,clicks:0,pos:10.0},{q:'vollers bremen jobs',imp:1,clicks:0,pos:4.0},{q:'vorlesungsfreie zeit uni bremen',imp:1,clicks:0,pos:3.0},{q:'vulkan werft bremen',imp:1,clicks:0,pos:2.0},{q:'wallanlagen bremen',imp:1,clicks:0,pos:4.0},{q:'walle center',imp:1,clicks:0,pos:3.0},{q:'walter kott haus bremen',imp:1,clicks:0,pos:4.0},{q:'warum ist bremen ein stadtstaat',imp:1,clicks:0,pos:3.0},{q:'weser report nicht erhalten',imp:1,clicks:0,pos:5.0},{q:'wetter bremen 30 tage',imp:1,clicks:0,pos:4.0},{q:'wetter bremen 7 tage',imp:1,clicks:0,pos:3.0},{q:'wetter bremen lesum',imp:1,clicks:0,pos:3.0},{q:'wetter oberneuland',imp:1,clicks:0,pos:3.0},{q:'wie viele einwohner hat die stadt bremen',imp:1,clicks:0,pos:3.0},{q:'wohnungsmarkt',imp:1,clicks:0,pos:6.0},{q:'woltmershausen',imp:1,clicks:0,pos:5.0},{q:'www.bremen.de',imp:1,clicks:0,pos:2.0},{q:'zentralbad bremen',imp:1,clicks:0,pos:8.0},{q:'zentrale bremen',imp:1,clicks:0,pos:4.0},{q:'östliche vorstadt bremen',imp:1,clicks:0,pos:4.0},{q:'övb arena',imp:1,clicks:0,pos:3.0},{q:'überseeinsel bremen',imp:1,clicks:0,pos:3.0}],'/kontakt/':[{q:'ihr fairer makler',imp:142,clicks:0,pos:1.6},{q:'ihr fairer makler bremen',imp:23,clicks:0,pos:1.6},{q:'fairer makler',imp:22,clicks:1,pos:1.5},{q:'fairer makler bremen',imp:13,clicks:0,pos:1.8},{q:'ihr fairer makler - immobilienmakler bremen',imp:13,clicks:0,pos:1.6},{q:'ihr fairer makler hamburg',imp:5,clicks:0,pos:2.0},{q:'immobilienmakler andernach',imp:1,clicks:0,pos:6.0}],'/wohnung-verkaufen-bremen-tipps-ablauf-und-wichtige-hinweise/':[{q:'haus verkaufen ablauf bremen',imp:21,clicks:0,pos:8.8},{q:'verkaufen und vermieten in bremen',imp:7,clicks:0,pos:29.0}],};
const DEFAULT_KW_MAP_P3 = {'/':[{q:'immobilienmakler bremen',imp:1176,clicks:7,pos:12.3},{q:'makler bremen',imp:876,clicks:11,pos:9.9},{q:'makler',imp:239,clicks:0,pos:38.2},{q:'ihr fairer makler',imp:198,clicks:97,pos:1.1},{q:'immobilie verkaufen bremen',imp:180,clicks:0,pos:17.9},{q:'immobilienmakler in bremen',imp:156,clicks:0,pos:11.3},{q:'makler in bremen',imp:154,clicks:3,pos:5.1},{q:'immobilienberater bremen',imp:110,clicks:0,pos:13.7},{q:'immobilienentwicklung bremen',imp:89,clicks:0,pos:7.5},{q:'immobilienmakler',imp:81,clicks:3,pos:8.1},{q:'immobilienberater in bremen',imp:69,clicks:0,pos:5.7},{q:'maklerprovision bremen',imp:66,clicks:0,pos:28.7},{q:'bremen makler',imp:59,clicks:0,pos:9.7},{q:'fair immobilien bremen',imp:58,clicks:1,pos:7.5},{q:'makler bremen mietwohnungen',imp:54,clicks:1,pos:5.8},{q:'bremen immobilienmakler',imp:51,clicks:0,pos:13.6},{q:'immobilien bremen',imp:51,clicks:1,pos:6.9},{q:'immobilienwert bremen',imp:50,clicks:0,pos:15.3},{q:'haus verkaufen makler bremen',imp:49,clicks:0,pos:9.6},{q:'makler in schwachhausen',imp:48,clicks:0,pos:5.2},{q:'immobilienmakler büro bremen',imp:47,clicks:0,pos:9.8},{q:'haus verkaufen makler',imp:40,clicks:0,pos:14.4},{q:'bremer immobilienmakler',imp:38,clicks:0,pos:20.2},{q:'immobilienbüro bremen',imp:36,clicks:0,pos:19.7},{q:'fairer makler',imp:35,clicks:11,pos:1.3},{q:'makler in der nähe',imp:34,clicks:0,pos:5.3},{q:'ihr fairer makler - immobilienmakler bremen',imp:32,clicks:7,pos:1.4},{q:'seriöse makler',imp:29,clicks:0,pos:6.1},{q:'immobilien',imp:28,clicks:0,pos:8.6},{q:'immobilien makler bremen',imp:28,clicks:1,pos:11.4},{q:'maklerbüro bremen',imp:28,clicks:0,pos:19.4},{q:'ihr fairer makler bremen',imp:25,clicks:12,pos:1.0},{q:'günstige makler',imp:23,clicks:0,pos:14.9},{q:'makler bremen schwachhausen',imp:23,clicks:1,pos:15.0},{q:'immobilien fesenfeld bremen',imp:22,clicks:0,pos:9.3},{q:'günstiger immobilienmakler',imp:21,clicks:0,pos:24.3},{q:'immobilien bremen makler',imp:19,clicks:0,pos:13.6},{q:'makler für immobilien',imp:19,clicks:0,pos:11.9},{q:'makler schwachhausen',imp:18,clicks:0,pos:9.3},{q:'immobilien makler in bremen',imp:15,clicks:0,pos:16.0},{q:'internationale immobilienmakler',imp:15,clicks:0,pos:23.0},{q:'makler website',imp:15,clicks:0,pos:65.4},{q:'immobilienmakler schwachhausen',imp:14,clicks:0,pos:13.7},{q:'david mayer immobilien gmbh',imp:13,clicks:2,pos:1.3},{q:'günstiger makler',imp:13,clicks:0,pos:19.5},{q:'immobilienangebote',imp:13,clicks:0,pos:7.8},{q:'immobilienmakler bremen walle',imp:13,clicks:0,pos:16.1},{q:'makler immobilienmakler',imp:13,clicks:0,pos:23.8},{q:'immobilienmakler bremen schwachhausen',imp:12,clicks:0,pos:8.0},{q:'immobilienmakler bremen neustadt',imp:11,clicks:0,pos:30.5},{q:'makler niedersachsen',imp:10,clicks:0,pos:14.9},{q:'wohnungsmakler bremen',imp:10,clicks:0,pos:7.0},{q:'fairer makler bremen',imp:9,clicks:5,pos:1.0},{q:'ihr immobilienmakler',imp:9,clicks:0,pos:14.8},{q:'immobilienmarkler bremen',imp:9,clicks:0,pos:6.7},{q:'markler',imp:9,clicks:0,pos:3.4},{q:'makler für mietwohnungen',imp:8,clicks:1,pos:3.0},{q:'fairmakler immobilien',imp:7,clicks:1,pos:4.6},{q:'immobilie bewerten bremen',imp:7,clicks:0,pos:7.1},{q:'immobilien makler',imp:7,clicks:0,pos:7.9},{q:'immobilienmakler bremen findorff',imp:7,clicks:0,pos:17.3},{q:'immobilienmakler oberneuland',imp:7,clicks:0,pos:15.9},{q:'immobilienverkauf',imp:7,clicks:0,pos:3.4},{q:'immobilienvermittlung',imp:7,clicks:0,pos:5.1},{q:'mein makler',imp:7,clicks:0,pos:4.1},{q:'mietwohnung ohne makler',imp:7,clicks:0,pos:12.1},{q:'bester makler',imp:6,clicks:0,pos:1.3},{q:'immobilienagentur',imp:6,clicks:0,pos:5.8},{q:'immobilienfirmen bremen',imp:6,clicks:1,pos:29.3},{q:'immobilienmakler bremen telefon',imp:6,clicks:0,pos:8.0},{q:'internationaler immobilienmakler',imp:6,clicks:0,pos:15.2},{q:'bremer makler',imp:5,clicks:0,pos:32.2},{q:'fair immobilien',imp:5,clicks:1,pos:26.6},{q:'faire immobilienberatung',imp:5,clicks:0,pos:5.2},{q:'fairmakler',imp:5,clicks:3,pos:6.4},{q:'immobilie verkaufen makler',imp:5,clicks:0,pos:14.4},{q:'immobilien verkaufen bremen',imp:5,clicks:0,pos:28.6},{q:'immobilienmakler bremen oberneuland',imp:5,clicks:0,pos:46.8},{q:'immobilienmakler provision deutschland',imp:5,clicks:0,pos:82.4},{q:'immobilienverkauf bremen',imp:5,clicks:0,pos:13.6},{q:'maklerin',imp:5,clicks:0,pos:3.8},{q:'real estate investing',imp:5,clicks:0,pos:8.2},{q:'wohnung mieten',imp:5,clicks:0,pos:10.2},{q:'wohnungsmakler',imp:5,clicks:0,pos:10.8},{q:'ehrlich und fair',imp:4,clicks:0,pos:26.0},{q:'fair makler',imp:4,clicks:1,pos:6.5},{q:'fair und freundlich',imp:4,clicks:0,pos:35.2},{q:'hausverwaltung bremen',imp:4,clicks:0,pos:54.2},{q:'ich suche maklersoftware für immobilienmakler.',imp:4,clicks:0,pos:14.0},{q:'ihre makler immobilien gmbh',imp:4,clicks:0,pos:11.5},{q:'immobilie bremen',imp:4,clicks:0,pos:28.5},{q:'immobilien bremen und umgebung',imp:4,clicks:0,pos:20.0},{q:'immobilienbewertung bremen',imp:4,clicks:0,pos:21.2},{q:'immobilienhandel',imp:4,clicks:0,pos:13.2},{q:'immobilienmakler in der nähe',imp:4,clicks:1,pos:2.2},{q:'immobilienmakler programm',imp:4,clicks:0,pos:40.8},{q:'immobilienvermietung',imp:4,clicks:0,pos:8.5},{q:'makler mietwohnung',imp:4,clicks:1,pos:3.2},{q:'makler oder makler',imp:4,clicks:0,pos:55.5},{q:'makler vor ort',imp:4,clicks:0,pos:19.0},{q:'maklerin bremen',imp:4,clicks:0,pos:9.5},{q:'wohnimmobilien',imp:4,clicks:0,pos:17.8},{q:'wohnung mieten bremen',imp:4,clicks:0,pos:19.8},{q:'bremen immobilien',imp:3,clicks:0,pos:2.0},{q:'david mayer headshot',imp:3,clicks:0,pos:64.0},{q:'fairer',imp:3,clicks:0,pos:8.3},{q:'guten makler finden',imp:3,clicks:0,pos:3.0},{q:'haus verkaufen bremen',imp:3,clicks:0,pos:13.0},{q:'ihr',imp:3,clicks:0,pos:4.7},{q:'ihr makler',imp:3,clicks:0,pos:10.3},{q:'ihre makler',imp:3,clicks:0,pos:13.3},{q:'immobilien in bremen',imp:3,clicks:0,pos:8.7},{q:'immobilien zum verkauf',imp:3,clicks:0,pos:10.3},{q:'immobilienmakler bremen miete',imp:3,clicks:1,pos:5.0},{q:'immobilienmakler bremen nord',imp:3,clicks:0,pos:76.0},{q:'immobilienunternehmen bremen',imp:3,clicks:0,pos:19.3},{q:'makler bremen nord',imp:3,clicks:0,pos:50.3},{q:'makler oder markler',imp:3,clicks:0,pos:1.3},{q:'makler ohne provision',imp:3,clicks:0,pos:15.3},{q:'maklerbüro',imp:3,clicks:0,pos:1.0},{q:'miriam kram',imp:3,clicks:0,pos:4.0},{q:'real estate agent',imp:3,clicks:0,pos:9.0},{q:'torsten mayer immobilien',imp:3,clicks:0,pos:23.7},{q:'türkische immobilienmakler',imp:3,clicks:0,pos:3.7},{q:'web makler',imp:3,clicks:0,pos:63.3},{q:'wie finde ich günstige immobilien mit einem makler?',imp:3,clicks:0,pos:3.3},{q:'courtage makler',imp:2,clicks:0,pos:8.0},{q:'dahler bremen',imp:2,clicks:0,pos:43.0},{q:'der makler',imp:2,clicks:0,pos:1.0},{q:'ehrlich und fair immobilien',imp:2,clicks:0,pos:38.0},{q:'exklusive immobilien',imp:2,clicks:0,pos:20.5},{q:'gewerbeimmobilienmakler bremen',imp:2,clicks:0,pos:18.0},{q:'hausverkauf',imp:2,clicks:0,pos:6.0},{q:'hausverwaltung',imp:2,clicks:0,pos:13.0},{q:'ihre immobilie',imp:2,clicks:0,pos:24.0},{q:'imakler',imp:2,clicks:0,pos:4.0},{q:'immo',imp:2,clicks:0,pos:10.5},{q:'immo makler',imp:2,clicks:0,pos:8.0},{q:'immobilie',imp:2,clicks:0,pos:11.0},{q:'immobilien agent',imp:2,clicks:0,pos:3.0},{q:'immobilien firma englisch',imp:2,clicks:0,pos:16.0},{q:'immobilien ohne makler',imp:2,clicks:0,pos:7.0},{q:'immobilien vermittler',imp:2,clicks:0,pos:4.5},{q:'immobilienanbieter bremen',imp:2,clicks:0,pos:42.0},{q:'immobilienberater',imp:2,clicks:0,pos:7.5},{q:'immobilienberatung',imp:2,clicks:0,pos:4.0},{q:'immobilienbüro',imp:2,clicks:0,pos:6.0},{q:'immobilienfirma bremen',imp:2,clicks:0,pos:2.5},{q:'immobilienmakler bremen horn',imp:2,clicks:0,pos:11.0},{q:'immobilienmarkler',imp:2,clicks:0,pos:2.0},{q:'immobilienmarkt',imp:2,clicks:0,pos:13.0},{q:'immoblien',imp:2,clicks:0,pos:12.0},{q:'internetmakler',imp:2,clicks:0,pos:28.5},{q:'investment immobilien bremen',imp:2,clicks:0,pos:25.5},{q:'makelr',imp:2,clicks:0,pos:4.5},{q:'makler bremen findorff',imp:2,clicks:0,pos:7.0},{q:'makler finden',imp:2,clicks:0,pos:8.0},{q:'makler für hausverkauf',imp:2,clicks:0,pos:1.5},{q:'makler für mietwohnung',imp:2,clicks:0,pos:5.0},{q:'makler für wohnungssuche',imp:2,clicks:0,pos:2.0},{q:'makler immobilien',imp:2,clicks:0,pos:3.5},{q:'makler pappelstraße',imp:2,clicks:0,pos:17.5},{q:'makler wohnung mieten',imp:2,clicks:0,pos:8.0},{q:'makler-marktforschung',imp:2,clicks:0,pos:12.5},{q:'maklervergleich köln',imp:2,clicks:0,pos:72.0},{q:'mietwohnung suchen mit makler',imp:2,clicks:0,pos:6.5},{q:'ohne makler bremen',imp:2,clicks:0,pos:27.0},{q:'privatimmobilien',imp:2,clicks:0,pos:5.0},{q:'real estate',imp:2,clicks:0,pos:7.5},{q:'verkaufen ohne makler bremen',imp:2,clicks:0,pos:19.5},{q:'+homepage +makler',imp:1,clicks:0,pos:2.0},{q:'agent',imp:1,clicks:0,pos:6.0},{q:'assistenz immobilienmakler',imp:1,clicks:0,pos:6.0},{q:'die immobilienmakler',imp:1,clicks:0,pos:2.0},{q:'eigentumswohnun',imp:1,clicks:0,pos:3.0},{q:'eigentumswohnungen bremen',imp:1,clicks:0,pos:5.0},{q:'estate agent',imp:1,clicks:0,pos:12.0},{q:'faire immobilien',imp:1,clicks:0,pos:20.0},{q:'farnaz hug',imp:1,clicks:0,pos:7.0},{q:'freier makler',imp:1,clicks:0,pos:1.0},{q:'gewerbeimmobilien',imp:1,clicks:0,pos:11.0},{q:'gewerbeimmobilien bremen',imp:1,clicks:0,pos:22.0},{q:'gewoba bremen',imp:1,clicks:0,pos:8.0},{q:'gewoba bremen 2-zimmer-wohnung mieten',imp:1,clicks:0,pos:5.0},{q:'gewoba bremen 3-zimmer wohnung mieten',imp:1,clicks:0,pos:6.0},{q:'gmbh makler',imp:1,clicks:0,pos:4.0},{q:'gutachter bremen',imp:1,clicks:0,pos:9.0},{q:'gute immobilienmakler',imp:1,clicks:0,pos:6.0},{q:'home office teilzeit',imp:1,clicks:0,pos:1.0},{q:'immbil',imp:1,clicks:0,pos:3.0},{q:'immobilie in bremen',imp:1,clicks:0,pos:31.0},{q:'immobilie verkaufen',imp:1,clicks:0,pos:2.0},{q:'immobilie verkaufen schwachhausen',imp:1,clicks:0,pos:31.0},{q:'immobilien anbieter',imp:1,clicks:0,pos:2.0},{q:'immobilien anzeigen',imp:1,clicks:0,pos:12.0},{q:'immobilien bremen logo',imp:1,clicks:0,pos:36.0},{q:'immobilien bremen ohne makler',imp:1,clicks:0,pos:7.0},{q:'immobilien deutschland',imp:1,clicks:0,pos:12.0},{q:'immobilien fesenfeld',imp:1,clicks:0,pos:12.0},{q:'immobilien firma',imp:1,clicks:0,pos:1.0},{q:'immobilien gmbh',imp:1,clicks:0,pos:6.0},{q:'immobilien mieten',imp:1,clicks:0,pos:11.0},{q:'immobilien ohne makler deutschland',imp:1,clicks:0,pos:16.0},{q:'immobilien verkauf',imp:1,clicks:0,pos:5.0},{q:'immobilien verkäufer',imp:1,clicks:0,pos:95.0},{q:'immobilien vermittlung',imp:1,clicks:0,pos:1.0},{q:'immobilien vertrieb',imp:1,clicks:0,pos:1.0},{q:'immobilien webseite',imp:1,clicks:0,pos:1.0},{q:'immobilienbüro in der nähe',imp:1,clicks:0,pos:131.0},{q:'immobilienentwicklung',imp:1,clicks:0,pos:10.0},{q:'immobilienmakler agentur',imp:1,clicks:0,pos:1.0},{q:'immobilienmakler andernach',imp:1,clicks:1,pos:1.0},{q:'immobilienmakler bayern',imp:1,clicks:0,pos:5.0},{q:'immobilienmakler jobs bremen',imp:1,clicks:0,pos:5.0},{q:'immobilienmakler niedersachsen',imp:1,clicks:0,pos:5.0},{q:'immobilienmakler simmerath',imp:1,clicks:0,pos:1.0},{q:'immobilienmakler werden',imp:1,clicks:0,pos:14.0},{q:'immobilienvertrieb',imp:1,clicks:0,pos:3.0},{q:'immofair',imp:1,clicks:0,pos:1.0},{q:'imobielen',imp:1,clicks:0,pos:8.0},{q:'imobilienmakler',imp:1,clicks:0,pos:9.0},{q:'investment makler',imp:1,clicks:0,pos:7.0},{q:'kleine wohnung mieten',imp:1,clicks:0,pos:14.0},{q:'kostenlose immobilienbewertung bremen',imp:1,clicks:0,pos:45.0},{q:'luxusimmobilien bremen',imp:1,clicks:0,pos:16.0},{q:'mackler',imp:1,clicks:0,pos:2.0},{q:'makler beauftragen',imp:1,clicks:0,pos:7.0},{q:'makler firma',imp:1,clicks:0,pos:14.0},{q:'makler für gewerbeimmobilien',imp:1,clicks:0,pos:2.0},{q:'makler für vermietung finden',imp:1,clicks:0,pos:2.0},{q:'makler günstig',imp:1,clicks:0,pos:40.0},{q:'makler immobilien bremen',imp:1,clicks:0,pos:5.0},{q:'makler lilienthal',imp:1,clicks:0,pos:22.0},{q:'makler marketing',imp:1,clicks:0,pos:3.0},{q:'makler mehrfamilienhaus',imp:1,clicks:0,pos:1.0},{q:'makler stuhr',imp:1,clicks:0,pos:69.0},{q:'makler triad',imp:1,clicks:0,pos:3.0},{q:'maklercourtage bremen',imp:1,clicks:0,pos:16.0},{q:'maklergeschäfte',imp:1,clicks:0,pos:2.0},{q:'maklerhomepage immobilien',imp:1,clicks:0,pos:21.0},{q:'maklerprovision nrw wer zahlt',imp:1,clicks:0,pos:14.0},{q:'maklersuche',imp:1,clicks:0,pos:1.0},{q:'maklr',imp:1,clicks:0,pos:2.0},{q:'marklerbüro',imp:1,clicks:0,pos:1.0},{q:'marklerin',imp:1,clicks:0,pos:7.0},{q:'mc makler bremen',imp:1,clicks:0,pos:29.0},{q:'mcmakler bremen',imp:1,clicks:0,pos:30.0},{q:'mein guter makler',imp:1,clicks:0,pos:32.0},{q:'moderner immobilienmakler',imp:1,clicks:0,pos:29.0},{q:'neubau wohnung bremen',imp:1,clicks:0,pos:8.0},{q:'no makler',imp:1,clicks:0,pos:3.0},{q:'no makler immobilien',imp:1,clicks:0,pos:4.0},{q:'objekt mieten',imp:1,clicks:0,pos:12.0},{q:'private immobilien ohne makler',imp:1,clicks:0,pos:11.0},{q:'purnhagen-immobilien fotos',imp:1,clicks:0,pos:48.0},{q:'real estate imobiliária',imp:1,clicks:0,pos:13.0},{q:'schichtel und partner',imp:1,clicks:0,pos:99.0},{q:'seriöse immobilienmakler',imp:1,clicks:0,pos:14.0},{q:'türkischer immobilienmakler',imp:1,clicks:0,pos:1.0},{q:'verkauf immobilien',imp:1,clicks:0,pos:14.0},{q:'vermietung bremen',imp:1,clicks:0,pos:13.0},{q:'vonovia bremen wohnung mieten',imp:1,clicks:0,pos:4.0},{q:'wgs bremen wohnungsgenossenschaft eg fotos',imp:1,clicks:0,pos:2.0},{q:'wie finde ich einen seriösen immobilienmakler',imp:1,clicks:0,pos:1.0},{q:'wieser immobilien',imp:1,clicks:0,pos:39.0},{q:'wohnug mieten',imp:1,clicks:0,pos:11.0},{q:'wohnung bremen ostertor',imp:1,clicks:0,pos:5.0},{q:'wohnung immobilien',imp:1,clicks:0,pos:1.0},{q:'wohnung kaufen bremen',imp:1,clicks:0,pos:4.0},{q:'wohnung mieten in bremen',imp:1,clicks:0,pos:3.0},{q:'wohnung verkaufen bremen',imp:1,clicks:0,pos:13.0},{q:'wohnungen bremen mieten',imp:1,clicks:0,pos:10.0},{q:'wohnungen in bremen',imp:1,clicks:0,pos:7.0},{q:'wohnungsmakler in der nähe',imp:1,clicks:0,pos:4.0},{q:'wohnungsmarkt bremen',imp:1,clicks:0,pos:1.0},{q:'wohnungsvermittler',imp:1,clicks:0,pos:6.0},{q:'wolf und fabig',imp:1,clicks:0,pos:22.0},{q:'в бремене',imp:1,clicks:0,pos:6.0}],'/bewertung/':[{q:'ihr fairer makler',imp:162,clicks:1,pos:2.5},{q:'fairer makler',imp:27,clicks:0,pos:1.7},{q:'ihr fairer makler bremen',imp:24,clicks:0,pos:1.6},{q:'fairer makler bremen',imp:9,clicks:0,pos:1.8},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0}],'/blog/':[{q:'ihr fairer makler',imp:59,clicks:0,pos:4.0},{q:'fairer makler',imp:10,clicks:0,pos:3.6},{q:'fairer makler bremen',imp:1,clicks:0,pos:2.0},{q:'verkaufen ohne makler bremen',imp:1,clicks:0,pos:25.0}],'/cookie-richtlinie-eu/':[{q:'david mayer immobilien gmbh',imp:2,clicks:0,pos:10.0},{q:'ihr fairer makler',imp:1,clicks:0,pos:34.0}],'/datenschutz/':[{q:'david mayer immobilien gmbh',imp:14,clicks:0,pos:7.3},{q:'fairer makler',imp:2,clicks:0,pos:3.0},{q:'ihr fairer makler',imp:2,clicks:0,pos:10.5}],'/haus-verkaufen-bremen/':[{q:'immobilie verkaufen bremen',imp:16,clicks:0,pos:60.2},{q:'ihr fairer makler',imp:9,clicks:0,pos:9.8},{q:'fairer makler',imp:2,clicks:0,pos:5.5},{q:'ihr fairer makler bremen',imp:2,clicks:0,pos:2.0},{q:'haus verkaufen makler bremen',imp:1,clicks:0,pos:12.0},{q:'hausbewertung bremen',imp:1,clicks:0,pos:34.0},{q:'ihre immobilie',imp:1,clicks:0,pos:26.0},{q:'immobilien haus verkaufen',imp:1,clicks:0,pos:3.0},{q:'wo kann ich mein haus in bremen verkaufen lassen',imp:1,clicks:0,pos:1.0}],'/immobilie-bewerten-lassen-bremen/':[{q:'wertermittlung bremen',imp:3,clicks:0,pos:38.7},{q:'immobilienbewertung in bremen',imp:1,clicks:0,pos:23.0}],'/immobilienmakler-bremen-altstadt-2/':[{q:'hre immobilien bremen',imp:1,clicks:0,pos:22.0},{q:'ihr fairer makler',imp:1,clicks:0,pos:1.0}],'/immobilienmakler-bremen-altstadt/':[{q:'ihr fairer makler',imp:74,clicks:0,pos:2.5},{q:'ihr fairer makler - immobilienmakler bremen',imp:19,clicks:0,pos:2.0},{q:'ihr fairer makler bremen',imp:17,clicks:0,pos:1.7},{q:'fairer makler',imp:12,clicks:0,pos:1.8},{q:'fairer makler bremen',imp:7,clicks:0,pos:2.0}],'/immobilienmakler-bremen-buergerpark/':[{q:'ihr fairer makler',imp:58,clicks:0,pos:6.0},{q:'ihr fairer makler bremen',imp:6,clicks:0,pos:1.8},{q:'fairer makler',imp:4,clicks:0,pos:1.2},{q:'fairer makler bremen',imp:2,clicks:0,pos:2.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0},{q:'makler in bremen',imp:1,clicks:0,pos:2.0}],'/immobilienmakler-bremen-findorff/':[{q:'immobilienmakler bremen findorff',imp:18,clicks:0,pos:12.9},{q:'ihr fairer makler',imp:8,clicks:0,pos:10.4},{q:'immobilie verkaufen findorff',imp:2,clicks:0,pos:27.5},{q:'fairer makler',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0},{q:'ihr fairer makler bremen',imp:1,clicks:0,pos:2.0}],'/immobilienmakler-bremen-neu-schwachhausen/':[{q:'makler in schwachhausen',imp:21,clicks:0,pos:11.6},{q:'immobilienmakler schwachhausen',imp:15,clicks:0,pos:12.1},{q:'makler schwachhausen',imp:13,clicks:0,pos:11.5},{q:'immobilienmakler bremen schwachhausen',imp:12,clicks:0,pos:22.7},{q:'immobilienbewertung schwachhausen',imp:10,clicks:0,pos:14.3},{q:'ihr fairer makler bremen',imp:3,clicks:0,pos:1.7},{q:'makler bremen schwachhausen',imp:3,clicks:0,pos:61.7},{q:'exposeerstellung',imp:1,clicks:0,pos:84.0},{q:'ihr fairer makler',imp:1,clicks:0,pos:25.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0},{q:'neu-schwachhausen',imp:1,clicks:0,pos:68.0}],'/immobilienmakler-bremen-oberneuland/':[{q:'ihr fairer makler',imp:11,clicks:0,pos:6.2},{q:'immobilienmakler oberneuland',imp:11,clicks:0,pos:18.9},{q:'ihr fairer makler bremen',imp:8,clicks:0,pos:1.6},{q:'immobilienmakler bremen oberneuland',imp:7,clicks:0,pos:17.1},{q:'fairer makler',imp:3,clicks:0,pos:1.3},{q:'immobilie verkaufen oberneuland',imp:3,clicks:0,pos:14.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:1.0}],'/immobilienmakler-bremen-ostertor/':[{q:'ihr fairer makler',imp:144,clicks:1,pos:1.9},{q:'fairer makler',imp:27,clicks:1,pos:1.7},{q:'ihr fairer makler bremen',imp:20,clicks:0,pos:1.6},{q:'ihr fairer makler - immobilienmakler bremen',imp:19,clicks:0,pos:2.0},{q:'fairer makler bremen',imp:9,clicks:0,pos:1.8},{q:'ostertor',imp:1,clicks:0,pos:4.0}],'/immobilienmakler-bremen-peterswerder/':[{q:'ihr fairer makler',imp:29,clicks:0,pos:3.5},{q:'ihr fairer makler - immobilienmakler bremen',imp:8,clicks:0,pos:2.1},{q:'immobilie verkaufen peterswerder',imp:4,clicks:0,pos:9.0},{q:'ihr fairer makler bremen',imp:3,clicks:0,pos:1.7},{q:'fairer makler',imp:2,clicks:0,pos:1.5}],'/immobilienmakler-bremen-schwachhausen/':[{q:'makler in schwachhausen',imp:23,clicks:0,pos:34.4},{q:'ihr fairer makler',imp:18,clicks:0,pos:6.1},{q:'makler bremen schwachhausen',imp:17,clicks:0,pos:17.2},{q:'immobilienmakler bremen schwachhausen',imp:14,clicks:0,pos:16.9},{q:'immobilienmakler schwachhausen',imp:10,clicks:0,pos:30.4},{q:'makler schwachhausen',imp:8,clicks:0,pos:29.4},{q:'immobilienbewertung schwachhausen',imp:7,clicks:0,pos:27.7},{q:'fairer makler',imp:4,clicks:0,pos:2.0},{q:'fairer makler bremen',imp:4,clicks:0,pos:1.8},{q:'ihr fairer makler bremen',imp:3,clicks:0,pos:2.0},{q:'notar bremen schwachhausen',imp:2,clicks:0,pos:27.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0},{q:'schwachhausen immobilien',imp:1,clicks:0,pos:78.0}],'/immobilienmakler-bremen-sebaldsbrueck/':[{q:'ihr fairer makler',imp:6,clicks:0,pos:10.7},{q:'haus kaufen bremen sebaldsbrück',imp:3,clicks:0,pos:14.0}],'/immobilienmakler-bremen-steintor/':[{q:'ihr fairer makler',imp:53,clicks:0,pos:2.5},{q:'ihr fairer makler - immobilienmakler bremen',imp:13,clicks:0,pos:2.1},{q:'fairer makler',imp:9,clicks:1,pos:1.8},{q:'ihr fairer makler bremen',imp:5,clicks:0,pos:1.6},{q:'fairer makler bremen',imp:2,clicks:0,pos:1.5},{q:'28203 bremen stadtteil',imp:1,clicks:0,pos:32.0}],'/immobilienmakler-bremen-vegesack/':[{q:'immobilienmakler vegesack',imp:11,clicks:0,pos:12.0},{q:'ihr fairer makler',imp:4,clicks:0,pos:8.2},{q:'ihr fairer makler - immobilienmakler bremen',imp:1,clicks:0,pos:2.0}],'/immobilienmakler-bremen-walle/':[{q:'immobilienmakler bremen walle',imp:26,clicks:0,pos:12.2},{q:'ihr fairer makler',imp:4,clicks:0,pos:2.0},{q:'ihr fairer makler - immobilienmakler bremen',imp:4,clicks:0,pos:2.0},{q:'fairer makler',imp:1,clicks:0,pos:2.0}],'/immobilienmakler-bremen/':[{q:'ihr fairer makler',imp:183,clicks:3,pos:2.7},{q:'fairer makler',imp:30,clicks:1,pos:1.6},{q:'ihr fairer makler bremen',imp:25,clicks:1,pos:1.6},{q:'ihr fairer makler - immobilienmakler bremen',imp:21,clicks:0,pos:2.6},{q:'immobilienmakler in bremen',imp:13,clicks:0,pos:57.5},{q:'makler bremen',imp:10,clicks:0,pos:73.6},{q:'fairer makler bremen',imp:9,clicks:0,pos:1.8},{q:'makler',imp:5,clicks:0,pos:10.4},{q:'ihre immobilie',imp:4,clicks:0,pos:48.8},{q:'immobilienmakler bremen',imp:4,clicks:0,pos:29.0},{q:'makler immobilienmakler',imp:3,clicks:0,pos:60.7},{q:'makler in bremen',imp:3,clicks:1,pos:42.3},{q:'bremer immobilienmakler',imp:2,clicks:0,pos:37.5},{q:'fair makler',imp:2,clicks:0,pos:44.5},{q:'fairmakler immobilien',imp:2,clicks:0,pos:7.5},{q:'bremer makler',imp:1,clicks:0,pos:47.0},{q:'fair immobilien',imp:1,clicks:0,pos:72.0},{q:'ihr immobilienmakler',imp:1,clicks:0,pos:43.0},{q:'ihr makler',imp:1,clicks:0,pos:49.0},{q:'immobilienmakler in der nähe',imp:1,clicks:0,pos:1.0}],'/kontakt/':[{q:'ihr fairer makler',imp:156,clicks:3,pos:2.0},{q:'fairer makler',imp:30,clicks:0,pos:1.6},{q:'ihr fairer makler bremen',imp:25,clicks:1,pos:1.6},{q:'ihr fairer makler - immobilienmakler bremen',imp:21,clicks:0,pos:2.3},{q:'fairer makler bremen',imp:9,clicks:0,pos:1.8}],'/maklerprovision-ueberblick/':[{q:'markler',imp:105,clicks:0,pos:16.6},{q:'maklergebühr hausverkauf',imp:99,clicks:0,pos:48.8},{q:'maklerprovision wie hoch',imp:55,clicks:0,pos:52.5},{q:'maklerprovision hausverkauf',imp:51,clicks:0,pos:70.6},{q:'maklerprovision berlin wie hoch',imp:45,clicks:0,pos:79.9},{q:'maklerprovision höhe',imp:41,clicks:0,pos:57.4},{q:'maklerprovision berechnen',imp:37,clicks:0,pos:59.8},{q:'wieviel schlägt ein makler drauf',imp:34,clicks:0,pos:13.1},{q:'3 57 maklerprovision',imp:32,clicks:0,pos:29.9},{q:'maklergebühren hausverkauf',imp:29,clicks:0,pos:65.3},{q:'wie hoch ist die mehrwertsteuer bei maklerprovision?',imp:29,clicks:0,pos:47.7},{q:'wie hoch ist die maklerprovision in berlin',imp:28,clicks:0,pos:79.4},{q:'wie viel verlangt ein immobilienmakler',imp:28,clicks:0,pos:39.0},{q:'wie viel verlangt ein immobilienmakler?',imp:28,clicks:0,pos:39.5},{q:'berechnung maklerprovision',imp:26,clicks:0,pos:48.2},{q:'was ist eine übliche maklerprovision?',imp:26,clicks:0,pos:60.4},{q:'maklerkosten hausverkauf',imp:25,clicks:0,pos:50.2},{q:'maklervertrag provisionsteilung',imp:25,clicks:0,pos:30.4},{q:'provision für wohnung',imp:25,clicks:0,pos:48.8},{q:'wie hoch ist die gesetzliche maklerprovision',imp:25,clicks:0,pos:44.0},{q:'wie hoch ist die maklerprovision für ein einfamilienhaus mit einliegerwohnung',imp:25,clicks:0,pos:78.2},{q:'wie hoch ist die maklerprovision?',imp:25,clicks:0,pos:49.7},{q:'wie hoch ist die übliche maklerprovision',imp:25,clicks:0,pos:42.4},{q:'wie berechnet man maklerprovision?',imp:24,clicks:0,pos:67.0},{q:'wie viel muss man für einen immobilienmakler bezahlen',imp:24,clicks:0,pos:60.0},{q:'wie viel muss man für einen immobilienmakler bezahlen?',imp:23,clicks:0,pos:61.5},{q:'provisionsrechner makler',imp:22,clicks:0,pos:59.6},{q:'wieviel provision bekommt ein immobilienmakler',imp:22,clicks:0,pos:35.6},{q:'maklergebühren höhe',imp:20,clicks:0,pos:75.8},{q:'immobilienmakler provision',imp:18,clicks:0,pos:82.7},{q:'provision immobilienmakler',imp:18,clicks:0,pos:74.5},{q:'wie wird die maklerprovision errechnet?',imp:18,clicks:0,pos:55.6},{q:'haus verkaufen makler kosten',imp:17,clicks:0,pos:75.2},{q:'immobilienvertrieb provision',imp:17,clicks:0,pos:39.8},{q:'was kostet ein makler',imp:17,clicks:0,pos:82.1},{q:'übliche maklerprovision',imp:16,clicks:0,pos:55.2},{q:'maklerprovision was ist üblich',imp:15,clicks:0,pos:42.3},{q:'3 57 maklerprovision berechnen',imp:13,clicks:0,pos:6.8},{q:'kosten immobilienmakler bayern',imp:13,clicks:0,pos:82.3},{q:'wie hoch ist die maklerprovision in berlin?',imp:12,clicks:0,pos:81.0},{q:'maklercourtage wie hoch',imp:11,clicks:0,pos:58.6},{q:'provision makler',imp:11,clicks:0,pos:80.5},{q:'maklercourtage hausverkauf',imp:10,clicks:0,pos:54.4},{q:'provision hauskauf',imp:10,clicks:0,pos:71.6},{q:'was kostet ein makler?',imp:10,clicks:0,pos:80.0},{q:'wer zahlt die maklerprovision bei verkauf?',imp:10,clicks:0,pos:53.6},{q:'wie hoch ist die maklerprovision',imp:10,clicks:0,pos:59.0},{q:'maklercourtage hauskauf',imp:9,clicks:0,pos:76.1},{q:'maklergebühren hauskauf',imp:9,clicks:0,pos:67.7},{q:'maklerprovision bremen',imp:9,clicks:0,pos:67.2},{q:'provision makler hausverkauf',imp:9,clicks:0,pos:46.3},{q:'maklerdienstleistungen',imp:8,clicks:0,pos:34.9},{q:'maklerprovision saarland',imp:8,clicks:0,pos:1.0},{q:'wie hoch maklerprovision',imp:8,clicks:0,pos:54.2},{q:'wie hoch sind die maklergebühren',imp:8,clicks:0,pos:61.0},{q:'wie verwalten makler immobilienangebote?',imp:8,clicks:0,pos:13.0},{q:'wie wird die maklerprovision berechnet?',imp:8,clicks:0,pos:34.4},{q:'maklergebühren verkäufer',imp:7,clicks:0,pos:68.4},{q:'maklerprovision berlin prozent',imp:7,clicks:0,pos:89.6},{q:'maklerprovision immobilienverkauf',imp:7,clicks:0,pos:52.6},{q:'maklerprovision verkauf',imp:7,clicks:0,pos:64.7},{q:'provision hausverkauf',imp:7,clicks:0,pos:38.0},{q:'wie hoch sind maklergebühren beim hausverkauf',imp:7,clicks:0,pos:59.3},{q:'wie viel provision bekommt ein makler',imp:7,clicks:0,pos:51.1},{q:'maklercourtage höhe',imp:6,clicks:0,pos:66.3},{q:'maklergebühr bei hausverkauf',imp:6,clicks:0,pos:54.2},{q:'maklerprovision für verkäufer',imp:6,clicks:0,pos:48.8},{q:'provision beim hauskauf',imp:6,clicks:0,pos:41.3},{q:'wer zahlt die maklerprovision beim verkauf?',imp:6,clicks:0,pos:60.7},{q:'maklergebühren vergleich deutschland 2026 hausverkauf regionale anbieter',imp:5,clicks:0,pos:6.2},{q:'maklerprovision in berlin wie hoch ist sie',imp:5,clicks:0,pos:80.2},{q:'maximale maklerprovision',imp:5,clicks:0,pos:34.0},{q:'was bedeutet käuferprovision 3 57?',imp:5,clicks:0,pos:1.0},{q:'wer zahlt maklerprovision verkauf?',imp:5,clicks:0,pos:58.8},{q:'übliche maklerprovision hausverkauf',imp:5,clicks:0,pos:13.0},{q:'hauskauf maklerprovision',imp:4,clicks:0,pos:73.0},{q:'höhe provision gewerbeimmobilien vermietung',imp:4,clicks:0,pos:75.0},{q:'kosten immobilienmakler',imp:4,clicks:0,pos:61.5},{q:'makler provision vergleich',imp:4,clicks:0,pos:2.2},{q:'maklergebühr für verkäufer',imp:4,clicks:0,pos:21.5},{q:'maklergebühr verkäufer',imp:4,clicks:0,pos:30.5},{q:'maklerkosten hauskauf',imp:4,clicks:0,pos:61.0},{q:'maklerprovision immobilien',imp:4,clicks:0,pos:67.0},{q:'provision makler höhe',imp:4,clicks:0,pos:36.8},{q:'verkäufer provision',imp:4,clicks:0,pos:43.5},{q:'was kostet ein makler beim hausverkauf',imp:4,clicks:0,pos:80.2},{q:'wie viel provision braucht ein immobilienmakler?',imp:4,clicks:0,pos:1.0},{q:'wieviel provision bekommt ein makler',imp:4,clicks:0,pos:21.8},{q:'hausverkauf makler kosten',imp:3,clicks:0,pos:77.0},{q:'hausverkauf maklerkosten',imp:3,clicks:0,pos:64.0},{q:'hausverkauf wer zahlt den makler',imp:3,clicks:0,pos:48.3},{q:'hausverkauf über makler kosten',imp:3,clicks:0,pos:66.7},{q:'höhe maklercourtage',imp:3,clicks:0,pos:56.7},{q:'immobilie verkaufen provision',imp:3,clicks:0,pos:34.0},{q:'immobilienkauf maklerprovision',imp:3,clicks:0,pos:71.7},{q:'immobilienverkauf provision',imp:3,clicks:0,pos:42.3},{q:'kosten für makler beim hausverkauf',imp:3,clicks:0,pos:55.3},{q:'maklercourtage bei hausverkauf',imp:3,clicks:0,pos:43.7},{q:'maklergebühren bei wohnungsverkauf',imp:3,clicks:0,pos:78.7},{q:'maklergebühren beim verkauf',imp:3,clicks:0,pos:53.3},{q:'maklergebühren plus mehrwertsteuer',imp:3,clicks:0,pos:44.0},{q:'maklergebühren wohnungsverkauf',imp:3,clicks:0,pos:69.0},{q:'maklerprovision bei immobilienverkauf',imp:3,clicks:0,pos:59.7},{q:'maklerprovision bei kauf',imp:3,clicks:0,pos:50.3},{q:'"maklerprovision bremen 3,57 % käufer"',imp:3,clicks:0,pos:10.7},{q:'maklerprovision engel und völkers',imp:3,clicks:0,pos:2.0},{q:'maklerprovision verkäufer',imp:3,clicks:0,pos:62.3},{q:'maklerprovision wohnungsverkauf',imp:3,clicks:0,pos:56.0},{q:'provision beim hausverkauf',imp:3,clicks:0,pos:30.7},{q:'provision für käufer',imp:3,clicks:0,pos:31.7},{q:'provisionshöhe makler',imp:3,clicks:0,pos:34.3},{q:'vermittlungsprovision höhe',imp:3,clicks:0,pos:61.3},{q:'wie hoch ist die maklerprovision beim hausverkauf',imp:3,clicks:0,pos:34.7},{q:'wie hoch ist maklerprovision',imp:3,clicks:0,pos:56.0},{q:'wie hoch sind maklergebühren beim hauskauf',imp:3,clicks:0,pos:60.3},{q:'wie viel provision ist üblich in berlin',imp:3,clicks:0,pos:66.3},{q:'wie viel prozent maklerprovision',imp:3,clicks:0,pos:17.0},{q:'hausverkauf maklercourtage',imp:2,clicks:0,pos:67.0},{q:'hausverkauf maklergebühren',imp:2,clicks:0,pos:61.0},{q:'höhe der maklerprovision',imp:2,clicks:0,pos:52.5},{q:'immobilien verkauf provision',imp:2,clicks:0,pos:12.5},{q:'immobilienmakler courtage',imp:2,clicks:0,pos:66.0},{q:'immobilienmakler preise',imp:2,clicks:0,pos:37.0},{q:'immobilienvermittlung provision',imp:2,clicks:0,pos:39.5},{q:'kosten makler hausverkauf',imp:2,clicks:0,pos:45.0},{q:'makler expose kosten',imp:2,clicks:0,pos:30.0},{q:'makler kosten hausverkauf',imp:2,clicks:0,pos:60.0},{q:'maklercourtage beim hauskauf',imp:2,clicks:0,pos:73.0},{q:'maklergebühren für verkäufer',imp:2,clicks:0,pos:23.0},{q:'maklergebühren hausverkauf nrw',imp:2,clicks:0,pos:62.0},{q:'maklerhonorar',imp:2,clicks:0,pos:25.5},{q:'maklerkosten wohnungsverkauf',imp:2,clicks:0,pos:64.0},{q:'maklerprovision bei wohnungskauf',imp:2,clicks:0,pos:73.5},{q:'maklerprovision hauskauf',imp:2,clicks:0,pos:65.0},{q:'maklerprovision immobilienkauf',imp:2,clicks:0,pos:73.5},{q:'mindestprovision makler',imp:2,clicks:0,pos:29.5},{q:'provision makler kauf',imp:2,clicks:0,pos:30.5},{q:'provision verkäufer',imp:2,clicks:0,pos:35.0},{q:'provisionen immobilienmakler',imp:2,clicks:0,pos:35.5},{q:'was ist ein markler',imp:2,clicks:0,pos:1.0},{q:'wer zahlt provision beim hauskauf',imp:2,clicks:0,pos:54.5},{q:'wer zahlt provision beim hausverkauf',imp:2,clicks:0,pos:40.0},{q:'wie hoch ist eine maklerprovision',imp:2,clicks:0,pos:67.0},{q:'wie hoch sind die maklergebühren beim hausverkauf',imp:2,clicks:0,pos:48.5},{q:'wieviel provision bekommt ein makler beim hausverkauf',imp:2,clicks:0,pos:16.0},{q:'wohnungsverkauf maklerprovision',imp:2,clicks:0,pos:62.0},{q:'berechnung kaufnebenkosten',imp:1,clicks:0,pos:4.0},{q:'courtage für käufer',imp:1,clicks:0,pos:44.0},{q:'hausverkauf mit makler kosten',imp:1,clicks:0,pos:67.0},{q:'hausverkauf provision',imp:1,clicks:0,pos:47.0},{q:'höhe maklergebühren',imp:1,clicks:0,pos:73.0},{q:'höhe maklerprovision',imp:1,clicks:0,pos:53.0},{q:'immobilien maklerprovision',imp:1,clicks:0,pos:63.0},{q:'immobilien provision',imp:1,clicks:0,pos:62.0},{q:'immobilien verkauf maklerprovision',imp:1,clicks:0,pos:32.0},{q:'immobilienkauf provision',imp:1,clicks:0,pos:83.0},{q:'immobilienverkauf maklerkosten',imp:1,clicks:0,pos:85.0},{q:'immobilienverkauf maklerprovision',imp:1,clicks:0,pos:52.0},{q:'ist die maklerprovision verhandelbar?',imp:1,clicks:0,pos:25.0},{q:'kaufnebenkosten bremen',imp:1,clicks:0,pos:1.0},{q:'kosten für makler',imp:1,clicks:0,pos:40.0},{q:'kosten makler',imp:1,clicks:0,pos:73.0},{q:'kosten makler hauskauf',imp:1,clicks:0,pos:64.0},{q:'käuferprovision 3 57 inkl mwst vom kaufpreis',imp:1,clicks:0,pos:37.0},{q:'käuferprovision 3 57 inkl. gesetzl. mwst',imp:1,clicks:0,pos:47.0},{q:'makler courtage höhe',imp:1,clicks:0,pos:53.0},{q:'makler deutsch',imp:1,clicks:0,pos:1.0},{q:'makler hausverkauf kosten',imp:1,clicks:0,pos:70.0},{q:'makler kosten vermietung',imp:1,clicks:0,pos:1.0},{q:'makler provision hausverkauf',imp:1,clicks:0,pos:94.0},{q:'makler saarland',imp:1,clicks:0,pos:4.0},{q:'makler verkauf',imp:1,clicks:0,pos:87.0},{q:'maklercourtage verkauf',imp:1,clicks:0,pos:57.0},{q:'maklergebühr bei verkauf',imp:1,clicks:0,pos:55.0},{q:'maklergebühr bei wohnungsverkauf',imp:1,clicks:0,pos:37.0},{q:'maklergebühr höhe',imp:1,clicks:0,pos:34.0},{q:'maklergebühr wohnungskauf',imp:1,clicks:0,pos:50.0},{q:'maklergebühr wohnungsverkauf',imp:1,clicks:0,pos:66.0},{q:'maklergebühren bei hauskauf',imp:1,clicks:0,pos:71.0},{q:'maklergebühren bei hausverkauf',imp:1,clicks:0,pos:42.0},{q:'maklergebühren bei verkauf',imp:1,clicks:0,pos:29.0},{q:'maklergebühren beim hausverkauf',imp:1,clicks:0,pos:80.0},{q:'maklergebühren nrw',imp:1,clicks:0,pos:91.0},{q:'maklergebühren saarland',imp:1,clicks:0,pos:1.0},{q:'maklergebühren verkauf',imp:1,clicks:0,pos:60.0},{q:'maklergebühren wohnungskauf',imp:1,clicks:0,pos:45.0},{q:'maklerkosten bei hausverkauf',imp:1,clicks:0,pos:49.0},{q:'maklerkosten immobilienverkauf',imp:1,clicks:0,pos:30.0},{q:'maklerkosten wohnungskauf',imp:1,clicks:0,pos:58.0},{q:'maklerprovision',imp:1,clicks:0,pos:81.0},{q:'maklerprovision bei hausverkauf',imp:1,clicks:0,pos:44.0},{q:'maklerprovision bei wohnungsverkauf',imp:1,clicks:0,pos:50.0},{q:'maklerprovision beim hauskauf',imp:1,clicks:0,pos:55.0},{q:'maklerprovision berechnen essen',imp:1,clicks:0,pos:27.0},{q:'maklerprovision berechnung',imp:1,clicks:0,pos:35.0},{q:'maklerprovision prozent',imp:1,clicks:0,pos:45.0},{q:'maklerprovision wohnungskauf',imp:1,clicks:0,pos:64.0},{q:'maklerprovisions rechner',imp:1,clicks:0,pos:93.0},{q:'maklersoftware vergleich 2020',imp:1,clicks:0,pos:57.0},{q:'maklervertrag muster',imp:1,clicks:0,pos:1.0},{q:'markler oder makler',imp:1,clicks:0,pos:8.0},{q:'marklervertrag',imp:1,clicks:0,pos:1.0},{q:'provision bei hausverkauf',imp:1,clicks:0,pos:27.0},{q:'provision bei immobilienverkauf',imp:1,clicks:0,pos:13.0},{q:'provision eines maklers',imp:1,clicks:0,pos:38.0},{q:'provision für immobilienmakler',imp:1,clicks:0,pos:53.0},{q:'provision immobilien',imp:1,clicks:0,pos:57.0},{q:'provision immobilienkauf',imp:1,clicks:0,pos:51.0},{q:'provision immobilienverkauf',imp:1,clicks:0,pos:49.0},{q:'provision verkauf immobilie',imp:1,clicks:0,pos:47.0},{q:'provision wohnung',imp:1,clicks:0,pos:100.0},{q:'standard provision',imp:1,clicks:0,pos:4.0},{q:'vergleiche makler für immobilienverkauf nach provision und leistung',imp:1,clicks:0,pos:12.0},{q:'verkäufer maklerprovision',imp:1,clicks:0,pos:32.0},{q:'vermittlungsprovision wohnung',imp:1,clicks:0,pos:13.0},{q:'vertriebspartner strom provision',imp:1,clicks:0,pos:1.0},{q:'was kostet ein immobilienmakler in deutschland?',imp:1,clicks:0,pos:1.0},{q:'was kostet ein makler für den verkäufer',imp:1,clicks:0,pos:70.0},{q:'was kostet ein makler für hausverkauf',imp:1,clicks:0,pos:69.0},{q:'was kostet immobilienmakler',imp:1,clicks:0,pos:75.0},{q:'was nimmt ein makler an provision',imp:1,clicks:0,pos:1.0},{q:'wer bezahlt den makler beim hauskauf',imp:1,clicks:0,pos:61.0},{q:'wer bezahlt den makler beim hausverkauf',imp:1,clicks:0,pos:47.0},{q:'wer bezahlt makler bei hausverkauf',imp:1,clicks:0,pos:1.0},{q:'wer bezahlt makler beim hausverkauf',imp:1,clicks:0,pos:52.0},{q:'wer zahlt den makler beim hausverkauf',imp:1,clicks:0,pos:57.0},{q:'wer zahlt die maklerprovision beim hausverkauf',imp:1,clicks:0,pos:53.0},{q:'wer zahlt die provision beim hauskauf',imp:1,clicks:0,pos:54.0},{q:'wer zahlt die provision beim hausverkauf',imp:1,clicks:0,pos:43.0},{q:'wer zahlt provision bei hausverkauf',imp:1,clicks:0,pos:42.0},{q:'wie entscheidet ein makler wer das haus bekommt',imp:1,clicks:0,pos:64.0},{q:'wie hoch ist die maklercourtage',imp:1,clicks:0,pos:50.0},{q:'wie hoch ist die maklergebühr beim hauskauf',imp:1,clicks:0,pos:48.0},{q:'wie hoch ist die maklergebühr beim hausverkauf',imp:1,clicks:0,pos:49.0},{q:'wie hoch ist die maklerprovision beim hauskauf',imp:1,clicks:0,pos:41.0},{q:'wie hoch sind die maklergebühren beim hauskauf',imp:1,clicks:0,pos:58.0},{q:'wie viel kostet wohnung',imp:1,clicks:0,pos:1.0},{q:'wie viel provision bekommt ein immobilienmakler',imp:1,clicks:0,pos:36.0},{q:'wie viel provision ist üblich',imp:1,clicks:0,pos:34.0},{q:'wie viel prozent bekommt ein makler',imp:1,clicks:0,pos:1.0},{q:'wieviel maklerprovision ist üblich',imp:1,clicks:0,pos:12.0},{q:'wieviel nimmt ein makler beim hausverkauf',imp:1,clicks:0,pos:1.0},{q:'wieviel prozent bekommt ein immobilienmakler',imp:1,clicks:0,pos:1.0},{q:'wieviel prozent maklergebühr',imp:1,clicks:0,pos:1.0},{q:'wieviel prozent nimmt ein makler beim hausverkauf',imp:1,clicks:0,pos:13.0},{q:'wohnungskauf maklerprovision',imp:1,clicks:0,pos:65.0},{q:'wohnungsverkauf maklerkosten',imp:1,clicks:0,pos:64.0}],'/wohnung-verkaufen-bremen-tipps-ablauf-und-wichtige-hinweise/':[{q:'verkaufen und vermieten in bremen',imp:3,clicks:0,pos:37.3},{q:'ihr fairer makler',imp:1,clicks:0,pos:11.0},{q:'immobilie verkaufen bremen',imp:1,clicks:0,pos:11.0}],};
let gmbChecks=JSON.parse(localStorage.getItem('ifmGC')||'{}');
let curGMBCell=null;
const DASHBOARD_VERSION = '20260707d';
if (localStorage.getItem('ifmVER') !== DASHBOARD_VERSION) {
  localStorage.removeItem('ifmBL');
  localStorage.removeItem('ifmGMB');
  localStorage.setItem('ifmVER', DASHBOARD_VERSION);
}
const BL_DEFAULT = [
  {cat:'Live',    s:'immobilien.blog',    dom:'immobilien.blog',    t:'Gastbeitrag',  rel:'Sehr hoch', cluster:'Ratgeber/Makler', contact:'Dr. Daniel Köll', c:'Jul 2026', st:'Live',      l:'',  n:'Thema: Wie erkenne ich einen guten Immobilienmakler?'},
  {cat:'Live',    s:'1A Immobilien',      dom:'1a-immobilien.de',   t:'Partnerlink',  rel:'Mittel',    cluster:'Immobilien allg.', contact:'',              c:'',          st:'Live',      l:'',  n:''},
  {cat:'Live',    s:'Weserreport',        dom:'weserreport.de',     t:'Presseartikel',rel:'Hoch',      cluster:'Lokale Medien',   contact:'',               c:'',          st:'Live',      l:'',  n:'Lokales Bremer Medium'},
  {cat:'In Arbeit',s:'Link 1 (gekauft)', dom:'',                   t:'',             rel:'',          cluster:'',                contact:'',               c:'',          st:'Gesichert', l:'',  n:'Kauf läuft'},
  {cat:'In Arbeit',s:'Link 2 (gekauft)', dom:'',                   t:'',             rel:'',          cluster:'',                contact:'',               c:'',          st:'Gesichert', l:'',  n:'Kauf läuft'},
  {cat:'In Arbeit',s:'Link 3 (gekauft)', dom:'',                   t:'',             rel:'',          cluster:'',                contact:'',               c:'',          st:'Gesichert', l:'',  n:'Kauf läuft'},
];
let blData = JSON.parse(localStorage.getItem('ifmBL')||'null') || [...BL_DEFAULT];
let gmbData = JSON.parse(localStorage.getItem('ifmGMB')||'null') || {...GMB_DEFAULT};
let labels={m0:'Akt.',m1:'Vorm.',m2:'2 Mon.'};

// ──────────────────────────────────────────────────────────────────
// MCP HELPERS  – handle both object and string responses
// ──────────────────────────────────────────────────────────────────
async function callMCP(tool, args) {
  const raw = await window.cowork.callMcpTool(tool, args);
  // Normalize: might be object, might be JSON string, might be {content:[...]}
  if (!raw) return {};
  if (typeof raw === 'string') { try { return JSON.parse(raw); } catch(e){ return {}; } }
  if (Array.isArray(raw)) return raw[0] || {};
  if (raw.content && Array.isArray(raw.content)) {
    const t = raw.content[0];
    const txt = t?.text || t?.value || '';
    try { return JSON.parse(txt); } catch(e){ return raw; }
  }
  return raw;
}

async function poll(sid, tries=0) {
  if (!sid) throw new Error('no sid');
  if (tries > 25) throw new Error('timeout');
  const r = await callMCP('mcp__84a53682-cca1-4198-a200-7924c189b97d__get_async_query_results', {schedule_id: sid, compress: true});
  const status = r?.data?.status || r?.status;
  if (status === 'completed') return r?.data?.data || r?.data || '';
  await new Promise(res => setTimeout(res, 1400));
  return poll(sid, tries+1);
}

async function gscQuery(fields, rtype, start, end) {
  const args = {
    ds_id: 'GW',
    ds_accounts: GSC_ACCT,
    fields: fields,
    date_range_type: 'custom',
    start_date: start,
    end_date: end,
    settings: {report_type: rtype},
    max_rows: 60
  };
  const r = await callMCP('mcp__84a53682-cca1-4198-a200-7924c189b97d__data_query', args);
  const sid = r?.data?.schedule_id || r?.schedule_id;
  if (!sid) throw new Error('no schedule_id in response: '+JSON.stringify(r).slice(0,200));
  return poll(sid);
}

function isoDate(d) { return d.toISOString().slice(0,10); }
function shortDate(d) { return d.toLocaleDateString('de',{day:'2-digit',month:'2-digit'}); }
function getRange(daysAgoEnd, span) {
  const now = new Date();
  const end = new Date(now); end.setDate(end.getDate() - daysAgoEnd);
  const start = new Date(end); start.setDate(start.getDate() - (span-1));
  return { start: isoDate(start), end: isoDate(end), label: shortDate(start)+'–'+shortDate(end) };
}

// ──────────────────────────────────────────────────────────────────
// PARSING
// ──────────────────────────────────────────────────────────────────
function parsePages(raw) {
  const m = {};
  if (!raw || typeof raw !== 'string') return m;
  const lines = raw.split('\n');
  lines.forEach(l => {
    // match URL with or without quotes
    const rx = /"?(https:\/\/ihr-fairer-makler\.de([^"?,\s]*))"?\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/;
    const mt = l.match(rx);
    if (mt) {
      const slug = (mt[2] || '/').replace(/\?.*$/, '') || '/';
      m[slug] = { clicks: +mt[3], impressions: +mt[4], ctr: +mt[5], position: +mt[6] };
    }
  });
  return m;
}

function parseKW(raw) {
  const list = [];
  if (!raw || typeof raw !== 'string') return list;
  raw.split('\n').forEach(l => {
    const rx = /\[[\d,]+\]:\s+"?([^,"]+)"?\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/;
    const m = l.match(rx);
    if (m && m[1] !== 'Search query') {
      list.push({q:m[1].trim(), clicks:+m[2], imp:+m[3], ctr:+m[4], pos:+m[5]});
    }
  });
  return list;
}

// ──────────────────────────────────────────────────────────────────
// LOAD
// ──────────────────────────────────────────────────────────────────
// page→keywords map (combined GSC query)
let pageKWMapP1 = {};
let pageKWMapP2 = {};
let pageKWMapP3 = {};

async function loadAll() {
  const btn = null; // reload button removed // button removed
  if (btn) { btn.textContent = '⟳ Lädt…'; btn.style.opacity = '.6'; btn.style.pointerEvents = 'none'; }
  document.getElementById('lastUp').textContent = 'Lade…';
  document.getElementById('dbg1').textContent = ' ▶ Start loadAll()';
  document.getElementById('dbgRaw').textContent = '';

  const r0 = getRange(1, 30);
  const r1 = getRange(31, 30);
  const r2 = getRange(61, 30);
  labels = {m0: r0.label, m1: r1.label, m2: r2.label};

  try {
    // Step 1: test single simple query first
    const testResp = await callMCP('mcp__84a53682-cca1-4198-a200-7924c189b97d__data_query', {
      ds_id: 'GW',
      ds_accounts: 'https://ihr-fairer-makler.de/',
      fields: 'query,clicks,impressions,ctr,position',
      date_range_type: 'last_30_days',
      settings: {report_type: 'query'},
      max_rows: 30
    });
    const testSid = testResp?.data?.schedule_id || testResp?.schedule_id;
    if (!testSid) {
      throw new Error('Kein schedule_id. Antwortstruktur: '+JSON.stringify(testResp).slice(0,200));
    }
    const testData = await poll(testSid);
    if (testData) document.getElementById('dbgRaw').textContent = 'Erste Zeilen: '+String(testData).slice(0,300);

    // Now run all queries
    const [rawP0, rawP1, rawP2, rawKW, rawKWp, rawPQ] = await Promise.all([
      gscQuery('page,clicks,impressions,ctr,position', 'page',  r0.start, r0.end),
      gscQuery('page,clicks,impressions,ctr,position', 'page',  r1.start, r1.end),
      gscQuery('page,clicks,impressions,ctr,position', 'page',  r2.start, r2.end),
      gscQuery('query,clicks,impressions,ctr,position','query', r0.start, r0.end),
      gscQuery('query,clicks,impressions',             'query', r1.start, r1.end),
      gscQuery('page,query,impressions,clicks,position','url',  r0.start, r0.end),
    ]);

    pM0 = parsePages(rawP0);
    pM1 = parsePages(rawP1);
    pM2 = parsePages(rawP2);
    kwAll = parseKW(rawKW);
    const kwPrev = parseKW(rawKWp);
    pageKWMapP1 = parsePageKW(rawPQ);

    const totC  = Object.values(pM0).reduce((s,p)=>s+(p.clicks||0),0);
    const totI  = Object.values(pM0).reduce((s,p)=>s+(p.impressions||0),0);
    const totCp = Object.values(pM1).reduce((s,p)=>s+(p.clicks||0),0);
    const totIp = Object.values(pM1).reduce((s,p)=>s+(p.impressions||0),0);

    renderOverview(kwAll, totC, totI, totCp, totIp);
    renderTracker(pM0, pM1, pM2);
    renderKWTable(kwAll);
    document.getElementById('lastUp').textContent = 'Stand: ' + new Date().toLocaleTimeString('de',{hour:'2-digit',minute:'2-digit'});
  } catch(e) {
    console.error('GSC load error:', e);
    document.getElementById('lastUp').textContent = DEFAULT_DATE + ' (Offline-Modus)';
    // Fallback: use static DEFAULT_* constants
    pM0 = {}; DEFAULT_PAGES.forEach(p=>{ pM0[p.slug]={clicks:p.clicks,impressions:p.impressions,position:p.position}; });
    pM1 = {}; DEFAULT_PAGES_M1.forEach(p=>{ pM1[p.slug]={clicks:p.clicks,impressions:p.impressions,position:p.position}; });
    pM2 = {}; DEFAULT_PAGES_M2.forEach(p=>{ pM2[p.slug]={clicks:p.clicks,impressions:p.impressions,position:p.position}; });
    pageKWMapP1 = DEFAULT_KW_MAP_P1;
    renderTracker(pM0, pM1, pM2);
    renderKWTable(DEFAULT_KW);
    renderOverview(DEFAULT_KW, DEFAULT_TOTALS.clicks, DEFAULT_TOTALS.impressions, DEFAULT_TOTALS.clicksPrev, DEFAULT_TOTALS.impsPrev);
  }

  if (btn) { btn.textContent = '↻ Aktualisieren'; btn.style.opacity = '1'; btn.style.pointerEvents = 'auto'; }
}

// page+query combined parser
function parsePageKW(raw) {
  const m = {};
  if (!raw || typeof raw !== 'string') return m;
  raw.split('\n').forEach(l => {
    // Format: "https://ihr-fairer-makler.de/SLUG", "query", imp, clicks, pos
    const rx = /"?(https:\/\/ihr-fairer-makler\.de([^"?,\s]*))"?\s*,\s*"?([^",]+)"?\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)/;
    const mt = l.match(rx);
    if (mt) {
      const slug = (mt[2] || '/').replace(/\?.*$/, '') || '/';
      const q = mt[3].trim();
      if (!q || q === 'Search query' || q === 'page') return;
      if (!m[slug]) m[slug] = [];
      m[slug].push({ q, imp: +mt[4], clicks: +mt[5], pos: +mt[6] });
    }
  });
  // sort each by impressions desc
  Object.keys(m).forEach(k => m[k].sort((a,b) => (b.imp||0)-(a.imp||0)));
  return m;
}

// ──────────────────────────────────────────────────────────────────
// RENDER OVERVIEW
// ──────────────────────────────────────────────────────────────────
function pctStr(a,b){ if(!b) return ''; const d=((a-b)/b*100).toFixed(0); return (d>=0?'▲ +':'▼ ')+d+'% vs. Vormonat'; }
function renderOverview(kws, c, i, cp, ip) {
  document.getElementById('ovC').textContent = c || '—';
  if (cp) {
    const dc = ((c-cp)/cp*100).toFixed(0);
    const arrow = dc>=0 ? '▲ +' : '▼ ';
    document.getElementById('ovCS').textContent = arrow+dc+'% · vorher: '+cp+' Klicks';
    document.getElementById('ovCS').style.color = dc>=0 ? '#4ade80' : '#f87171';
  } else { document.getElementById('ovCS').textContent = ''; }
  document.getElementById('ovI').textContent = i ? i.toLocaleString('de') : '—';
  if (ip) {
    const di = ((i-ip)/ip*100).toFixed(0);
    const arrow = di>=0 ? '▲ +' : '▼ ';
    document.getElementById('ovIS').textContent = arrow+di+'% · vorher: '+ip.toLocaleString('de')+' Impr.';
    document.getElementById('ovIS').style.color = di>=0 ? '#4ade80' : '#f87171';
  } else { document.getElementById('ovIS').textContent = ''; }
  const p1 = kws.filter(k=>k.pos<=10&&k.q!=='(unknown)'&&!k.q.includes('ihr fairer')&&!k.q.includes('david mayer')).length;
  document.getElementById('ovP1').textContent = p1 || '—';

}

// ──────────────────────────────────────────────────────────────────
// RENDER TRACKER
// ──────────────────────────────────────────────────────────────────
function pb(pos) {
  if (!pos) return '<span class="pb pb0">—</span>';
  const cl = pos<=3?'pb1':pos<=10?'pb2':'pb3';
  return `<span class="pb ${cl}">${pos.toFixed(1)}</span>`;
}
function trendArr(cur, prev) {
  if (!cur||!prev) return '';
  const d = prev-cur;
  if (d>0.4) return `<span style="color:var(--green);font-size:9px;margin-left:2px">▲${d.toFixed(1)}</span>`;
  if (d<-0.4) return `<span style="color:var(--red);font-size:9px;margin-left:2px">▼${Math.abs(d).toFixed(1)}</span>`;
  return '<span style="color:#999;font-size:9px;margin-left:2px">→</span>';
}

// % of time elapsed between publish date and top3 goal date
function timePct(publish, goal) {
  const now = new Date();
  const pubDate = parseDate(publish);
  const goalDate = parseDate(goal);
  if (now < pubDate) return 0; // not yet published
  if (now >= goalDate) return 100;
  return Math.min(100, Math.max(0, Math.round((now - pubDate) / (goalDate - pubDate) * 100)));
}
function rankPct(pos) {
  if (!pos) return 0;
  return Math.min(100, Math.max(0, Math.round((50-pos)/(50-3)*100)));
}

function fkwSparkline(m2, m1, m0) {
  const imp = [m2?.imp||0, m1?.imp||0, m0?.imp||0];
  const clk = [m2?.clicks||0, m1?.clicks||0, m0?.clicks||0];
  if (imp.every(v=>v===0) && clk.every(v=>v===0))
    return '<div style="text-align:center;color:#ccc;font-size:9px;padding-top:14px">—</div>';
  const W=88, H=32, pX=4, pY=3;
  const xs = [0,1,2].map(i => pX + i*(W-2*pX)/2);
  function polyline(vals, color, dash) {
    const mx = Math.max(...vals, 1);
    const pts = vals.map((v,i)=>`${xs[i].toFixed(1)},${(H-pY-(v/mx)*(H-2*pY)).toFixed(1)}`).join(' ');
    return `<polyline points="${pts}" stroke="${color}" stroke-width="1.5" fill="none" stroke-linejoin="round"${dash?' stroke-dasharray="3,2"':''}/>`;
  }
  function dots(vals, color) {
    const mx = Math.max(...vals, 1);
    return vals.map((v,i)=>v>0?`<circle cx="${xs[i].toFixed(1)}" cy="${(H-pY-(v/mx)*(H-2*pY)).toFixed(1)}" r="2" fill="${color}"/>`:'').join('');
  }
  const xlbs = ['Mai','Jun','Jul'].map((l,i)=>`<text x="${xs[i].toFixed(1)}" y="${H+9}" font-size="7" fill="#aaa" text-anchor="middle">${l}</text>`).join('');
  return `<svg width="${W}" height="${H+12}" style="display:block;margin:auto;overflow:visible">
    ${polyline(imp,'#2E86C1',false)}${dots(imp,'#2E86C1')}
    ${polyline(clk,'#D35400',true)}
    ${xlbs}
  </svg>`;
}

function renderTracker(m0, m1, m2) {
  let live=0,goals=0,onTrack=0,behind=0;
  let rows = '';

  PAGES.forEach(p => {
    const c0 = m0[p.url], c1 = m1[p.url], c2 = m2[p.url];
    const isLive = p.tag === 'neu' || parseDate(p.publish) <= new Date();  // neu-tagged = immer live
    // Focus KW position (from keyword maps) – brand keywords excluded
    // Supports kw2: pick the keyword with the better (lower) position
    function bestMatch(list, pg, minImp) {
      const m1 = list.find(k => k.q.toLowerCase() === pg.kw.toLowerCase() && k.imp >= minImp);
      const m2 = pg.kw2 ? list.find(k => k.q.toLowerCase() === pg.kw2.toLowerCase() && k.imp >= minImp) : null;
      if (!m1 && !m2) return null;
      if (!m1) return m2;
      if (!m2) return m1;
      return m1.pos <= m2.pos ? m1 : m2;
    }
    const kwList0 = pageKWMapP1[p.url] || [];
    const fkwMatch   = bestMatch(kwList0, p, 1);
    const kwList1    = pageKWMapP2[p.url] || [];
    const fkwMatchM1 = bestMatch(kwList1, p, 1);
    const kwList2    = pageKWMapP3[p.url] || [];
    const fkwMatchM2 = bestMatch(kwList2, p, 2);
    const pos0 = fkwMatch ? fkwMatch.pos : null;
    const pos0isMai = false;
    const _pos1raw = (!p.hidePrev && fkwMatchM1) ? fkwMatchM1.pos : null;
    const _pos2raw = (!p.hidePrev && fkwMatchM2) ? fkwMatchM2.pos : null;
    // Nur anzeigen wenn Vorperiode schlechter war (höhere Zahl = schlechteres Ranking)
    const pos1 = (_pos1raw && pos0 && _pos1raw < pos0) ? null : _pos1raw;
    const pos2 = (_pos2raw && pos0 && _pos2raw < pos0) ? null : _pos2raw;
    const tp = timePct(p.publish, p.goal), rp = rankPct(pos0);
    const goalMet = pos0 && pos0 <= 3;
    const ahead   = !goalMet && rp >= tp && isLive;
    const onT     = !goalMet && rp >= tp-20 && rp < tp && isLive;
    const beh     = !goalMet && rp < tp-20 && isLive;
    const overdue = new Date() > parseDate(p.goal);

    const noFocusRank = isLive && !fkwMatch;
    if(isLive) live++;
    if(goalMet) goals++;
    else if(ahead||onT) onTrack++;
    else if(beh) behind++;

    let spill, spc;
    if (!isLive){spill=`📋 Live ab ${p.publish}`;spc='p-gray';}
    else if (!isLive){spill='📊 Indexiert (kein Ranking)';spc='p-gray';}
    else if (goalMet){spill='✅ Top 3';spc='p-green';}
    else if (noFocusRank&&timePct(p.publish,p.goal)<25){spill='📊 Indexierung läuft';spc='p-blue';}
    else if (noFocusRank){spill='⚠️ Kein Focus-KW Ranking';spc='p-orange';}
    else if (ahead){spill='🚀 Vor Plan';spc='p-blue';}
    else if (onT){spill='🟡 Auf Kurs';spc='p-orange';}
    else if (beh&&overdue){spill='⚠️ Überfällig';spc='p-red';}
    else if (beh){spill='⚠️ Hinter Plan';spc='p-red';}
    else{spill='📊 Neu';spc='p-blue';}

    const rankColor = goalMet?'var(--green)':ahead?'var(--accent)':onT?'#FFC107':'var(--red)';
    const now_p = new Date();
    const notYetPub = !isLive;  // live if GSC data exists
    const progHtml = `<div class="prog-wrap">
      <div class="prog-bg">
        <div class="prog-time" style="width:${tp}%"></div>
        <div class="prog-rank" style="width:${notYetPub?0:rp}%;background:${rankColor}"></div>
      </div>
      <span class="prog-pct">${notYetPub?'—':rp+'%'}</span>
    </div>
    <div style="font-size:9px;color:var(--txt2);margin-top:3px">
      <span>🎯 Top 3: <strong>${p.goal}</strong></span>
    </div>
    <div style="font-size:9px;color:var(--txt2);margin-top:1px">
      ${notYetPub ? '<span style="color:var(--orange)">Noch nicht veröffentlicht</span>' : `Zeitplan ${tp}% · Ranking ${rp}%`}
    </div>`;

    const catC = p.cat==='Kern'?'p-blue':p.cat==='Situativ'?'p-orange':p.cat==='Hamburg'?'p-red':p.cat==='Umland'?'p-green':p.cat==='Blog'?'p-purple':p.cat==='Andernach'?'p-teal':'p-gray';
    // Expand-KW-Liste: M1+M0 mergen (letzte ~30 Tage), dedup by query (höchste Imp gewinnt), kein Cap
    const _kwMerge = {};
    for (const list of [pageKWMapP2[p.url]||[], pageKWMapP1[p.url]||[]]) {
      for (const k of list) {
        if (k.imp >= 1 && !k.q.includes('-site:')) {
          if (!_kwMerge[k.q] || k.imp > _kwMerge[k.q].imp) _kwMerge[k.q] = k;
        }
      }
    }
    const pageKWs = Object.values(_kwMerge).sort((a,b) => {
      const af = a.q.toLowerCase()===(p.kw||'').toLowerCase() || a.q.toLowerCase()===(p.kw2||'').toLowerCase();
      const bf = b.q.toLowerCase()===(p.kw||'').toLowerCase() || b.q.toLowerCase()===(p.kw2||'').toLowerCase();
      if(af&&!bf) return -1; if(bf&&!af) return 1;
      return b.clicks-a.clicks || b.imp-a.imp;
    });
    const pageImpM2 = (pageKWMapP3[p.url]||[]).reduce((s,k)=>s+(k.imp||0),0);
    const pageImpM1 = (pageKWMapP2[p.url]||[]).reduce((s,k)=>s+(k.imp||0),0);
    const pageImpM0 = (pageKWMapP1[p.url]||[]).reduce((s,k)=>s+(k.imp||0),0);
    const rowId   = 'pr_' + p.url.replace(/[^a-z0-9]/gi,'_');

    rows += `<tr data-cat="${p.cat}">
      <td>
        <div style="display:flex;align-items:flex-start;gap:4px">
          <button class="expand-btn" onclick="event.stopPropagation();toggleKW('${rowId}')" title="${pageKWs.length} Keywords">▶</button>
          <div>
            <div style="font-weight:600;font-size:11px">${p.url}${p.tag==='neu'?'<span class="badge-neu">Neu</span>':''}</div>
            <div style="font-size:10px;color:var(--txt2)">${p.kw}${p.kw2?` <span style="color:#bbb">/ ${p.kw2}</span>`:''}</div>
            ${p.note ? `<div style="font-size:10px;color:#C05E10;font-weight:600;margin-top:2px">${p.note}</div>` : ''}
            ${p.ziel ? `<div style="font-size:10px;color:var(--accent);margin-top:2px">→ Linkziel: <strong>${p.ziel}</strong></div>` : ''}
          </div>
        </div>
      </td>
      <td><span class="pill ${catC}">${p.cat}</span></td>
      <td class="center">${pos0isMai ? pb(pos0)+'<span style="font-size:8px;color:#aaa;margin-left:2px">(Mai)</span>' : pb(pos0)}</td>
      <td class="center">${pb(pos1)}${trendArr(pos1,pos2)}</td>
      <td class="center">${pb(pos2)}</td>
      <td class="center" style="font-size:11px;font-weight:600;color:${pageImpM0>0?'var(--brand)':'#ccc'}">${pageImpM0||'—'}</td>
      <td class="center" style="font-size:11px;color:${(pageImpM1>0&&pageImpM1<pageImpM0)?'var(--txt)':'#ccc'}">${(pageImpM1&&pageImpM0&&pageImpM1>=pageImpM0)?'—':pageImpM1||'—'}</td>
      <td class="center" style="font-size:11px;color:${(pageImpM2>0&&pageImpM2<pageImpM0)?'var(--txt2)':'#ccc'}">${(pageImpM2&&pageImpM0&&pageImpM2>=pageImpM0)?'—':pageImpM2||'—'}</td>
      <td style="min-width:140px">${progHtml}</td>
      <td><span class="pill ${spc}">${spill}</span></td>
    </tr>
    <tr id="${rowId}" style="display:none">
      <td colspan="10" style="padding:0;background:#F8FBFF">
        ${pageKWs.length === 0
          ? `<div style="padding:10px 38px;font-size:11px;color:#aaa">Keine GSC-Keyword-Daten für diese Seite verfügbar.</div>`
          : `<table style="width:100%;border-collapse:collapse">
          <tr style="background:#EBF5FB">
            <td style="padding:5px 10px 5px 38px;font-size:10px;font-weight:700;color:var(--brand);width:35%">KEYWORD <span style="font-weight:400;color:#999">(letzte 30 Tage, Jun/Jul 2026)</span></td>
            <td style="padding:5px 8px;font-size:10px;font-weight:700;color:var(--brand);text-align:center;width:80px">Ø POS</td>
            <td style="padding:5px 8px;font-size:10px;font-weight:700;color:var(--brand);text-align:center;width:100px">IMPRESSIONEN</td>
            <td style="padding:5px 8px;font-size:10px;font-weight:700;color:var(--brand);text-align:center;width:70px">KLICKS</td>
            <td colspan="5"></td>
          </tr>
          ${pageKWs.map(kw => {
            const cl = kw.pos<=3?'pb1':kw.pos<=10?'pb2':'pb3';
            const isFocus = kw.q.toLowerCase() === (p.kw||'').toLowerCase() || kw.q.toLowerCase() === (p.kw2||'').toLowerCase();
            const isActive = fkwMatch && kw.q.toLowerCase() === fkwMatch.q.toLowerCase();
            const brand = ['ihr fairer makler','fairer makler','david mayer','fairmakler'].some(b=>kw.q.toLowerCase().includes(b));
            const rowBg = isActive ? 'background:#FFFBEA;' : isFocus ? 'background:#F5FFF5;' : '';
            return `<tr class="kw-sub-row" style="${rowBg}">
              <td style="padding:4px 8px 4px 38px;font-size:11px;${isFocus?'font-weight:700;':''}">${isActive?'★ ':isFocus?'☆ ':''}${kw.q}${brand&&!isFocus?' <span style="font-size:9px;color:#aaa">(Brand)</span>':''}</td>
              <td style="text-align:center"><span class="pb ${cl}">${kw.pos.toFixed(1)}</span></td>
              <td style="text-align:center;font-size:11px;color:var(--txt2)">${kw.imp.toLocaleString('de')}</td>
              <td style="text-align:center;font-size:11px;font-weight:${kw.clicks>0?'600':'400'};color:${kw.clicks>0?'var(--brand)':'var(--txt2)'}">${kw.clicks>0?kw.clicks:'—'}</td>
              <td colspan="5"></td>
            </tr>`;
          }).join('')}
        </table>`}
      </td>
    </tr>
    `;
  });

  document.getElementById('tkL').textContent = live;
  document.getElementById('tkG').textContent = goals;
  document.getElementById('tkO').textContent = onTrack;
  document.getElementById('tkB').textContent = behind;

  document.getElementById('pageWrap').innerHTML = `<table class="tbl" id="pageTable">
    <thead>
      <tr>
        <th rowspan="2" style="min-width:170px">Seite / Keyword</th>
        <th rowspan="2">Kategorie</th>
        <th colspan="3" class="center" style="font-size:10px;color:var(--brand);border-bottom:1px solid var(--border);padding-bottom:3px">Positionen Fokus-KW</th>
        <th colspan="3" class="center" style="font-size:10px;color:var(--brand);border-bottom:1px solid var(--border);padding-bottom:3px">Impressionen</th>
        <th rowspan="2" style="min-width:145px">Fortschritt → Top 3</th>
        <th rowspan="2">Status</th>
      </tr>
      <tr>
        <th class="center" style="min-width:68px;font-size:9px;font-weight:600">06.07–07.06</th>
        <th class="center" style="min-width:68px;font-size:9px;font-weight:600">06.06–07.05</th>
        <th class="center" style="min-width:68px;font-size:9px;font-weight:600">06.05–07.04</th>
        <th class="center" style="min-width:68px;font-size:9px;font-weight:600">06.07–07.06</th>
        <th class="center" style="min-width:68px;font-size:9px;font-weight:600">06.06–07.05</th>
        <th class="center" style="min-width:68px;font-size:9px;font-weight:600">06.05–07.04</th>
      </tr>
    </thead><tbody>${rows}</tbody></table>`;
}

// ──────────────────────────────────────────────────────────────────
// KEYWORDS TABLE
// ──────────────────────────────────────────────────────────────────
function renderKWTable(kws) {
  const list = kws.filter(k=>k.q&&k.q!=='(unknown)'&&!k.q.includes('ihr fairer')&&!k.q.includes('david mayer')).sort((a,b)=>a.pos-b.pos);
  if (!list.length){ document.getElementById('kwWrap').innerHTML='<div class="loader">Keine Daten</div>'; return; }
  document.getElementById('kwWrap').innerHTML = `<table class="tbl">
    <thead><tr><th>Keyword</th><th class="center">Position</th><th class="center">Impressionen</th><th class="center">Klicks</th><th class="center">CTR</th><th>Status</th></tr></thead>
    <tbody>${list.map(k=>{
      const cl=k.pos<=3?'pb1':k.pos<=10?'pb2':'pb3';
      const pl=k.pos<=3?'p-green':k.pos<=10?'p-blue':k.pos<=20?'p-orange':'p-gray';
      const label=k.pos<=3?'Top 3 ✅':k.pos<=10?'Seite 1':k.pos<=20?'Seite 2':'Tiefer';
      return `<tr><td style="font-weight:600">${k.q}</td><td class="center"><span class="pb ${cl}">${k.pos.toFixed(1)}</span></td><td class="center">${k.imp.toLocaleString('de')}</td><td class="center">${k.clicks}</td><td class="center">${(k.ctr*100).toFixed(1)}%</td><td><span class="pill ${pl}">${label}</span></td></tr>`;
    }).join('')}</tbody></table>`;
}

// ──────────────────────────────────────────────────────────────────
// BACKLINKS
// ──────────────────────────────────────────────────────────────────
const STATS=['Geplant','In Kontakt','Angebot','Gesichert','Live','Prüfen'];
function renderBL(){
  const cats = [...new Set(blData.map(b=>b.cat))];
  let html = '';
  cats.forEach(cat => {
    const items = blData.filter(b=>b.cat===cat);
    html += '<tr style="background:var(--brand)"><td colspan="8" style="color:#fff;font-weight:700;padding:6px 10px;font-size:11px">' + cat + '</td></tr>';
    items.forEach((b,_) => {
      const i = blData.indexOf(b);
      const sc = b.st==='Live'?'p-green':b.st==='Gesichert'?'p-blue':b.st==='In Kontakt'||b.st==='Angebot'?'p-orange':b.st==='Prüfen'?'p-blue':'p-gray';
      const relCol = b.rel==='Sehr hoch'?'var(--green)':b.rel==='Hoch'?'var(--accent)':b.rel==='Mittel'?'var(--yellow)':'var(--txt2)';
      html += '<tr>' +
        '<td style="font-weight:600;font-size:12px">' + b.s + '<div style="font-size:10px;color:var(--txt2)">' + (b.dom||'') + '</div></td>' +
        '<td style="font-size:11px;color:var(--txt2)">' + b.t + '</td>' +
        '<td><span style="font-size:11px;font-weight:700;color:' + relCol + '">' + b.rel + '</span><div style="font-size:10px;color:var(--txt2)">' + (b.cluster||'') + '</div></td>' +
        '<td style="font-size:11px">' + (b.contact||'') + '</td>' +
        '<td><input class="ed" value="' + (b.c||'') + '" onchange="blData[' + i + '].c=this.value" placeholder="TT.MM" style="width:60px"></td>' +
        '<td><select class="ed" onchange="blData[' + i + '].st=this.value;renderBL()">' + STATS.map(s=>'<option '+(s===b.st?'selected':'')+'>'+s+'</option>').join('') + '</select></td>' +
        '<td><input class="ed" value="' + (b.l||'') + '" onchange="blData[' + i + '].l=this.value" placeholder="TT.MM" style="width:60px"></td>' +
        '<td style="font-size:11px;color:var(--txt2);max-width:180px">' + (b.n||'') + '</td>' +
      '</tr>';
    });
  });
  document.getElementById('blBody').innerHTML = html;
}
window.addBL=()=>{blData.push({cat:'Manuell',s:'Neue Quelle',dom:'',t:'',rel:'',cluster:'',contact:'',c:'',st:'Geplant',l:'',n:''});renderBL();};
window.saveBL=()=>{localStorage.setItem('ifmBL',JSON.stringify(blData));const b=document.getElementById('saveBLBtn');b.textContent='✅ Gespeichert';setTimeout(()=>b.textContent='💾 Speichern',1500);};

// ──────────────────────────────────────────────────────────────────
// GMB
// ──────────────────────────────────────────────────────────────────
function renderGMB(){
  document.getElementById('gmbGrid').innerHTML='';
  GMB_D.forEach((d,i)=>{
    const pos=gmbData[i]||null;
    const cls=!pos?'gx':pos<=3?'g1':pos<=5?'g2':pos<=10?'g3':pos<=15?'g4':pos<=20?'g5':'g6';
    const prev=GMB_PREV[i]||null;
    let trendHtml='';
    if(pos && prev){
      const delta=prev-pos; // positive = improved (lower rank number)
      if(delta>0) trendHtml=`<div class="gmb-trend gmb-up">↑${delta}</div>`;
      else if(delta<0) trendHtml=`<div class="gmb-trend gmb-dn">↓${Math.abs(delta)}</div>`;
    } else if(pos && !prev){
      trendHtml=`<div class="gmb-trend gmb-up">NEU</div>`;
    }
    const el=document.createElement('div');
    el.className='gmb-cell '+cls;
    el.innerHTML=`${d.c?'<div class="gmb-star">★</div>':''}${trendHtml}<div class="gmb-pos">${pos||'?'}</div><div class="gmb-name">${d.n}</div>`;
    el.onclick=()=>{curGMBCell=i;document.getElementById('modT').textContent=d.n;document.getElementById('modIn').value=pos||'';document.getElementById('gmbMod').classList.add('show');setTimeout(()=>document.getElementById('modIn').focus(),50);};
    document.getElementById('gmbGrid').appendChild(el);
  });
}
window.closeMod=()=>document.getElementById('gmbMod').classList.remove('show');
window.saveGMB=()=>{const v=parseInt(document.getElementById('modIn').value);if(v>0)gmbData[curGMBCell]=v;else delete gmbData[curGMBCell];localStorage.setItem('ifmGMB',JSON.stringify(gmbData));closeMod();renderGMB();
  renderAI();};
window.resetGMB=()=>{if(!confirm('Snapshot zurücksetzen? Manuelle Änderungen werden gelöscht.'))return;localStorage.removeItem('ifmGMB');gmbData={...GMB_DEFAULT};renderGMB();
  renderAI();};
window.togCheck=(el)=>{const d=el.classList.contains('p-green');el.className='pill '+(d?'p-gray':'p-green');el.textContent=d?'Offen':'✅ Erledigt';gmbChecks[el.id]=!d;localStorage.setItem('ifmGC',JSON.stringify(gmbChecks));};


// ──────────────────────────────────────────────────────────────────
// AI SICHTBARKEIT
// ──────────────────────────────────────────────────────────────────
let curAILlm = null, curAIQ = null;

function renderAI() {
  // KPI Row
  const kpiRow = document.getElementById('aiKpiRow');
  kpiRow.innerHTML = AI_LLMS.map(llm => {
    const results = AI_QUERIES.map(q => (aiData[llm.id]||{})[q.id]);
    const checked = results.filter(r => r !== undefined && r !== null);
    const yes     = results.filter(r => r?.result === true);
    const pct     = checked.length ? Math.round(yes.length/checked.length*100) : null;
    const pctStr  = pct !== null ? pct+'%' : '—';
    const pctCol  = pct === null ? 'var(--txt2)' : pct >= 50 ? '#065F46' : pct > 0 ? '#D97706' : '#991B1B';
    return `<div class="ai-kpi">
      <div class="ai-kpi-name" style="color:${llm.color}">${llm.name}</div>
      <div class="ai-kpi-pct" style="color:${pctCol}">${pctStr}</div>
      <div class="ai-kpi-sub">${checked.length}/${AI_QUERIES.length} geprüft</div>
    </div>`;
  }).join('');

  // Last check date
  const dates = Object.values(aiData).flatMap(llm => Object.values(llm).map(r => r.date)).filter(Boolean);
  const lastDate = dates.sort().reverse()[0];
  document.getElementById('aiLastCheck').textContent = lastDate ? 'Letzte Prüfung: '+lastDate : 'Noch keine Daten';

  // Matrix
  const mat = document.getElementById('aiMatrix');
  const llmCols = AI_LLMS.map(l=>`<th style="text-align:center;color:${l.color}">${l.name}</th>`).join('');
  let rows = `<thead><tr><th style="min-width:200px">Frage</th>${llmCols}</tr></thead><tbody>`;

  AI_QUERIES.forEach(q => {
    const cells = AI_LLMS.map(llm => {
      const entry = (aiData[llm.id]||{})[q.id];
      const r = entry?.result;
      const cls = r === true ? 'ai-yes' : r === false ? 'ai-no' : 'ai-open';
      const icon = r === true ? '✅' : r === false ? '❌' : '?';
      const dot  = entry?.note ? '<div class="ai-note-badge" title="'+entry.note.replace(/"/g,"'")+'"></div>' : '';
      return `<td style="text-align:center"><div class="ai-cell ${cls}" onclick="openAIMod('${llm.id}','${q.id}')">${icon}${dot}</div></td>`;
    }).join('');
    // Note row if any LLM has a snippet
    const snippets = AI_LLMS.map(llm => {
      const note = (aiData[llm.id]||{})[q.id]?.note;
      return note ? `<span style="color:${llm.color};font-weight:700">${llm.name}:</span> ${note}` : '';
    }).filter(Boolean);

    rows += `<tr>
      <td>
        <div style="font-weight:600;font-size:11px">${q.short}</div>
        <div style="font-size:10px;color:var(--txt2);margin-top:2px">${q.q}</div>
        ${snippets.length ? '<div class="ai-snippet">'+snippets.join(' &nbsp;·&nbsp; ')+'</div>' : ''}
      </td>${cells}</tr>`;
  });
  rows += '</tbody>';
  mat.innerHTML = rows;
}

window.openAIMod = (llmId, qId) => {
  curAILlm = llmId; curAIQ = qId;
  const llm = AI_LLMS.find(l=>l.id===llmId);
  const q   = AI_QUERIES.find(q=>q.id===qId);
  const existing = (aiData[llmId]||{})[qId];
  document.getElementById('aiModTitle').textContent = llm.name + ' – ' + q.short;
  document.getElementById('aiModQText').textContent = q.q;
  document.getElementById('aiModNote').value = existing?.note || '';
  // Highlight current state
  document.getElementById('aiBtnYes').style.border = existing?.result===true  ? '2px solid #065F46' : '2px solid transparent';
  document.getElementById('aiBtnNo').style.border  = existing?.result===false ? '2px solid #991B1B' : '2px solid transparent';
  // Perplexity gets direct link
  if (llmId==='perplexity') {
    document.getElementById('aiModLink').innerHTML = `<a href="${llm.url}${encodeURIComponent(q.q)}" target="_blank" class="btn btn-s" style="font-size:10px;padding:2px 8px">🔗 In Perplexity öffnen</a>`;
  } else {
    document.getElementById('aiModLink').innerHTML = `<a href="${llm.url}" target="_blank" class="btn btn-s" style="font-size:10px;padding:2px 8px">🔗 ${llm.name} öffnen</a>`;
  }
  document.getElementById('aiMod').classList.add('show');
};
window.closeAIMod = () => document.getElementById('aiMod').classList.remove('show');
window.copyAIQuery = () => {
  const q = AI_QUERIES.find(q=>q.id===curAIQ);
  navigator.clipboard.writeText(q.q).then(()=>{
    const btn = document.querySelector('#aiModQ .btn');
    btn.textContent='✅ Kopiert!'; setTimeout(()=>btn.textContent='📋 Kopieren',1500);
  });
};
let _pendingResult = undefined;
window.setAIResult = (val) => {
  _pendingResult = val;
  document.getElementById('aiBtnYes').style.border = val===true  ? '2px solid #065F46' : '2px solid transparent';
  document.getElementById('aiBtnNo').style.border  = val===false ? '2px solid #991B1B' : '2px solid transparent';
};
window.saveAIResult = () => {
  if (_pendingResult === undefined) { closeAIMod(); return; }
  if (!aiData[curAILlm]) aiData[curAILlm] = {};
  aiData[curAILlm][curAIQ] = {
    result: _pendingResult,
    note: document.getElementById('aiModNote').value.trim(),
    date: new Date().toLocaleDateString('de-DE',{day:'2-digit',month:'2-digit',year:'numeric'})
  };
  localStorage.setItem('ifmAI', JSON.stringify(aiData));
  _pendingResult = undefined;
  closeAIMod();
  renderAI();
};

// ──────────────────────────────────────────────────────────────────
// TABS + FILTER
// ──────────────────────────────────────────────────────────────────
window.showTab=(n)=>{
  document.querySelectorAll('.tab').forEach((t,i)=>t.classList.toggle('active',['tracker','backlinks','gmb','keywords','ai'][i]===n));
  document.querySelectorAll('.tab-content').forEach(c=>c.classList.remove('active'));
  document.getElementById('tab-'+n).classList.add('active');
};
window.filt=(cat,btn)=>{
  document.querySelectorAll('#pageTable tbody tr').forEach(tr=>tr.style.display=(cat==='Alle'||tr.dataset.cat===cat)?'':'none');
  btn.closest('.filter-bar').querySelectorAll('.fb').forEach(b=>b.classList.remove('active'));
  btn.classList.add('active');
};

// ──────────────────────────────────────────────────────────────────
// TOGGLE KEYWORD ROWS
// ──────────────────────────────────────────────────────────────────
window.toggleKW = (id) => {
  const row = document.getElementById(id);
  if (!row) return;
  const btn = row.previousElementSibling?.querySelector('.expand-btn');
  const isHidden = row.style.display === 'none' || !row.style.display;
  row.style.display = isHidden ? 'table-row' : 'none';
  if (btn) btn.textContent = isHidden ? '▼' : '▶';
};

// ──────────────────────────────────────────────────────────────────
// INIT — DEFAULT-DATEN sofort rendern, kein Auto-Fetch
// ──────────────────────────────────────────────────────────────────
const DEFAULT_DATE = 'Stand: 07.07.2026 (P1: 07.06–06.07 · P2: 07.05–06.06 · P3: 07.04–06.05)';
try { renderBL(); } catch(e) { console.warn('renderBL',e); }
try { renderGMB(); } catch(e) { console.warn('renderGMB',e); }
try { renderAI(); } catch(e) { console.warn('renderAI',e); }

// Populate pM0/pM1/pM2 from DEFAULT_PAGES (keys = slugs, matching PAGES[].url)
var pM0 = {}, pM1 = {}, pM2 = {};
DEFAULT_PAGES.forEach(p  => { pM0[p.slug] = p; });
DEFAULT_PAGES_M1.forEach(p => { pM1[p.slug] = p; });
DEFAULT_PAGES_M2.forEach(p => { pM2[p.slug] = p; });
var kwAll = DEFAULT_KW;
pageKWMapP1   = DEFAULT_KW_MAP_P1;
pageKWMapP2 = DEFAULT_KW_MAP_P2;
pageKWMapP3 = DEFAULT_KW_MAP_P3;
labels = {m0:'P1 (07.06–06.07)', m1:'P2 (07.05–06.06)', m2:'P3 (07.04–06.05)'};

try { renderOverview(DEFAULT_KW, DEFAULT_TOTALS.clicks, DEFAULT_TOTALS.impressions, DEFAULT_TOTALS.clicksPrev, DEFAULT_TOTALS.impsPrev); } catch(e) { console.error('renderOverview',e); }
try { renderTracker(pM0, pM1, pM2); } catch(e) { console.error('renderTracker',e); }
try { renderKWTable(DEFAULT_KW); } catch(e) { console.error('renderKWTable',e); }

document.getElementById('lastUp').textContent = DEFAULT_DATE;
// reload button removed

try {
  Object.keys(gmbChecks).forEach(id=>{const el=document.getElementById(id);if(el){el.className='pill '+(gmbChecks[id]?'p-green':'p-gray');el.textContent=gmbChecks[id]?'✅ Erledigt':'Offen';}});
} catch(e) { console.warn('gmbChecks',e); }

document.addEventListener('click', e => { if(e.target.id==='gmbMod') closeMod(); });
try { document.getElementById('modIn').addEventListener('keydown',e=>{if(e.key==='Enter')saveGMB();if(e.key==='Escape')closeMod();}); } catch(e) {}

// Kein auto loadAll() — nur bei Button-Klick
</script>
</body>
</html>

Jetzt Rückruf vereinbaren!