Commit Graph
17 Commits
Author SHA1 Message Date
JUSNandClaude Opus 5.5 220e54b815 Startseite, 27 Sprachseiten, App: "in der Regel nach 30 Tagen geloescht" statt "spaetestens"
Je Sprache nur der eine Satzteil umformuliert (Uebersetzer + Gegenpruefung),
Sprachseiten mit tools/sprachseiten/build.js neu erzeugt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 20:34:15 +02:00
JUSNandClaude Opus 5 585f027ba5 Bezahlseite erscheint in der Sprache des Nutzers
Wer von der tuerkischen Seite kam, landete bisher auf einer deutschen
Stripe-Seite — fuer die Zielgruppe die groesste Huerde im Kaufvorgang.

/kaufen nimmt jetzt 'sprache' entgegen und gibt sie als locale an Stripe
weiter. Nur Sprachen aus STRIPE_SPRACHEN werden geschickt: Ein unbekannter
Wert laesst Stripe die Session mit 400 ablehnen, der Kauf waere kaputt. Fuer
Arabisch, Tigrinya usw. (kennt Stripe nicht) wird nichts mitgeschickt, dann
waehlt Stripe selbst anhand des Browsers.

Alle drei Kauf-Stellen geben die Sprache mit: Sprachseiten fest ihre eigene,
Demo-Seite die dort gewaehlte Zielsprache, Startseite 'de'.

Geprueft: tr/de/pl/ar liefern Bezahlseiten, und eine erfundene Sprache faellt
sauber zurueck statt den Kauf zu brechen.

Stripe Link (die vorausgewaehlte Schnellzahlung) laesst sich NICHT per API
abschalten — laut Stripe-Docs nur in den Zahlungsmethoden-Einstellungen des
Dashboards.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 15:59:46 +02:00
JUSNandClaude Opus 5 7cc60742c7 Positionierung verbreitert: weg vom 'Hartz-IV'-Bild, ohne die Staerke aufzugeben
Der Nutzer wollte nicht mehr nur mit Jobcenter verbunden werden, aber die
Spezialisierung ist sein einziger Vorteil gegenueber DeepL/ChatGPT. Also
nicht weg von Behoerdenbriefen, sondern breiter, WELCHE Briefe:

- Beispielbrief SGB-II-Sanktion -> Finanzamt-Steuerbescheid (§164 AO).
  Trifft Angestellte wie Selbstaendige, kein Armuts-Signal. Auf Deutsch und
  in allen 27 Sprachen ausgetauscht.
- Claim 'Brief vom Amt' -> 'Schwierige Post'
- Briefarten: Finanzamt, Versicherung, Vermieter, Bank zuerst genannt
- Zielgruppe in Meta/Schema: statt 'Asylbewerber, vulnerable
  Bevoelkerungsgruppen' jetzt 'alle, die schwierige Post bekommen'
- Zahlen-Sektion dreht die Schuld um: nicht 'ihr koennt nicht lesen',
  sondern 'Amtsdeutsch ist unnoetig schwer — das liegt nicht an Ihnen'

Name, Domain, Ratgeber und SEO bleiben — dort haengt die gesamte bisherige
Arbeit dran.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 16:52:15 +02:00
JUSNandClaude Opus 5 7780d381b3 Web-Demo mehrsprachig + Sprachseiten bekommen Demo und Kauf
Beim Nachgehen der Frage 'warum gibt es auf den Sprachseiten kein Payment'
kam heraus: Die Web-Demo antwortete AUSSCHLIESSLICH auf Deutsch. Die
Uebersetzung war bisher reine App-Funktion — und die App gibt es noch nicht.
Kauf-Knoepfe auf der tuerkischen Seite haetten also 2,99 EUR fuer eine
deutsche Antwort kassiert. Deshalb zuerst der Worker:

- /demo nimmt jetzt 'zielsprache' entgegen (28 erlaubte Codes, Whitelist —
  der Wert geht nie als freier Text in den Prompt, sonst koennte man eigene
  Anweisungen einschleusen).
- Der deutsche Fachbegriff bleibt deutsch, nur dessen Erklaerung wird
  uebersetzt — der Nutzer muss ihn im Brief wiederfinden.
- demo.html hat eine Sprachauswahl und merkt sich die Wahl; die Sprachseiten
  verlinken mit ?sprache=xx.

Erst danach die Sprachseiten: Demo-Knopf als Haupt-Handlung (es gab bisher
GAR KEINEN — man konnte das Produkt in 27 Sprachen nicht einmal ausprobieren)
und ein Kauf-Abschnitt mit uebersetzter Pflicht-Einwilligung nach §356 BGB.

Geprueft: 27 Dateien ohne Syntaxfehler, keine offenen Platzhalter, Kauf
liefert cs_live_. Zwei Tippfehler im bulgarischen Text korrigiert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 16:27:59 +02:00
JUSNandClaude Opus 5 5486a6aafb Sprachseiten: FAQ in allen 27 Sprachen (sichtbar + FAQPage-Schema)
Bisher lagen alle 9 FAQ-Bloecke auf deutschen Seiten — die Sprachseiten
hatten gar keine. Jetzt hat jede drei Fragen (Kosten, welche Briefe,
Datenschutz) in der jeweiligen Sprache.

Zwei Effekte: Google kann die aufklappbaren Fragen auch fuer diese Sprachen
anzeigen (groesserer Treffer, mehr Klicks), und die Seiten sind inhaltlich
nicht mehr duenn — das war mein Bedenken beim Anlegen der 28 Seiten.

Sichtbarer Text und Schema werden aus derselben Quelle erzeugt, koennen also
nicht auseinanderlaufen. Geprueft: 38 gueltige Bloecke, 0 kaputt, sichtbare
Fragen identisch mit dem Schema.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 16:14:14 +02:00
JUSNandClaude Opus 5 1a239b7763 Sprachseiten: strukturierte Daten zurueck + Sitemap mit Sprach-Angaben
Zwei Luecken geschlossen:

1. Beim Umbau auf den Generator hatten die Sprachseiten ihren JSON-LD-Block
   verloren (Regression von mir). Jetzt erzeugt build.js pro Seite ein
   SoftwareApplication-Schema mit der Beschreibung IN DER JEWEILIGEN SPRACHE —
   ein deutscher Block auf der tuerkischen Seite waere widerspruechlich.

2. Die Sitemap war eine nackte URL-Liste ohne Sprachinformation. Jetzt traegt
   jede der 28 Sprachseiten xhtml:link-Angaben fuer alle Alternativen
   (812 Eintraege). Getrennte Sitemaps je Sprache waeren der falsche Weg —
   Google erwartet die Alternativen innerhalb einer Sitemap.

Sitemap wird ab jetzt vom Generator mitgeschrieben, bleibt also automatisch
synchron. Demo- und Ratgeber-URLs bleiben unveraendert erhalten.

Geprueft: 38 gueltige JSON-LD-Bloecke, 0 kaputt; Sitemap als XML valide.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 16:01:52 +02:00
JUSNandClaude Opus 5 7d0692150c Website: 28 Sprachen statt 7 — per Generator statt Handarbeit
tools/sprachseiten/ enthaelt jetzt vorlage.html + texte.js + build.js.
'node tools/sprachseiten/build.js' erzeugt alle 27 Sprachseiten und pflegt
hreflang + Sprachwaehler auch in der handgemachten index.html nach.

Warum ein Generator: 28 Seiten von Hand zu pflegen heisst, jede kuenftige
Aenderung 28-mal zu machen. So ist es eine Aenderung an einer Stelle.

Neue Sprachen u. a. Rumaenisch, Kurdisch (Kurmanci), Bulgarisch, Kroatisch,
Serbisch, Bosnisch, Albanisch, Italienisch, Griechisch, Vietnamesisch, Hindi,
Urdu, Paschtu, Tigrinya, Somali, Chinesisch.

Sprachleiste ist jetzt ein Aufklappmenue — 28 Links nebeneinander waeren
unbenutzbar, besonders auf dem Handy. Google findet die Seiten weiter ueber
hreflang (28 + x-default, auf jeder Seite identisch) und die Sitemap (38 URLs).

Ausserdem: Hinweis in beiden Kauf-Boxen, warum sich die E-Mail-Angabe lohnt
(Zugangs-Link -> Guthaben auf jedem Geraet nutzbar).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 15:56:49 +02:00
JUSNandClaude Opus 5 3cdf9d0bd1 Werbetexte: '9 Sprachen' -> 'ueber 25 Sprachen' (22 Stellen)
App unterstuetzt jetzt 27 Zielsprachen, die Texte sagten noch 9. Betrifft
Startseite (Meta/OG/JSON-LD/sichtbar), Demo, alle 6 Sprachseiten, Ratgeber-Hub,
3 Artikel und die Beratungsstellen-Mails.

Im Uebersetzen-Artikel ausserdem die sichtbare Sprachliste von 9 auf 28
erweitert und die FAQ-Antwort angepasst (sonst haette der Artikel der eigenen
Ueberschrift widersprochen). Dessen Meta-Description von 166 auf 147 Zeichen
gekuerzt — sie wurde von Google abgeschnitten.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 13:55:46 +02:00
JUSNandClaude Opus 4.8 b2b7abb53b Google Search Console: Verifizierungs-Tag auf behoerdenklar.de-Property umgestellt
Neuer Code (6o1s...) fuer die .de-Property statt des alten pages.dev-Codes,
auf allen Seiten aktualisiert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-14 22:02:56 +02:00
JUSNandClaude Opus 4.8 4f692ad667 Domain-Umzug: behoerdenklar.pages.dev -> behoerdenklar.de
- Website: alle canonical/OG/hreflang/Sitemap/robots-URLs auf behoerdenklar.de
  (alle Sprachseiten, Demo, Ratgeber)
- Worker: Demo-CORS erlaubt jetzt behoerdenklar.de (und www), nicht nur
  pages.dev -> Demo funktioniert auf der neuen Domain
- eigene Domain via Cloudflare Pages Custom Domain verbunden (SSL aktiv)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-14 21:47:15 +02:00
JUSN f3dc04d2f3 Update SEO and verification meta tags 2026-08-10 17:39:53 +02:00
JUSN ff568f7499 Meta Tags passend zur seite 2026-08-09 23:11:55 +02:00
JUSNandClaude Fable 5 02523b0467 SEO Quick Wins 1-5: Social-Vorschau, Title, FAQ-Schema, Sitemap
- Open-Graph-Tags + Vorschaubild (1200x630, Papier-Design) auf allen
  7 Sprachseiten, lokalisierte og:title/description je Sprache
- Title-Tag mit Suchwort vorn: 'Behördenbriefe einfach erklärt – per Foto'
- Meta-Description gestrafft (146 Zeichen, mit Handlungsaufruf)
- FAQPage-Schema (JSON-LD) mit 6 Fragen
- 2 neue FAQ-Einträge (Long-Tail: Jobcenter, Ausländerbehörde, Sprachen)
- canonical + hreflang x-default auf allen Seiten
- robots.txt, sitemap.xml, favicon.svg

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 22:24:37 +02:00
JUSNandClaude Fable 5 24d44f3d69 Warteliste: echtes Brevo-Anmeldeformular statt Mailto-Button
- E-Mail-Feld + Knopf im Papier-Design auf allen 7 Landingpages
  (DE/EN/TR/AR/UK/RU/PL), lokalisierte Platzhalter/Button-Texte
- POST an Brevo (Double-Opt-in aktiv), Honeypot gegen Spam
- Besucher können sich jetzt mit 2 Klicks eintragen statt eine Mail
  abzuschicken — deutlich niedrigere Hürde
- DE-Bonustext präzisiert: Code kommt per Mail, sobald die App fertig ist

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 23:26:50 +02:00
JUSNandClaude Fable 5 baf316fd08 Web-Analytics: Token auf neuen, korrekt registrierten Wert umgestellt
Der erste Token (2182...) wurde bei der Einrichtung nie in Cloudflare
gespeichert. Neuer Token (11f0...) ist jetzt richtig registriert und in
der Web-Analytics-Liste sichtbar. Alle 9 Seiten aktualisiert.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 08:33:35 +02:00
JUSNandClaude Fable 5 f2f7059fbf Cloudflare Web Analytics: cookieloser Besucher-Zähler auf allen 9 Seiten
- Beacon-Script vor </body> auf jeder Seite (DE, 6 Sprachen, Impressum,
  Datenschutz)
- Datenschutzerklärung (Web + Entwurf): neuer Abschnitt Reichweitenmessung
  (Art. 6 Abs. 1 lit. f DSGVO, ohne Cookies, keine Personen-Profile)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 17:26:20 +02:00
JUSNandClaude Fable 5 7cfe830e9f Landingpage: einfacheres Deutsch (A2/B1) + 6 Sprachversionen
- Deutsche Seite sprachlich vereinfacht (kurze Sätze, keine schweren
  Wörter — passend zum Produktversprechen); Sprachleiste ergänzt
- Neue Seiten: tr, ar (RTL), en, uk, ru, pl — kompakt, einfache Sprache,
  gleiche Papier-Optik, Vorher/Nachher-Demo (deutsches Amtszitat +
  Erklärung in der Zielsprache), Warteliste-CTA je Sprache
- hreflang-Verweise auf allen Seiten; arabische Seite mit dir=rtl,
  deutsches Zitat dort explizit ltr
- Live geprüft: alle 6 Seiten erreichbar, RTL-Layout korrekt

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 09:00:08 +02:00