Mikrofon auf deiner Website
Schritt für Schritt.
Vom leeren HTML-Dokument bis zum laufenden Aufnahme-Widget – jede Zeile erklärt, alles zum Kopieren. Danach die Varianten für WordPress, React und Community-Plattformen. Kein Vorwissen nötig.
Vorab: anfassen statt lesen
Die Beispielseite „Korn & Krume“ ist eine kleine Bäckerei-Website mit zwei laufenden Widgets – einmal im Text, einmal schwebend. Dort gibt es den Knopf „Quelltext anzeigen“ und das fertige Paket zum Herunterladen (HTML, Bilder, Schriften – entpacken, Schlüssel eintragen, Doppelklick). Die Seite ist bewusst „richtig“ gestaltet; das Prinzip dahinter ist trotzdem nur eine Zeile, und genau die bauen wir hier von Null auf.
Was du brauchst: ein Speeeak-Konto mit Widget-Recht, einen Texteditor (TextEdit, Editor, VS Code – egal) und einen Browser. Keine Programmierkenntnisse.
Schritt 1 · Den Widget-Schlüssel holen
- Im Konto auf Widgets → „Widget anlegen“ (beim ersten Mal fragt Speeeak nach dem AV-Vertrag – ein Klick).
- Name vergeben (z. B. „Kontaktseite“), Überschrift und Hinweistext schreiben, Felder (Name, E-Mail) wählen, Farbe setzen.
- Unter Erlaubte Websites die Adresse deiner Website eintragen, z. B.
https://meine-baeckerei.de. Zum Üben am eigenen Rechner zusätzlichhttp://localhost– oder das Feld leer lassen (dann darf jede Website das Widget zeigen). - Speichern. Oben steht jetzt dein Schlüssel: 16 Zeichen, beginnt mit
w. Den brauchst du gleich.
Der Schlüssel ist kein Geheimnis – er steht später im Quelltext deiner Seite. Er sagt Speeeak nur, wessen Widget das ist. Schutz vor Fremdnutzung bietet die Liste der erlaubten Websites.
Schritt 2 · Eine leere Seite
Neue Datei index.html anlegen und das hier hineinkopieren. Das ist die kleinste gültige Website der Welt:
<!doctype html> <html lang="de"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Meine Website</title> </head> <body> <h1>Hallo!</h1> <p>Hier kommt gleich ein Mikrofon hin.</p> </body> </html>
<!doctype html> | Sagt dem Browser: modernes HTML. |
<head> | Unsichtbarer Kopf: Zeichensatz, Handy-Darstellung (viewport), Titel im Browser-Tab. |
<body> | Alles Sichtbare. <h1> ist die Überschrift, <p> ein Absatz. |
Datei speichern, im Browser öffnen (Doppelklick). Du siehst „Hallo!“. Mehr ist eine Website nicht.
Schritt 3 · Das Mikrofon – eine Zeile
Dort, wo das Widget erscheinen soll (unter dem Absatz), diese Zeile einfügen. DEIN-SCHLÜSSEL durch deinen Schlüssel aus Schritt 1 ersetzen:
<script src="https://speeeak.de/js/widget.js" data-widget="DEIN-SCHLÜSSEL" data-art="text" async></script>
<script src="…/widget.js"> | Lädt das kleine Speeeak-Programm (unter 12 KB). Es baut an genau dieser Stelle den Recorder ein. |
data-widget="w…" | Dein Schlüssel: welches Widget, welche Farbe, welche Felder, wohin die Nachrichten gehen. |
data-art="text" | Darstellung „im Text“: der Recorder steht fest in der Seite, Höhe passt sich an. |
async | Die Seite wartet nicht auf das Widget – sie lädt ungebremst, das Mikrofon kommt dazu, sobald es da ist. |
Speichern, Seite neu laden: Das Mikrofon ist da. Sprich etwas ein – die Nachricht landet in deinem Konto unter Eingang.
Nichts passiert? Schritt 7 (Fehlersuche).
Schritt 4 · Schwebend statt im Text
Soll das Mikrofon auf jeder Seite unten in der Ecke warten, nimmst du statt text eine schwebende Darstellung. Die Zeile kommt dann ans Ende, kurz vor </body>:
<script src="https://speeeak.de/js/widget.js" data-widget="DEIN-SCHLÜSSEL" data-art="popup" data-text="Nachricht einsprechen" data-position="rechts" async></script>
data-art | popup Pille → Fenster in der Mitte · knopf Pille → Tafel in der Ecke · lasche Reiter am Seitenrand · rund runder Knopf nur mit Symbol |
data-text | Beschriftung der Pille. |
data-position | rechts oder links. |
Beide Darstellungen dürfen gleichzeitig auf einer Seite sein – die Beispielseite macht genau das.
Schritt 5 · Farbe und Datenschutz-Link
<script src="https://speeeak.de/js/widget.js" data-widget="DEIN-SCHLÜSSEL" data-art="popup" data-text="Nachricht einsprechen" data-position="rechts" data-farbe="#5b3a1e" data-textfarbe="#ffffff" data-datenschutz="https://meine-baeckerei.de/datenschutz" async></script>
data-farbe | Farbe der Pille und des Recorders (Hex-Wert wie #5b3a1e). Fehlt sie, gilt die Farbe aus deinem Konto. |
data-textfarbe | Schriftfarbe der Pille – bei dunkler Farbe #ffffff. |
data-datenschutz | Link zu deiner Datenschutzerklärung; das Widget zeigt ihn unter dem Aufnahmeknopf. Hast du den Link im Konto beim Widget eingetragen, hat der Vorrang. |
data-breite | Nur bei text: z. B. "100%" oder "480px". |
data-rahmen="ohne" | Nur bei text: lässt den eigenen Rahmen des Widgets weg – wenn deine Seite es ohnehin in eine Karte setzt (so macht es die Beispielseite). |
Schritt 6 · Online stellen
Die Datei auf deinen Webspace laden (FTP, Hosting-Dateimanager, Netlify-Drag-&-Drop – was du hast). Dann im Konto beim Widget unter Erlaubte Websites die echte Adresse eintragen, falls noch nicht geschehen. Fertig.
Das Mikrofon funktioniert nur über https:// – Browser erlauben Mikrofonzugriff nicht auf unverschlüsselten Seiten. Fast jedes Hosting hat heute kostenlos ein Zertifikat; localhost am eigenen Rechner ist die Ausnahme und darf.
Schritt 7 · Wenn es nicht klappt
| „Diese Website ist nicht freigegeben“ | Deine Adresse fehlt in der Liste der erlaubten Websites (Konto → Widgets). Genau so eintragen, wie sie in der Adresszeile steht – mit oder ohne www zählt als eigene Adresse; Unterseiten brauchst du nicht. |
| Nichts erscheint | Schlüssel prüfen (16 Zeichen, beginnt mit w); Widget im Konto auf „aktiv“; Browser-Konsole (F12) zeigt die Meldung. Werbeblocker schalten manchmal fremde Scripts ab – kurz deaktivieren. |
| Mikrofon-Frage kommt nicht | Seite läuft über http:// statt https://, oder der Browser hat das Mikrofon für diese Seite blockiert (Schloss-Symbol in der Adresszeile → Zurücksetzen). |
| Widget erscheint, Nachricht kommt nicht an | Konto → Eingang prüfen (Filter „ungelesen“); E-Mail-Hinweis ist je Widget abschaltbar – vielleicht aus. |
| Doppelter Rahmen / falsche Größe | Deine Seite legt Styles auf alle iframe-Elemente. Das Widget hat die Klasse spk-widget – dafür eine Ausnahme setzen. |
Variante A · WordPress
Am einfachsten mit dem Speeeak-Plugin: installieren, Schlüssel eintragen, Darstellung anklicken – fertig, ohne eine Zeile Code (Anleitung mit Bildern). Ohne Plugin geht es trotzdem:
- Im Text einer Seite: Block „Benutzerdefiniertes HTML“ einfügen, Zeile aus Schritt 3 hineinkopieren.
- Schwebend auf allen Seiten: Design → Theme-Datei-Editor →
footer.php, Zeile aus Schritt 4 vor</body>– oder sauberer über ein Plugin wie „WPCode“ (Snippet „Footer“). - Seitenbaukasten (Elementor, Divi, Bricks): Widget/Element „HTML“ an die gewünschte Stelle ziehen, Zeile hinein.
Variante B · React, Next.js, Vue
In Apps, die ihre Seiten selbst zusammenbauen, darf ein <script> nicht einfach im JSX stehen – es würde nie ausgeführt. Darum gibt es die fertige Komponente SpeeeakWidget.jsx:
import SpeeeakWidget from './SpeeeakWidget';
export default function Kontakt() {
return (
<section>
<h2>Sag uns, was du dir wünschst</h2>
<SpeeeakWidget schluessel="DEIN-SCHLÜSSEL" farbe="#5b3a1e" />
</section>
);
}Die Komponente bettet den Recorder als iframe im Text ein und passt die Höhe automatisch an. Props: schluessel, breite, farbe, datenschutz. Für die schwebenden Darstellungen legst du die Script-Zeile aus Schritt 4 ins HTML-Grundgerüst der App (public/index.html bzw. in Next.js _document/layout). Für Vue oder Svelte: dasselbe – ein iframe auf https://speeeak.de/w/DEIN-SCHLÜSSEL mit allow="microphone".
Variante C · Community-Plattformen
Plattformen, die du nicht selbst hostest, lassen unterschiedlich viel zu. Drei Fälle:
| Circle | Settings → Code snippets → Abschnitt „Head“: Zeile aus Schritt 4 (schwebend) einfügen – erscheint auf allen Seiten der Community. Für eine einzelne Seite: Site Builder → Element „Custom HTML“. |
| Discourse | Admin → Customize → Themes → dein Theme → Edit CSS/HTML → Reiter „Head“: Zeile aus Schritt 4 einfügen. Bei Discourse älter als 3.3 zusätzlich unter Settings content security policy script src die Adresse https://speeeak.de/js/widget.js eintragen, sonst blockt die Sicherheitsrichtlinie das Script. |
| Mighty Networks, Skool, Kajabi-Community | Lassen keine eigenen Scripts zu. Zwei Wege, die trotzdem gut funktionieren: (1) Deine Speeeak-Landingpage oder einen Kurz-Link als Knopf/Link in Posts, Kursen und der Seitenleiste – Mitglieder sprechen auf der Speeeak-Seite ein. (2) Wo die Plattform Embeds per Link erlaubt (Mighty: Articles, Posts, Events), die Widget-Adresse https://speeeak.de/w/DEIN-SCHLÜSSEL einbetten. |
| Webflow, Squarespace, Wix, Jimdo | Alle haben ein Element „Embed“/„HTML-Code“ für die Seite und eine Stelle „Custom Code → Footer“ für alle Seiten. Zeile aus Schritt 3 bzw. 4 hinein. |
Faustregel: Darf ich irgendwo HTML einfügen? Dann Schritt 3. Darf ich Code in Head oder Footer legen? Dann Schritt 4. Darf ich nur Links setzen? Dann Landingpage oder Kurz-Link.
Zum Schluss · Testimonials, Hörerpost, Rückrufwunsch
Das Widget ist ein Mikrofon mit Überschrift – was die Leute hineinsprechen, bestimmst du mit dem Text. „Sprich uns dein Lob ein“ macht daraus ein Testimonial-Tool, „Deine Frage für die nächste Folge“ einen Hörerpost-Kasten, „Beschreib dein Anliegen, wir rufen zurück“ ein Kontaktformular ohne Tippen. Überschrift, Hinweis, Felder und Dankestext stellst du je Widget im Konto ein – du kannst also mehrere Widgets für mehrere Zwecke haben.
Für Gedanken, die man lieber hört.