Wie alles angefangen hat

Wer in Deutschland eine Bankleitzahl nachschlagen will, landet meistens bei der Bundesbank. Die pflegt eine offizielle BLZ-Datei — eine CSV mit über 16.000 Einträgen, die alle Bankleitzahlen, BICs und Institutsbezeichnungen enthält. Die Datei ist öffentlich, gut gepflegt und wird regelmäßig aktualisiert.

Nur: Sie ist eine CSV-Datei. Kein Nutzer der Welt öffnet eine CSV, um seine Bankleitzahl zu finden. Also haben wir bankdir.de gebaut — ein Bankverzeichnis, das diese Daten zugänglich macht. Durchsuchbar, schnell, mit Kartendarstellung und Geolokation.

Was als Wochenendprojekt begann, hat sich zu einem vollwertigen Produkt entwickelt. Hier ist die Geschichte.

Die Datengrundlage

Bundesbank BLZ-Datei

Die BLZ-Datei ist der Kern. Sie enthält pro Eintrag:

  • Bankleitzahl (8-stellig)
  • Institutsname und Kurzbezeichnung
  • PLZ und Ort
  • BIC (SWIFT-Code)
  • Prüfzifferverfahren
  • Institutsgruppe (Sparkasse, Genossenschaftsbank, Privatbank, etc.)

Was sie nicht enthält: Adressen, Koordinaten, Öffnungszeiten oder Kontaktdaten. Das sind öffentliche Informationen, die sich aus anderen Quellen ergänzen lassen.

Geodaten

Ohne Koordinaten keine Karte, ohne Karte kein Mehrwert gegenüber einer Tabelle. Die Geodaten kommen aus öffentlich verfügbaren Quellen — PLZ-Gebiete, Ortskoordinaten, OpenStreetMap-Daten. Die Zuordnung von Bankfilialen zu konkreten Standorten ist aufwändiger als man denkt. PLZ-basierte Geolokation reicht für eine grobe Zuordnung, aber für eine Kartenanzeige, bei der der Nutzer „Banken in meiner Nähe” sehen will, braucht man präzisere Koordinaten.

Österreich und darüber hinaus

Deutschland war der Startpunkt, aber die Architektur ist von Anfang an auf Internationalisierung ausgelegt. Österreich war der erste Schritt — die OeNB (Österreichische Nationalbank) pflegt ein ähnliches Verzeichnis. Die Datenformate sind anders, aber die Datenstruktur im Backend ist generisch genug, um beide abzubilden. Weitere europäische Länder sind geplant.

Architektur

Backend: Java und Spring Boot

Das Backend ist bewusst klassisch gehalten: Java 21, Spring Boot 3.5, PostgreSQL mit PostGIS. Keine exotische Technologie, kein Framework-Experiment.

Die Entscheidung für PostgreSQL mit PostGIS hat sich als richtig erwiesen. Geo-Abfragen wie „finde alle Banken im Umkreis von 5 km um diese PLZ” laufen mit ST_DWithin in einstelligen Millisekunden. Mit pg_trgm (Trigram-Index) funktioniert auch die Fuzzy-Suche performant — wer „Sparkase” tippt, findet trotzdem die Sparkasse.

Die API liefert strukturierte Daten als JSON. Jede Bankleitzahl, jeder BIC, jede PLZ hat einen eigenen Endpunkt. Die Sitemap wird dynamisch aus der Datenbank generiert — über 16.000 Seiten, jede einzelne individuell indexierbar.

Frontend: Next.js

Das Frontend ist ein Next.js-Projekt mit dem App Router. Die Strategie: So viel wie möglich statisch generieren (SSG), den Rest per Incremental Static Regeneration (ISR) nachziehen.

Für die Top-Seiten — Bankleitzahlen der großen Institute, häufig gesuchte PLZ-Gebiete — wird beim Build eine statische HTML-Seite erzeugt. Das bedeutet: Die Seite wird direkt aus dem CDN ausgeliefert, keine Datenbankabfrage, keine API-Latenz. Für den Long Tail (seltene Bankleitzahlen, kleine Orte) greift ISR: Die Seite wird beim ersten Aufruf generiert und dann gecacht.

Die Kartenintegration nutzt Leaflet mit OpenStreetMap-Tiles. Kein Google Maps, keine Abhängigkeit von kommerziellen Kartenanbietern, keine Cookie-Banner für Kartendienste.

Deployment

Das gesamte System läuft auf unserem RKE2-Kubernetes-Cluster. Backend und Frontend als getrennte Container, PostgreSQL als StatefulSet, alles über Helm Charts deployt. Vor dem Cluster sitzt ein Reverse Proxy für SSL-Terminierung und Caching.

Die BLZ-Daten werden regelmäßig von der Bundesbank abgerufen und importiert. Der Import ist idempotent — wenn sich nichts geändert hat, passiert nichts. Wenn sich etwas geändert hat, wird die Datenbank aktualisiert und der ISR-Cache invalidiert.

SEO als Kernstrategie

bankdir.de ist ein SEO-Projekt. Nicht im Sinne von Keyword-Stuffing, sondern im Sinne von: Wer nach einer Bankleitzahl sucht, soll bankdir.de finden.

Warum SEO so wichtig ist

Die Zielgruppe sucht aktiv. Niemand öffnet bankdir.de aus Langeweile. Die Leute suchen „BLZ Sparkasse Köln”, „IBAN berechnen Deutsche Bank” oder „Bankleitzahl 50010060”. Das sind transaktionale Suchanfragen mit klarer Intention. Wer auf Position 1 steht, bekommt den Traffic.

Was wir dafür tun

  • Eine Seite pro BLZ: Über 16.000 individuelle Seiten, jede mit strukturierten Daten (Schema.org), sauberen Meta-Tags und kanonischen URLs
  • Schnelle Ladezeiten: Statisch generierte Seiten laden in unter einer Sekunde. Google belohnt das mit besseren Rankings
  • Lokale Suche: „Banken in 60325 Frankfurt” generiert eine Seite mit Kartenansicht und allen Instituten im Umkreis. Das trifft lokale Suchanfragen
  • Strukturierte Daten: JSON-LD für jedes Institut — Name, Adresse, BIC, Bankleitzahl. Google kann die Daten direkt in Rich Snippets darstellen

Ergebnisse

Der organische Traffic wächst stetig. Für viele Long-Tail-Suchanfragen (spezifische BLZ, kleine Orte) stehen wir bereits auf der ersten Seite. Bei den kompetitiven Begriffen (generische Suchanfragen wie „Bankleitzahl”) konkurrieren wir mit etablierten Portalen — das braucht Zeit und kontinuierliche Arbeit an Content und Technik.

Was wir gelernt haben

Datenqualität ist alles

Die Bundesbank-Daten sind gut, aber nicht perfekt. Institutsbezeichnungen ändern sich bei Fusionen, BICs werden umgestellt, PLZ-Zuordnungen stimmen nicht immer. Wir haben einen Abgleich-Prozess gebaut, der Änderungen erkennt und meldet. Automatisch zusammenführen lassen sich Bankfusionen trotzdem nicht — da muss ein Mensch draufschauen.

Geo-Daten sind eine eigene Welt

Die Zuordnung von Bankfilialen zu Koordinaten klingt einfach, ist es aber nicht. Nicht jede PLZ hat einen eindeutigen Mittelpunkt. Manche PLZ-Gebiete sind riesig (ländliche Gebiete), manche winzig (Großstadt-Bezirke). Die Erwartung „zeige mir Banken in meiner Nähe” setzt voraus, dass „Nähe” sinnvoll definiert ist — und das ist bei PLZ-basierter Geolokation nur eine Annäherung.

SEO braucht Geduld

Wir hatten erwartet, dass 16.000 sauber strukturierte Seiten schnell indexiert werden. Google hat sich Zeit gelassen. Die Indexierung großer Mengen neuer Seiten dauert Wochen bis Monate, selbst mit Sitemap und Search Console. Geduld ist keine Stärke von Entwicklern, aber bei SEO ist sie unverzichtbar.

Wie es weitergeht

bankdir.de ist live und wächst. Die nächsten Schritte:

  • Weitere Länder: Nach Österreich folgen weitere europäische Bankverzeichnisse
  • IBAN-Validierung: Aus Bankleitzahl und Kontonummer eine IBAN berechnen — mit korrekter Prüfziffer
  • API für Dritte: Die Daten als REST-API für andere Anwendungen bereitstellen
  • Historische Daten: Bankfusionen und BLZ-Änderungen über Zeit nachvollziehbar machen

Das Schöne an diesem Projekt: Die Datenquelle ist öffentlich, der Bedarf ist real, und jede Verbesserung an der Suchfunktion oder den Geodaten zeigt sich direkt im Traffic. Keine Hypothese, keine Marktforschung — die Zahlen sprechen für sich.