Einbettbare Widgets
Zwei JavaScript-Snippets zum Einbinden auf jede Webseite: das Status-Widget zeigt den Live-Uptime-Status Ihrer Sites (Badge, Banner oder Card), das Audit-Widget bietet einen gebrandeten Website-Schnellcheck als Lead-Magnet. Beide sind Vanilla JS, defer-geladen, je rund 10 bis 12 KB minifiziert (komprimiert unter 5 KB), ohne Framework-Dependency und ohne externe CDNs — und sie setzen keine Cookies und laden keine Schriften von Drittanbietern.
# Status-Widget — drei Stile
Badge, Banner oder Card
Badge — kleiner Pill (z. B. im Footer als Alle Systeme betriebsbereit oder Störung erkannt). Banner — volle Breite mit Status und Anzahl der Websites. Card — vertikales Widget mit einer Zeile je Website, Hostname und 30-Tage-Uptime (uptime_percent_30d) je Eintrag. Stil über data-style auswählen; ohne Angabe wird card gerendert.
data-Attribute
data-token (Public-Token Ihrer Status-Page, Pflicht), data-style=badge|banner|card, data-theme=light|dark|auto (auto folgt dem System-Dark-Mode des Besuchers; ohne Angabe light), data-lang=de|en (ohne Angabe die Browser-Sprache) sowie data-api und data-link für abweichende Hosts. Fehlt data-token, rendert das Widget nichts.
Status-Widget einbinden
<script defer src="https://www.xictraq.com/status-widget.js"
data-token="IHR_PUBLIC_TOKEN"
data-style="badge"
data-theme="auto"></script>Das Widget rendert an die Stelle, an der das Script steht, oder in ein vorhandenes leeres Element mit dem Attribut data-xq-status:
<div data-xq-status></div>
Live, ohne Reload
Das Widget holt beim ersten Render einmalig den öffentlichen Status-Endpoint Ihrer Page (GET /api/public/status?token=...) und rendert ihn lokal. Danach aktualisiert es sich alle 5 Minuten (300 Sekunden) asynchron, ganz ohne Seiten-Reload. Ist eine Website oder ein API-Endpunkt der Statusseite gestört, zeigt der Status-Punkt rot („Störung erkannt“); läuft eine Website im Wartungsmodus, gelb („Wartung bei einzelnen Websites“), ebenso bei einem nur beeinträchtigten Endpunkt („Teilweise beeinträchtigt“); fehlt einzelnen Websites oder Endpunkten ein Messwert, bleibt er grau („Status teilweise nicht ermittelt“). Offene gemeldete Vorfälle zählen mit: Auswirkung „Kritisch“ oder „Schwer“ färbt rot, „Gering“ gelb („Teilweise beeinträchtigt“). Das Widget folgt damit derselben Regel wie die Statusseite. Der Status-Token liefert nur die für die Page freigegebenen Websites — keine User-ID, kein vollständiges Portfolio.
White-Label im Card-Stil
AgencyIm Card-Stil übernimmt das Widget Ihr White-Label automatisch aus der Status-Antwort: die Primärfarbe (whitelabel.primary_color) als CSS-Variablen, das Logo (whitelabel.logo_base64) im Kopf und den Firmennamen (whitelabel.company_name) im Footer. Sobald ein Firmenname gesetzt ist, ersetzt der Copyright-Hinweis Ihrer Marke den Betrieben-mit-XICTRAQ-Footer.
# Audit-/Schnellcheck-Widget (Lead-Magnet)
Ein zweites Embed für den Agency-Plan: ein gebrandeter Website-Schnellcheck, den Sie auf Ihrer Agentur-Seite einbinden. Besucher geben ihre URL ein, erhalten ein Audit-Ergebnis (Status, Antwortzeit, SSL-Gültigkeit, Security-Score) und laden es als PDF in Ihrer Marke herunter — jeder Scan wird automatisch als Lead in Ihrem Dashboard erfasst.
Audit-Widget einbinden
<script defer src="https://www.xictraq.com/check-widget.js"
data-token="IHRE_USER_ID"
data-lang="de"></script>data-token ist die User-ID des Agentur-Inhabers; das Branding wird serverseitig daraus aufgelöst. Optional setzen Sie einen Mount-Punkt per Element mit data-xq-check.
data-Attribute zum Anpassen
data-title (Überschrift über dem Eingabefeld), data-button (Beschriftung des Prüf-Buttons), data-placeholder (Platzhalter im URL-Feld) und data-lang=de|en (Sprache der Widget-Oberfläche, ohne Angabe die Browser-Sprache). Alle Anpassungs-Attribute sind optional — ohne Angabe greifen sinnvolle Standardwerte.
Branding aus Ihrem Account
AgencyLogo, Primärfarbe, Akzentfarbe und Firmenname kommen automatisch aus Ihren White-Label-Einstellungen. Das Widget liest das Branding über GET /api/public/widget-brand?ref=IHRE_USER_ID und rendert Schnellcheck-Feld, Ergebnis und PDF in Ihrer Marke. Die Antwort enthält white_label, company_name, primary_color, accent_color, logo_url (als sichere Data-URI eingebettet) und powered_by_visible. Ohne Agency-Plan liefert der Endpoint die XICTRAQ-Standardfarben (primary #004d43, accent #006b5a) zurück, sodass das Widget weiter funktioniert.
Was geprüft wird
Beim Absenden ruft das Widget POST /api/public/scan mit url, ref und einem Bot-Challenge-Token auf und zeigt das Ergebnis kompakt: Status (Online/Offline; bei Connect-Timeout Nicht erreichbar statt Offline, da viele Ziele Rechenzentrums-IPs sperren), Antwortzeit in ms, SSL-Gültigkeit und Security-Score von 0–100. Das Ergebnis stammt aus demselben Schnellcheck wie der öffentliche Scan und wird 10 Minuten serverseitig gecacht.
Branded-PDF zum Mitnehmen
AgencyAus dem Ergebnis lädt der Besucher einen White-Label-Report herunter (Logo, Farben und Firmenname Ihrer Agentur). Die Erzeugung läuft über POST /api/public/scan/pdf mit url, ref und _challenge und liefert das PDF direkt als Download; der Dateiname trägt Ihren Markennamen. Ist ein Firmenname gesetzt, entfällt der Powered-by-XICTRAQ-Hinweis.
Jeder Scan wird ein Lead
AgencyJeder erfolgreiche Schnellcheck und jeder PDF-Download mit Ihrer ref (User-ID) wird als Lead Ihrer Agentur in der Tabelle widget_leads erfasst — dedupliziert pro Stunde je geprüfter URL und Besucher, damit Mehrfach-Prüfungen denselben Lead nicht aufblähen. Gezählt wird nur, was aus einer eingebetteten Seite kommt: die Herkunft (Origin der einbettenden Domain) wird mitgeschrieben und in der Liste angezeigt, Aufrufe ohne Einbettung sowie unsere eigenen Vorschauseiten zählen nicht. Die Besucher-IP wird nie im Klartext gespeichert, sondern nur als gesalzener SHA-256-Hash (für das Dedup); das Herkunftsland wird per GeoIP abgeleitet. Eingeloggt rufen Sie die letzten Leads über GET /api/widget/leads ab (geprüfte URL, Land, Herkunftsdomain, Zeitstempel — nie der IP-Hash). Die Liste enthält die neuesten 100 Leads; mit ?with_counts=1 kommt sie als Objekt mit leads und counts zurück; counts nennt die Zahl gesamt, der letzten 7 Tage und der 7 Tage davor.
Bot- und Missbrauchsschutz
Der Schnellcheck ist gegen Automatisierung abgesichert: ein zeitbasiertes Challenge-Token (muss 2–120 Sekunden alt sein) und eine Mindest-Verweildauer von 2 Sekunden auf der Seite vor dem ersten Prüfen. Die Rate-Limits liegen bei 10 Anfragen pro Minute und 60 pro Stunde je IP, geteilt zwischen Scan und PDF; intern zu scannende URLs werden gegen interne/private IP-Bereiche geprüft (SSRF-Schutz).
# White-Label & Custom-Domain
White-Label im Agency-Plan
AgencyAuf Agency übernehmen beide Widgets Logo, Primär- und Akzentfarbe sowie Firmennamen automatisch aus Ihrer White-Label-Konfiguration — ohne XICTRAQ-Branding. Der Powered-by-XICTRAQ-Footer entfällt, sobald ein eigener Firmenname gesetzt ist. Free, Starter und Business nutzen das Standard-XICTRAQ-Branding.