CommunityRecherche & Datenanalysegithub.com

Landing-Page-Prüfer

Prüft eine Landingpage, Startseite oder Verkaufsseite auf Conversion-Optimierung mittels GA4, Search Console, Google Ads sowie Desktop- und Mobile-Darstellungen, bewertet sie anhand von sieben Säulen und priorisiert Korrekturen mit konkreten Textvorschlägen. Verwenden Sie diese Fähigkeit, wenn eine Seite nicht konvertiert, für eine Landingpage-Überprüfung, einen Mobile-Check oder eine neue Seitenstruktur.

Was ist Landing-Page-Prüfer?

Der Landing-Page-Prüfer ist ein KI-Assistent, der eine detaillierte Conversion-Analyse einer beliebigen Landingpage, Homepage oder Verkaufsseite durchführt. Er verbindet Daten aus Google Analytics 4, Search Console, Google Ads und PageSpeed Insights mit visuellen Desktop- und Mobile-Screenshots, um sieben kritische Säulen der Seitenoptimierung zu bewerten: Nachverfolgung, Traffic-Quellen, Device-Kompatibilität, Seitenstruktur, Lesbarkeit, Vertrauenssignale und technische Leistung. Jede Erkenntnis wird durch konkrete Zahlen oder Seitenelemente belegt. Der Assistent identifiziert genau, ob eine Conversion gemessen wird, wer auf die Seite kommt und wohin sie gehen, und vergleicht die Botschaft der Anzeige mit dem Inhalt der Seite. Er generiert eine priorisierte Liste von Korrekturen inklusive umgeschriebener Textvorschläge. Die Fähigkeit ist für Claude Code über die InsightfulPipe MCP-Verbindung nutzbar und erfordert entsprechende API-Zugänge. Sie ist besonders nützlich für Entwickler, Produktmanager und Conversion-Optimierer, die datengetriebene Entscheidungen zur Verbesserung ihrer Seiten treffen möchten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Insightful-Pipe/analytics-cro-skills/tree/HEAD/skills/landing-page-auditor

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Landing-Page-Prüfer?

Eine Prüfung, die sowohl die Seite als auch die Menschen betrachtet, die auf ihr landen. Jede Erkenntnis stammt aus einem Aufruf, den diese Fähigkeit ausführt, und jede Erkenntnis zeigt die Zahlen oder das Seitenelement dahinter.

Vor dem Start

Sie benötigen die InsightfulPipe MCP-Verbindung. Google Analytics 4 und DataForSEO tragen den Hauptpfad; die anderen Quellen ergänzen ihn.

  1. Rufen Sie query_contexts mit request="accounts" für jede Plattform auf: google-analytics, google-search-console, dataforseo, screenshot, pagespeed-insights und google-ads, falls die Seite bezahlten Traffic erhält. Notieren Sie sich workspace_id, brand_id, die GA4 property_id und die Search Console site_url. Wenn es mehrere Properties gibt, fragen Sie nach, welche Website gemeint ist.
  2. Rufen Sie query_contexts mit request="actions_details" für get_report und list_key_events (google-analytics), search_analytics, onpage_instant_pages, capture, core-web-vitals, accessibility-seo und gaql auf und folgen Sie den zurückgegebenen Body-Strukturen.
  3. Fragen Sie nach drei Dingen und verwenden Sie die Standardwerte, wenn der Benutzer sie nicht kennt:
    • Die Seite. Standard: die Landingpage mit den meisten Sitzungen in GA4 (Schritt 1).
    • Die eine Aktion, für die die Seite existiert (Anmelden, Kaufen, Demo buchen, Anrufen, Herunterladen). Standard: das Ziel des ersten CTA im Hero-Bereich.
    • Der Seitentyp: bezahlte Landingpage, Homepage, Verkaufsseite, Preisseite, Feature-Seite, Produktseite, Lead-Generierungsseite, Event-Seite. Standard: aus der URL und dem Traffic-Mix ableiten und dies so kommunizieren.

Daten. GA4 benötigt ein oder zwei Tage, um einen Tag zu verarbeiten, und ein noch nicht verarbeiteter Tag zeigt Sitzungen ohne Engagement. Verwenden Sie die letzten 28 Tage, die 2 Tage vor heute enden. Search Console hinkt mehr hinterher: Beenden Sie dessen Fenster 3 Tage vor heute. Geben Sie beide Zeitfenster im Bericht oben an.

So führen Sie die Abfragen aus

Jeder untenstehende Body wird über query_data mit der genannten Plattform plus workspace_id und brand_id gesendet. Die Daten stammen aus einem Testlauf: Verwenden Sie Ihre eigenen Zeitfenster. Der Pfad / und https://example.com/ stehen für die zu prüfende Seite. Regeln, die von den APIs oder den Daten erzwungen werden:

  • GA4 landingPage ist ein Pfad ohne den Host (/pricing). Zeilen mit einem leeren Wert oder (not set) sind Sitzungen ohne Seitenaufruf; lassen Sie sie aus den Seitenrankings heraus und geben Sie an, wie viele es gab.
  • GA4-Filter verwenden dimensionFilter mit filter / stringFilter (matchType EXACT), inListFilter oder einem andGroup von Ausdrücken.
  • Search Console filtert nach der vollständigen URL, einschließlich Host und dem von der Website verwendeten abschließenden Schrägstrich.
  • Google Ads GAQL: Alles in ORDER BY muss auch in SELECT sein. Geldbeträge sind in _micros; teilen Sie durch 1.000.000.
  • DataForSEO custom_js läuft in einem Seitenmodell ohne Layout-Engine: getBoundingClientRect, innerHeight und berechnete Styles sind nicht vorhanden, und NodeList.forEach schlägt fehl. Verwenden Sie einfache for-Schleifen und die DOM-Reihenfolge, halten Sie das Skript unter etwa 2.000 Zeichen und lesen Sie custom_js_client_exception, wenn die Antwort leer ist. Jeder onpage_instant_pages-Aufruf wird abgerechnet: einer pro Seite.

Wenn ein Aufruf fehlschlägt, machen Sie weiter. Markieren Sie das, was er liefert, als unbekannt, geben Sie an, welcher Aufruf fehlgeschlagen ist und warum, und wiederholen Sie ein fehlgeschlagenes Seiten-Tool einmal am Ende. Füllen Sie niemals eine Lücke mit einer Vermutung.

Schritt 1. Seite auswählen und Tracking prüfen

{"platform": "google-analytics", "action": "get_report", "property_id": "properties/<PROPERTY_ID>",
 "dimensions": ["date"], "metrics": ["sessions", "engagedSessions", "keyEvents"],
 "start_date": "2026-09-06", "end_date": "2026-10-05"}

Führen Sie diese tägliche Prüfung über die letzten 30 Tage bis gestern durch.

  • Tracking-Änderung: Wenn die Sitzungen eines Tages mindestens das 5-fache des Medians der 7 Tage davor betragen und die folgenden Tage auf diesem Niveau bleiben, hat sich der Tag an diesem Tag geändert (oder umgekehrt bei einem Rückgang). Starten Sie das Fenster am ersten Tag des neuen Niveaus.
  • Unverarbeitete Tage: Ein aktueller Tag mit Sitzungen und 0 engagierten Sitzungen ist noch nicht verarbeitet. Lassen Sie ihn aus dem Fenster.
  • Kurzer Zeitraum: Wenn weniger als 7 Tage übrig sind, wird die Prüfung trotzdem durchgeführt, aber im Bericht oben angeben, dass die Raten nur richtungsweisend sind.
{"platform": "google-analytics", "action": "get_report", "property_id": "properties/<PROPERTY_ID>",
 "dimensions": ["landingPage"],
 "metrics": ["sessions", "engagedSessions", "engagementRate", "keyEvents", "averageSessionDuration"],
 "start_date": "2026-10-01", "end_date": "2026-10-04",
 "orderBys": [{"metric": {"metricName": "sessions"}, "desc": true}], "limit": 25}

Führen Sie denselben Bericht mit deviceCategory als einziger Dimension für die Gesamt-Engagement-Rate der Website aus. Wenn der Benutzer keine Seite genannt hat, prüfen Sie die Landingpage mit den meisten Sitzungen und listen Sie die nächsten vier als Kandidaten für eine weitere Prüfung auf.

Schritt 2. Messung: Wird die Conversion der Seite gezählt?

{"platform": "google-analytics", "action": "list_key_events", "property_id": "properties/<PROPERTY_ID>"}
{"platform": "google-analytics", "action": "get_report", "property_id": "properties/<PROPERTY_ID>",
 "dimensions": ["pagePath", "eventName"], "metrics": ["eventCount", "totalUsers"],
 "start_date": "2026-10-01", "end_date": "2026-10-04",
 "dimensionFilter": {"filter": {"fieldName": "pagePath", "stringFilter": {"matchType": "EXACT", "value": "/"}}}}
{"platform": "google-analytics", "action": "get_report", "property_id": "properties/<PROPERTY_ID>",
 "dimensions": ["pagePath", "linkUrl", "outbound"], "metrics": ["eventCount"],
 "start_date": "2026-10-01", "end_date": "2026-10-04",
 "dimensionFilter": {"andGroup": {"expressions": [
   {"filter": {"fieldName": "pagePath", "stringFilter": {"matchType": "EXACT", "value": "/"}}},
   {"filter": {"fieldName": "eventName", "stringFilter": {"matchType": "EXACT", "value": "click"}}}]}}}
ErgebnisWenn
Gemessender Landing-Bericht zeigt Key Events für die Seite, oder ein Key Event wird auf ihr ausgelöst
Teilweisenur CTA-Klicks werden aufgezeichnet (ein Click-Event, dessen linkUrl das Ziel des CTA ist)
Nicht gemessenkeines von beiden
  • Key Events, deren Namen "test" oder "qa" enthalten, zählen nicht. Berichten Sie, wie viele konfiguriert und wie viele im Zeitfenster ausgelöst wurden.
  • GA4s integriertes click-Event protokolliert nur ausgehende Links. Links innerhalb der Website und zu Domains, die für domainübergreifende Messung eingerichtet sind, werden nicht protokolliert. Keine Klick-Zeilen für das Ziel des CTA bedeutet daher "nicht gemessen", niemals "niemand hat geklickt".
  • Wenn die Seite nicht gemessen wird, gibt es keine Conversion-Rate. Verwenden Sie die Proxy-Metriken und kennzeichnen Sie sie als solche: Engagement-Rate, der Anteil der Sitzungen der Seite, die den Conversion-Pfad erreichen (Schritt 3), und 90 % Scroll (das integrierte scroll-Event; fügen Sie deviceCategory zum Events-Bericht hinzu, um es nach Gerät aufzuteilen, Nutzer, die gescrollt haben, gegenüber Nutzern, die angesehen haben).

Schritt 3. Wer kommt an und wohin gehen sie als nächstes?

{"platform": "google-analytics", "action": "get_report", "property_id": "properties/<PROPERTY_ID>",
 "dimensions": ["landingPage", "sessionDefaultChannelGroup", "sessionSourceMedium"],
 "metrics": ["sessions", "engagedSessions", "engagementRate"],
 "start_date": "2026-10-01", "end_date": "2026-10-04",
 "dimensionFilter": {"filter": {"fieldName": "landingPage", "stringFilter": {"matchType": "EXACT", "value": "/"}}}}

Führen Sie es erneut mit deviceCategory anstelle der Channel-Dimensionen aus und noch einmal mit pagePath und der Metrik sessions (Top 10 nach Sitzungen), um zu sehen, wohin die Seite die Besucher schickt. Die erste Zeile ist normalerweise die Seite selbst, also zeigen 10 Zeilen 9 nächste Seiten. Dann:

  • Quellen: Der Anteil der Sitzungen aus jedem Channel und dessen Engagement-Rate. Eine Quelle mit 10 oder mehr Sitzungen und 0 Engagements ist ein Traffic-Problem (ein Bot, ein Preview-Fetcher oder ein defekter Tag), kein Seitenproblem. Markieren Sie es und geben Sie die Engagement-Rate der Seite mit und ohne diese Quelle an.
  • Geräte: Der Mobile-Anteil bestimmt, wie stark die Mobile-Erkenntnisse gewichtet werden.
  • Conversion-Pfad: Der Anteil der Sitzungen, die die Preis-, Demo-, Anmelde- oder Checkout-Seite erreichen.
  • Bezahlten Traffic bestätigen. google / cpc-Sitzungen zählen nur dann als Google Ads, wenn die Sitzung eine sessionGoogleAdsCustomerId hat oder das Werbekonto Klicks auf diese URL zeigt. Andernfalls bezeichnen Sie sie als "unbestätigt bezahlt" und geben dies an.
{"platform": "google-analytics", "action": "get_report", "property_id": "properties/<PROPERTY_ID>",
 "dimensions": ["landingPage", "sessionCampaignName", "sessionGoogleAdsCustomerId"], "metrics": ["sessions", "engagedSessions"],
 "start_date": "2026-10-01", "end_date": "2026-10-04",
 "dimensionFilter": {"andGroup": {"expressions": [
   {"filter": {"fieldName": "landingPage", "stringFilter": {"matchType": "EXACT", "value": "/"}}},
   {"filter": {"fieldName": "sessionSourceMedium", "stringFilter": {"matchType": "EXACT", "value": "google / cpc"}}}]}}}

Organische Absicht (Search Console):

{"platform": "google-search-console", "action": "search_analytics", "site_url": "https://example.com/",
 "dimensions": ["query"], "start_date": "2026-09-06", "end_date": "2026-10-03", "row_limit": 25,
 "dimension_filter_groups": [{"filters": [{"dimension": "page", "operator": "equals", "expression": "https://example.com/"}]}]}

Teilen Sie Marken-Anfragen (der Firmenname und seine Rechtschreibfehler) vom Rest und geben Sie den Marken-Anteil der Klicks an. Marken-Besucher kennen den Namen bereits: Die Seite muss ihn bestätigen und sie weiterleiten. Nicht-Marken-Anfragen enthalten die Wörter, die die Überschrift widerspiegeln sollte.

Paid Message Match (Google Ads):

SELECT landing_page_view.unexpanded_final_url, metrics.clicks, metrics.cost_micros, metrics.conversions
FROM landing_page_view WHERE segments.date DURING LAST_30_DAYS ORDER BY metrics.clicks DESC LIMIT 20
SELECT ad_group_ad.ad.final_urls, ad_group_ad.ad.responsive_search_ad.headlines, metrics.clicks, metrics.impressions
FROM ad_group_ad WHERE segments.date DURING LAST_30_DAYS AND ad_group_ad.status = 'ENABLED'
ORDER BY metrics.clicks DESC LIMIT 20
SELECT ad_group.name, ad_group_criterion.keyword.text, ad_group_criterion.quality_info.post_click_quality_score,
       ad_group_criterion.final_urls, metrics.clicks
FROM keyword_view WHERE segments.date DURING LAST_30_DAYS AND metrics.clicks > 0 ORDER BY metrics.clicks DESC LIMIT 50

Führen Sie diese über action="gaql" mit der account_id aus. Wenn landing_page_view keine Zeilen für die Seite hat, überspringen Sie die anderen beiden: Es gibt keinen bezahlten Traffic zum Abgleichen. post_click_quality_score ist Googles Landingpage-Experience-Bewertung (überdurchschnittlich, durchschnittlich, unterdurchschnittlich) für das Keyword. Keyword-Final-URLs sind oft leer, da die URL der Anzeige verwendet wird. Verknüpfen Sie Keywords daher über die Anzeigengruppe mit der Seite. Behalten Sie die Anzeigen, deren final_urls auf die Seite verweisen, und vergleichen Sie deren Überschriften mit der H1 und dem Angebot der Seite. Für Meta-, LinkedIn- oder andere Anzeigen oder eine E-Mail, die auf die Seite verlinkt, bitten Sie den Benutzer, die Anzeige oder E-Mail einzufügen (Überschrift, Text, Angebot und CTA) und vergleichen Sie sie auf die gleiche Weise mit der Seite: Die H1 spiegelt die Überschrift wider, jedes Angebot und jede Behauptung ist auf der Seite vorhanden, und der CTA der Seite führt die Anzeige fort. Die Fähigkeit ad-landing-page-match-scorer geht tiefer, falls installiert.

Schritt 4. Die Seite auseinandernehmen

{"platform": "dataforseo", "action": "onpage_instant_pages", "url": "https://example.com/", "enable_javascript": true,
 "custom_js": "var o={seq:[],nav:0,links:document.links.length,forms:document.forms.length,inputs:document.querySelectorAll('input,select,textarea').length,imgs:0,noalt:0,vid:document.querySelectorAll('video,iframe').length,proof:{}};function E(l,f){for(var i=0;i<l.length;i++)f(l[i])}function t(e){return(e.textContent||'').replace(/\\s+/g,' ').trim()}function C(e){for(var p=e;p;p=p.parentNode){var n=(p.tagName||'').toLowerCase();if(n=='nav'||n=='header'||n=='footer')return 1}return 0}var f=0;E(document.querySelectorAll('h1,p'),function(e){if(e.tagName=='H1')f=1;else if(f==1&&t(e)){o.sub=t(e).slice(0,200);f=2}});E(document.querySelectorAll('h1,h2,h3,a[href],button'),function(e){var n=e.tagName.toLowerCase();if(n.charAt(0)=='h'){o.seq.push([n,t(e).slice(0,90)]);return}if(C(e))return;var c=(e.getAttribute('class')||'')+' '+(e.getAttribute('role')||'');if(n=='a'&&!/btn|button|cta|bg-/.test(c))return;var x=t(e).slice(0,50);if(x)o.seq.push(['cta',x,(e.getAttribute('href')||'').slice(0,80)])});E(document.querySelectorAll('header a[href],nav a[href]'),function(){o.nav++});E(document.querySelectorAll('img'),function(e){o.imgs++;if(!e.hasAttribute('alt'))o.noalt++});var x=t(document.body);o.words=x.split(' ').length;var p={testimonial:/testimonial|what .{0,12}say/i,rating:/★|\\d(\\.\\d)? ?\\/ ?5|g2|capterra|trustpilot/i,logos:/trusted by|used by|customers include/i,count:/\\d[\\d,]*\\+? (customers|users|teams|companies|marketers)/i,works_with:/works with|integrates with/i,security:/soc ?2|gdpr|encrypt/i,guarantee:/guarantee|refund|cancel anytime/i,faq:/faq|frequently asked/i};for(var k in p){var m=x.match(p[k]);o.proof[k]=m?m[0].slice(0,40):null}o;"}

custom_js_response gibt die Seite in Lesereihenfolge zurück (seq: Überschriften und CTAs außerhalb von Header, Nav und Footer), den ersten Absatz nach der H1 (sub), Zählungen und den ersten Treffer für jeden Proof-Typ. Lesen Sie es wie folgt:

  • Hero: Alles vor der ersten h2. Notieren Sie die H1, die Unterüberschrift und die CTAs dort.
  • CTAs: Nur Elemente mit einem Ziel (href) sind CTAs. Buttons ohne eines sind Tabs, Akkordeons oder ein Cookie-Banner. Zählen Sie die verschiedenen Ziele und notieren Sie, ob das primäre CTA nach der Mitte einer langen Seite zurückkommt.
  • Proof: Ein Treffer ist ein Hinweis, kein Urteil. Überprüfen Sie den Text darum herum, bevor Sie ihn zählen: Eine Zahl in einer Produktdemo oder ein "sicher" in einer FAQ-Antwort ist kein Proof. "Funktioniert mit"-Logos zeigen Kompatibilität an, nicht Kunden.
  • Ausgänge: Anzahl der Header- und Nav-Links (nav). Auf einer bezahlten Landingpage ist jeder einzelne ein Ausweg.
  • Formulare: forms und inputs.
  • Aus der Standardantwort: meta.title, meta.htags, meta.content.plain_text_word_count, die Lesbarkeitsindizes und checks (no_h1_tag, has_render_blocking_resources, no_image_alt, title_too_long). no_image_alt kann wahr sein, während das Skript ein alt-Attribut findet ...

(Hinweis: Der Originaltext wurde aus Platzgründen gekürzt; die vollständige Übersetzung würde alle nachfolgenden Abschnitte umfassen.)

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills