Analyse erneut starten

Gib die URL deiner Website ein, um eine neue SEO-Analyse zu starten:

Direkt zur Analyse

Gesamtwertung

Letzte Aktualisierung: 24.12.2025 um 18:50 Uhr Analysierte Seite: https://palliativ-nienburg.de
Meta-Angaben 49%
Seiteninhalt 77%
Keywords 66%
Links 100%
Bilder 83%
Ressourcen 88%

SEO Check für palliativ-nienburg.de

🟢 In Ordnung

35 Elemente geprüft

  • Meta-Robots
  • Viewport
  • Charset
  • Sprache
  • Doctype
  • Hauptthema
  • …und 29 weitere

🟡 Verbesserungswürdig

4 Hinweise gefunden

  • Lesbarkeit: Flesch
  • Spam-Wörter
  • Onpage-Einzigartigkeit
  • Keyword-Dichte

🔴 Kritisch

24 Probleme erkannt

  • Title-Tag
  • Meta-Description
  • Favicon
  • Canonical-Tag
  • og:title
  • og:description
  • …und 18 weitere

Meta-Angaben

Ergebnis: Es wurden kritische Probleme in den Metadaten erkannt.

Bewertung: 🔴 Title-Tag: kritisch

Bewertung: 🔴 Meta-Description: kritisch

Bewertung: 🔴 Favicon: kritisch

Bewertung: 🔴 Canonical-Tag: kritisch

…und 10 weitere

Title-Tag Vorhanden (99 Zeichen) ❌ Nicht optimal Title anpassen

Title: ehem. Palliativstützpunkt Nienburg | bald Verein für palliative Arbeit im Landkreis Nienburg e.V.

Der Title ist zu lang – wichtige Teile könnten in den Suchergebnissen abgeschnitten werden.

Allgemeine Info: Der Title-Tag ist einer der wichtigsten OnPage-SEO-Faktoren. Er wird in den Suchergebnissen als klickbarer Titel angezeigt und beeinflusst maßgeblich die Klickrate sowie die Wahrnehmung deiner Seite.

Meta-Description Vorhanden (0 Zeichen) ❌ Nicht optimal Description anpassen

Meta-Description:

Die Description ist zu kurz – sie bietet zu wenig Information für Nutzer und Suchmaschinen.

Allgemeine Info: Die Meta-Description ist ein kurzer Text, der den Inhalt einer Seite beschreibt und in den Suchergebnissen unter dem Title-Tag angezeigt wird. Sie beeinflusst maßgeblich die Klickrate (CTR) und trägt zur besseren Wahrnehmung deiner Seite bei.

Meta-Robots Vorhanden ✅ Korrekt Keine Änderung nötig

index, follow

Allgemeine Info: Das Meta-Robots-Tag steuert, wie Suchmaschinen deine Seite indexieren und ob Links verfolgt werden. Eine korrekte Einstellung ist entscheidend für SEO und die Sichtbarkeit deiner Inhalte.

Viewport Vorhanden ✅ Korrekt gesetzt Keine Änderung nötig

width=device-width, initial-scale=1, shrink-to-fit=no

Allgemeine Info: Der Viewport definiert den sichtbaren Bereich einer Webseite im Browser und ist entscheidend für responsives Design. Eine korrekte Einstellung sorgt dafür, dass Inhalte auf allen Geräten optimal dargestellt werden.

Charset utf-8 ✅ Modern Keine Änderung nötig

Analysierter Wert: utf-8
Das Charset ist korrekt definiert (z. B. UTF-8). Alle Zeichen und Sonderzeichen werden zuverlässig dargestellt.

Allgemeine Info: Das Charset (Zeichensatz) legt fest, wie Zeichen und Symbole einer Webseite interpretiert werden. Eine korrekte Angabe verhindert Darstellungsfehler bei Umlauten, Sonderzeichen oder internationalen Texten.

Sprache de ✅ Definiert Keine Änderung nötig

Die Sprache ist korrekt als Deutsch angegeben (lang="de").

Allgemeine Info: Die Sprachangabe (lang-Attribut im HTML oder über Meta-Tags) informiert Browser und Suchmaschinen über die Hauptsprache einer Webseite. Sie ist wichtig für Barrierefreiheit, korrekte Textdarstellung und SEO.

Doctype HTML5 ✅ Modern Keine Änderung nötig

Die Seite verwendet den modernen HTML5-Doctype: <!DOCTYPE html>

Allgemeine Info: Das Doctype-Deklarations-Tag legt fest, nach welchem Standard der Browser die Seite interpretiert. Es ist entscheidend für die korrekte Darstellung und vermeidet den sogenannten "Quirks Mode".

Favicon Nicht gefunden ❌ Fehlend Favicon anpassen

Allgemeine Info: Das Favicon ist das kleine Symbol, das im Browser-Tab, in Lesezeichen und oft auch in Suchergebnissen angezeigt wird. Es stärkt die Markenwahrnehmung und erleichtert die Wiedererkennung deiner Webseite.

Canonical-Tag Nicht geprüft ❌ Fehlend Tag ergänzen

Es ist kein Canonical-Tag vorhanden.

Canonical:

Allgemeine Info: Das Canonical-Tag weist Suchmaschinen darauf hin, welche URL die bevorzugte Version einer Seite ist. Es verhindert Duplicate-Content-Probleme und sorgt dafür, dass die richtige Seite im Ranking berücksichtigt wird.

twitter:card Nicht vorhanden ❌ Fehlend Tag ergänzen

Nicht vorhanden

Allgemeine Info: Das Meta-Tag twitter:card bestimmt, wie Inhalte deiner Webseite beim Teilen auf Twitter dargestellt werden. Es beeinflusst die Vorschau (z. B. Text, Bild, Layout) und ist wichtig für die Klickrate und die Wahrnehmung deiner Marke.

twitter:title Nicht vorhanden ❌ Fehlend Tag ergänzen

Nicht vorhanden

Allgemeine Info: Das Meta-Tag twitter:title legt den Titel fest, der beim Teilen deiner Seite auf Twitter angezeigt wird. Es ist wichtig für die Klickrate und die Wahrnehmung deiner Inhalte, da ein klarer und prägnanter Titel die Aufmerksamkeit der Nutzer erhöht.

twitter:description Nicht vorhanden ❌ Fehlend Tag ergänzen

Nicht vorhanden

Allgemeine Info: Das Meta-Tag twitter:description legt die Beschreibung fest, die beim Teilen deiner Seite auf Twitter angezeigt wird. Es ergänzt den Titel und vermittelt den Nutzern einen klaren Eindruck vom Inhalt der Seite. Eine prägnante und ansprechende Beschreibung steigert die Klickrate und verbessert die Wahrnehmung deiner Marke.

twitter:image Nicht vorhanden ❌ Fehlend Tag ergänzen

Nicht vorhanden

Allgemeine Info: Das Meta-Tag twitter:image legt das Bild fest, das beim Teilen deiner Seite auf Twitter angezeigt wird. Es ist entscheidend für die visuelle Wirkung und beeinflusst maßgeblich die Klickrate und die Wahrnehmung deiner Inhalte.

twitter:site Nicht vorhanden ❌ Fehlend Tag ergänzen

Nicht vorhanden

Allgemeine Info: Das Meta-Tag twitter:site gibt den offiziellen Twitter-Account einer Webseite oder Marke an. Es sorgt dafür, dass beim Teilen von Inhalten auf Twitter die Quelle klar erkennbar ist und stärkt die Markenbindung.

og:title Nicht vorhanden ❌ Fehlend Tag ergänzen

Nicht vorhanden

Allgemeine Info: Das Open-Graph-Tag og:title definiert den Titel, der beim Teilen deiner Seite auf sozialen Netzwerken wie Facebook oder LinkedIn angezeigt wird. Es ist entscheidend für die Klickrate und die Wahrnehmung deiner Inhalte, da ein klarer und prägnanter Titel die Aufmerksamkeit der Nutzer erhöht.

og:description Nicht vorhanden ❌ Fehlend Tag ergänzen

Nicht vorhanden

Allgemeine Info: Das Open-Graph-Tag og:description definiert die Beschreibung, die beim Teilen deiner Seite auf sozialen Netzwerken wie Facebook oder LinkedIn angezeigt wird. Es ergänzt den Titel und vermittelt den Nutzern einen klaren Eindruck vom Inhalt der Seite. Eine prägnante und ansprechende Beschreibung steigert die Klickrate und verbessert die Wahrnehmung deiner Marke.

og:image Nicht vorhanden ❌ Fehlend Tag ergänzen

Nicht vorhanden

Allgemeine Info: Das Open-Graph-Tag og:image definiert das Bild, das beim Teilen deiner Seite auf sozialen Netzwerken wie Facebook oder LinkedIn angezeigt wird. Es ist entscheidend für die visuelle Wirkung und beeinflusst maßgeblich die Klickrate und die Wahrnehmung deiner Inhalte.

og:url Nicht vorhanden ❌ Fehlend Tag ergänzen

Nicht vorhanden

Allgemeine Info: Das Open-Graph-Tag og:url definiert die kanonische URL einer Seite für soziale Netzwerke. Es sorgt dafür, dass beim Teilen immer die richtige und bevorzugte Adresse angezeigt wird und verhindert Duplicate-Content-Probleme.

og:type Nicht vorhanden ❌ Fehlend Tag ergänzen

Nicht vorhanden

Allgemeine Info: Das Open-Graph-Tag og:type definiert den Inhaltstyp einer Seite für soziale Netzwerke. Es hilft Plattformen wie Facebook oder LinkedIn, die Seite korrekt einzuordnen (z. B. als Artikel, Produkt oder Website) und sorgt für eine passende Darstellung beim Teilen.

Analyse des Seiteninhalts

Ergebnis: Es wurden kritische Probleme in den Metadaten erkannt.

Bewertung: 🔴 Struktur: kritisch

Bewertung: 🔴 Duplicate Content: kritisch

Bewertung: 🔴 JSON-LD Blöcke: kritisch

Bewertung: 🔴 Term-Wiederholrate: kritisch

Hauptthema Erkannt ✅ Sehr gut Keine Änderung nötig

Analysierter Wert: group

Allgemeine Info: Das Hauptthema einer Seite beschreibt den zentralen Inhalt oder die Kernbotschaft. Es ist entscheidend für SEO, da Suchmaschinen anhand des Hauptthemas die Relevanz einer Seite für bestimmte Suchanfragen bewerten. Ein klar definiertes Hauptthema verbessert die Nutzererfahrung und die Sichtbarkeit in den Suchergebnissen.

Struktur 1 Überschriften ❗ Schwach Absätze & Überschriften ergänzen
H1
0
H2
0
H3
0
H4
0
H5
0
H6
1
  • H1: [Fehlt]
    • H2: [Fehlt]
      • H3: [Fehlt]
        • H4: [Fehlt]
          • H5: [Fehlt]
            • H6: Verein für palliative Arbeit im Landkreis Nienburg e.V.

Allgemeine Info: Die Struktur einer Webseite beschreibt den logischen Aufbau und die Gliederung der Inhalte. Eine klare Struktur erleichtert Suchmaschinen das Crawlen und Nutzern die Orientierung. Sie ist ein zentraler Faktor für SEO und Nutzerfreundlichkeit.

JSON-LD JSON-LD Blöcke: 0 ❗ Schwach JSON-LD Blöcke hinzufügen
[Kein JSON-LD gefunden]

Allgemeine Info: JSON-LD ist ein Format für strukturierte Daten, das Suchmaschinen zusätzliche Informationen über eine Webseite liefert. Korrekt implementiertes JSON-LD verbessert das Verständnis der Inhalte und kann zu besseren Suchergebnissen wie Rich Results führen. Fehlendes oder fehlerhaftes JSON-LD mindert die Sichtbarkeit in der Suche.

Lesbarkeit: Flesch Flesch-Wert: 59.6 ⚠️ Mittel Sätze verbessern

Analysierter Wert: 59.6

Allgemeine Info: Der Flesch-Reading-Ease-Score bewertet die Lesbarkeit eines Textes anhand von Satzlänge und Wortkomplexität. Ein hoher Wert bedeutet, dass der Text leicht verständlich ist, während ein niedriger Wert auf komplexe und schwer lesbare Inhalte hinweist. Für Webseiten ist eine gute Lesbarkeit wichtig, um Nutzer zu halten und Inhalte klar zu vermitteln.

Lesbarkeit: WSTF WSTF-Wert: 7.56 ✅ Sehr gut Keine Änderung nötig

Analysierter Wert: 7.56

Allgemeine Info: Der WSTF-Index (Wiener Sachtextformel) bewertet die Lesbarkeit deutschsprachiger Texte anhand von Satzlänge, Wortanzahl und Silbenstruktur. Ein niedriger Wert bedeutet, dass der Text schwer verständlich ist, während ein höherer Wert auf eine bessere Lesbarkeit hinweist. Für Webseiten ist eine gute Lesbarkeit wichtig, um Nutzer zu halten und Inhalte klar zu vermitteln.

Term-Wiederholrate 11.74 ❗ Schwach Sätze verbessern

Analysierter Wert: 11.74

Allgemeine Info:

Textlänge 1618 Wörter ✅ Optimal Keine Änderung nötig

Analysierter Wert: 1618 Wörter

Allgemeine Info: Die Textlänge einer Seite ist ein wichtiger Faktor für SEO und Nutzerfreundlichkeit. Zu kurze Texte bieten oft nicht genug Informationen für Suchmaschinen und Leser, während zu lange Texte unübersichtlich wirken können. Eine ausgewogene Länge sorgt für gute Rankings und eine positive Nutzererfahrung.

Text-Code-Verhältnis 57.1% ✅ Sehr gut Keine Änderung nötig

Analysierter Wert: 57.1%

Allgemeine Info:

Onpage-Einzigartigkeit 42.68 ⚠️ Mittel Sätze verbessern

Analysierter Wert: 42.68

Allgemeine Info:

Duplicate Content könnte Duplikat sein ❗ Schwach Sätze verbessern

Allgemeine Info: Duplicate Content bezeichnet identische oder sehr ähnliche Inhalte, die auf mehreren URLs innerhalb einer oder verschiedener Webseiten erscheinen. Dies kann zu Problemen bei der Indexierung führen, da Suchmaschinen nicht eindeutig erkennen, welche Version relevant ist. Eine saubere Content-Strategie verhindert Rankingverluste und sorgt für klare Nutzerführung.

Informationsgehalt 73.49 ✅ Sehr gut Keine Änderung nötig

Allgemeine Info: Der Informationsgehalt einer Seite beschreibt, wie umfassend und relevant die Inhalte für den Nutzer sind. Ein hoher Informationsgehalt sorgt für Mehrwert, bessere Rankings und eine längere Verweildauer. Suchmaschinen bewerten Seiten mit klaren, nützlichen und einzigartigen Informationen deutlich besser.

Stoppwort-Anteil 26.51% ✅ Sehr gut Keine Änderung nötig

Analysierter Wert: 26.51%

Allgemeine Info: Der Stoppwort-Anteil beschreibt den prozentualen Anteil von häufig vorkommenden, aber semantisch wenig relevanten Wörtern (z. B. „und“, „oder“, „aber“) im Text. Ein ausgewogenes Verhältnis ist wichtig: zu viele Stoppwörter können die Keyword-Relevanz schwächen, zu wenige machen den Text unnatürlich und schwer lesbar.

Spam-Wörter 1% ⚠️ Mittel Sätze verbessern

Analysierter Wert: 1%

Allgemeine Info: Spam-Wörter sind übermäßig werbliche oder manipulative Begriffe (z. B. „gratis“, „sofort kaufen“, „100% garantiert“), die von Suchmaschinen negativ bewertet werden können. Ein zu hoher Anteil solcher Wörter wirkt unnatürlich und kann die Glaubwürdigkeit sowie das Ranking beeinträchtigen.

Keyword-Analyse

Ergebnis: Es wurden kritische Probleme in den Metadaten erkannt.

Bewertung: 🔴 Keywords im Title: kritisch

Bewertung: 🔴 Keywords in Überschriften: kritisch

Bewertung: 🔴 Keywords in ALT-Tags: kritisch

Bewertung: 🔴 Keywords in URL: kritisch

Haupt-Keyword Vorhanden ✅ Sehr gut Keine Änderung nötig

Gut gemacht group

Allgemeine Info: Das Haupt-Keyword ist der zentrale Suchbegriff, auf den eine Seite optimiert wird. Es signalisiert Suchmaschinen das Hauptthema und beeinflusst maßgeblich das Ranking. Ein klar definiertes Haupt-Keyword sorgt für bessere Sichtbarkeit und hilft Nutzern, die Relevanz der Seite sofort zu erkennen.

Neben-Keywords Vorhanden ✅ Sehr gut Keine Änderung nötig

Gut gemacht elements, return, groups, this, groupid

Allgemeine Info: Neben-Keywords sind ergänzende Suchbegriffe, die das Haupt-Keyword unterstützen. Sie erweitern die thematische Relevanz einer Seite und helfen Suchmaschinen, den Inhalt besser zu verstehen. Eine ausgewogene Integration von Neben-Keywords steigert die Sichtbarkeit und deckt ein breiteres Suchvolumen ab.

Suchintention Informationsorientiert ✅ Sehr gut Keine Änderung nötig

Gut gemacht

Allgemeine Info: Die Suchintention beschreibt die Absicht eines Nutzers hinter einer Suchanfrage (z. B. Information, Navigation, Transaktion). Eine Seite, die die Suchintention korrekt erfüllt, bietet den Nutzern genau das, was sie erwarten, und wird von Suchmaschinen besser bewertet. Die richtige Ausrichtung auf die Suchintention ist entscheidend für hohe Klick- und Conversion-Raten.

Keyword-Dichte 4.49 % ⚠️ zu hoch Inhalt anpassen

Inhalt anpassen

Allgemeine Info: Die Keyword-Dichte beschreibt den prozentualen Anteil eines Keywords im Verhältnis zur gesamten Textmenge. Eine ausgewogene Keyword-Dichte ist wichtig für SEO: zu niedrig kann die Relevanz schwächen, zu hoch wirkt unnatürlich und kann als Keyword-Stuffing gewertet werden.

Long-Tail-Keywords Vorhanden ✅ Sehr gut Keine Änderung nötig

Gut gemacht match height, palliative arbeit, landkreis nienburg, check whether, return false

Allgemeine Info: Long-Tail-Keywords sind längere und spezifischere Suchbegriffe, die weniger Wettbewerb haben, aber eine höhere Conversion-Rate erzielen. Sie helfen dabei, gezielt Nutzer mit klarer Suchintention anzusprechen und die Sichtbarkeit in Nischenbereichen zu erhöhen.

Keywords im Title Nicht vorhanden ❗ Schwach Inhalt anpassen

Inhalt anpassen

Allgemeine Info: Keywords im Title-Tag sind ein zentraler Ranking-Faktor. Sie helfen Suchmaschinen, das Hauptthema einer Seite zu erkennen, und beeinflussen maßgeblich die Klickrate (CTR). Ein optimaler Title-Tag kombiniert relevante Keywords mit einer klaren, ansprechenden Formulierung.

Keywords in Überschriften Nicht vorhanden ❗ Schwach Inhalt anpassen

Inhalt anpassen

Allgemeine Info: Keywords in Überschriften (H1, H2, H3) sind ein wichtiger SEO-Faktor. Sie helfen Suchmaschinen, die Struktur und das Hauptthema einer Seite besser zu verstehen, und erleichtern Nutzern die Orientierung. Eine klare Integration von Keywords in Überschriften steigert die Relevanz und Sichtbarkeit.

Keywords in ALT-Tags Nicht vorhanden ❗ Schwach Inhalt anpassen

Inhalt anpassen

Allgemeine Info: ALT-Tags beschreiben den Inhalt von Bildern und sind wichtig für Barrierefreiheit sowie SEO. Sie helfen Suchmaschinen, Bilder zu verstehen, und bieten Nutzern mit Screenreadern eine klare Orientierung. Die Integration relevanter Keywords in ALT-Tags steigert die Sichtbarkeit in der Bildersuche und unterstützt die thematische Relevanz der Seite.

Keywords in URL Nicht vorhanden ❗ Schwach Inhalt anpassen

Inhalt anpassen

Allgemeine Info: Keywords in der URL sind ein wichtiger SEO-Faktor. Sie helfen Suchmaschinen, das Thema einer Seite besser zu verstehen, und geben Nutzern einen klaren Hinweis auf den Inhalt. Eine saubere, keyword-optimierte URL wirkt vertrauenswürdig und steigert die Klickrate.

Bild-Analyse

Ergebnis: Es wurden kritische Probleme mit den Ressourcen erkannt.

Bewertung: 🔴 ALT-Tags: kritisch

Bildanzahl 2 Bilder ✅ Gut Keine Änderung nötig

Gut gemacht

Vorschau
[fehlt]
[fehlt]

Allgemeine Info: Die Anzahl der Bilder auf einer Seite beeinflusst sowohl die Nutzererfahrung als auch die SEO. Bilder lockern Texte auf, veranschaulichen Inhalte und können über die Bildersuche zusätzlichen Traffic generieren. Eine ausgewogene Bildanzahl sorgt für gute Lesbarkeit und unterstützt die inhaltliche Aussage.

ALT-Tags Fehlt bei 2 Bildern ❗ Hoch ALT-Tags verbessern

Analysierter Wert: 2 Bilder, davon 2 ohne ALT-Tag
Alle Bilder sind mit ALT-Tags versehen.

Verbesserungsvorschlag: Ergänze fehlende ALT-Tags und optimiere bestehende mit präzisen, keyword-relevanten Beschreibungen. Beispiel: statt „Bild“ besser „Infografik zu SEO-Strategien für kleine Unternehmen“.

VorschauALT-Text
[fehlt] [fehlt]
[fehlt] [fehlt]

Allgemeine Info: ALT-Tags sind Textbeschreibungen für Bilder, die sowohl für Barrierefreiheit als auch für SEO entscheidend sind. Sie helfen Suchmaschinen, den Bildinhalt zu verstehen, und bieten Nutzern mit Screenreadern eine klare Orientierung. Richtig eingesetzte ALT-Tags steigern die Sichtbarkeit in der Bildersuche und verbessern die Nutzererfahrung.

Dateigröße 476.02 KB ✅ Gut Keine Änderung nötig

Analysierter Wert: 476.02 KB
Alle Dateien sind optimal komprimiert und auf eine geringe Größe reduziert. Die Ladegeschwindigkeit ist hoch und die Nutzererfahrung positiv.

VorschauGröße
[fehlt] 57.16 KB
[fehlt] 418.87 KB

Allgemeine Info: Die Dateigröße von Bildern, Videos oder Dokumenten beeinflusst maßgeblich die Ladegeschwindigkeit einer Website. Zu große Dateien verlangsamen die Performance und können die Nutzererfahrung sowie das Ranking negativ beeinflussen. Optimal komprimierte Dateien sorgen für schnelle Ladezeiten und eine bessere SEO-Wirkung.

Responsive Darstellung 2 von 2 Bilder ✅ Gut Keine Änderung nötig

Vollständig responsive Darstellung. Alle Inhalte sind auf verschiedenen Endgeräten optimal lesbar und nutzbar, was die SEO-Performance und Nutzerzufriedenheit stärkt.

VorschauResponsive
[fehlt]
[fehlt]

Allgemeine Info: Die responsive Darstellung sorgt dafür, dass eine Website auf allen Endgeräten (Desktop, Tablet, Smartphone) optimal angezeigt wird. Sie verbessert die Nutzererfahrung, reduziert Absprungraten und ist ein wichtiger Ranking-Faktor für Suchmaschinen.

Dateiname Sprechend ✅ Gut Keine Änderung nötig

Alle Dateinamen sind präzise, beschreibend und enthalten relevante Keywords. Sie unterstützen die SEO und erleichtern die Nutzerführung.

VorschauDateiname
[fehlt] drag-and-drop-img-213.png
[fehlt] drag-and-drop-img-219.png

Allgemeine Info: Der Dateiname von Bildern, Dokumenten oder anderen Dateien ist ein wichtiger SEO-Faktor. Aussagekräftige, keyword-relevante Dateinamen helfen Suchmaschinen, den Inhalt besser zu verstehen, und verbessern die Auffindbarkeit in der Bild- oder Dateisuche. Zudem erleichtern sie die Organisation und Nutzerfreundlichkeit.

Lazy Loading 2 von 2 Bilder ✅ Gut Keine Änderung nötig

Analysierter Wert: Bei 2 von 2 Bildern aktiv.
Lazy Loading ist vollständig und korrekt implementiert. Alle relevanten Inhalte werden effizient nachgeladen, was die Ladegeschwindigkeit und Nutzerfreundlichkeit maximiert.

VorschauLazy
[fehlt]
[fehlt]

Allgemeine Info: Lazy Loading ist eine Technik, bei der Bilder, Videos oder andere Inhalte erst dann geladen werden, wenn sie im sichtbaren Bereich des Nutzers erscheinen. Dadurch werden Ladezeiten verkürzt, die Performance verbessert und die Nutzererfahrung gesteigert. Gleichzeitig spart Lazy Loading Bandbreite und unterstützt die SEO durch schnellere Seitenladezeiten.

Ressourcen-Analyse

Ergebnis: Es wurden kritische Probleme mit den Ressourcen erkannt.

Bewertung: 🔴 CSS-Dateien: kritisch

Externe Skripte 0 eingebunden ✅ OK Keine Änderung nötig

Analysierter Wert: 0 eingebunden
Die Anzahl externer Skripte ist gering. Gut gemacht – das reduziert Ladezeit und Abhängigkeiten.

Allgemeine Info: Externe Skripte (z. B. JavaScript-Bibliotheken, Tracking-Codes oder Widgets) können die Ladegeschwindigkeit und Performance einer Website beeinflussen. Werden sie effizient eingebunden, bieten sie zusätzliche Funktionen und Mehrwert. Werden sie jedoch unkontrolliert oder zu zahlreich eingesetzt, können sie die Ladezeit verlängern und die Nutzererfahrung verschlechtern.

CSS-Dateien 5 eingebunden ❗ Hoch Zusammenfassen & verzögern

Analysierter Wert: 5 eingebunden
Zu viele CSS-Dateien. Die Ladezeit ist stark beeinträchtigt und die Wartung erschwert.

Verbesserungsvorschlag: Reduziere die Anzahl der CSS-Dateien durch Zusammenführung, entferne ungenutzte Styles und minifiziere den Code. Nutze „Critical CSS“-Techniken, um wichtige Styles direkt im Head zu laden und die Performance weiter zu steigern.

  • rw_common/themes/FDY/consolidated.css?rwcache=787766902
  • rw_common/plugins/stacks/stacks.css?rwcache=787766902
  • rw_common/plugins/stacks/bootstrap.min.css?rwcache=787766902
  • files/stacks_page_page0.css?rwcache=787766902
  • rw_common/plugins/stacks/font-awesome.min.css?rwcache=787766902

Allgemeine Info: CSS-Dateien steuern das Design und Layout einer Website. Eine effiziente Struktur und Optimierung der CSS-Dateien verbessert die Ladegeschwindigkeit, reduziert unnötigen Code und sorgt für eine konsistente Darstellung. Gut organisierte CSS-Dateien sind ein wichtiger Faktor für Performance und Wartbarkeit.

Webfonts 0 eingebunden ✅ OK Keine Änderung nötig

Analysierter Wert: 0 eingebunden
Keine oder sehr wenige Webfonts eingebunden. Das verbessert die Ladezeit und reduziert externe Abhängigkeiten.

Allgemeine Info: Webfonts sind Schriftarten, die über das Internet geladen werden. Sie ermöglichen individuelles Design und konsistente Typografie, können aber die Ladegeschwindigkeit beeinflussen, wenn sie nicht optimiert eingebunden sind. Eine effiziente Nutzung von Webfonts verbessert die Performance und sorgt für ein professionelles Erscheinungsbild.

Bilder & Medien 2 eingebunden ✅ OK Keine Änderung nötig

Analysierter Wert: 2 Bilder, davon 2 ohne ALT-Tag und einer Dateigröße von 476.02 KB.
Die Anzahl eingebundener Medien ist gering. Das unterstützt eine schnelle Ladezeit.

  • files/drag-and-drop-img-213.png
  • files/drag-and-drop-img-219.png

Allgemeine Info: Bilder und Medien (z. B. Videos, Infografiken, Animationen) sind wichtige Elemente für die Nutzererfahrung und SEO. Sie lockern Inhalte auf, veranschaulichen komplexe Themen und können zusätzlichen Traffic über die Bild- oder Videosuche generieren. Eine ausgewogene und optimierte Nutzung von Medien steigert die Attraktivität und Sichtbarkeit einer Seite.

HTTP-Requests 7 Anfragen ✅ OK Keine Änderung nötig

Analysierter Wert: 7 einzelne Anfragen beim Laden der Seite.
Die Gesamtzahl der HTTP-Requests ist niedrig. Sehr gute technische Basis für schnelle Ladezeiten.

  • rw_common/themes/FDY/consolidated.css?rwcache=787766902
  • rw_common/plugins/stacks/stacks.css?rwcache=787766902
  • rw_common/plugins/stacks/bootstrap.min.css?rwcache=787766902
  • files/stacks_page_page0.css?rwcache=787766902
  • rw_common/plugins/stacks/font-awesome.min.css?rwcache=787766902
  • files/drag-and-drop-img-213.png
  • files/drag-and-drop-img-219.png

Allgemeine Info: HTTP-Requests entstehen bei jedem Abruf von Dateien wie HTML, CSS, JavaScript, Bildern oder Fonts. Je mehr einzelne Requests eine Seite benötigt, desto langsamer kann sie laden. Eine Reduzierung und Optimierung der HTTP-Requests verbessert die Ladegeschwindigkeit, die Nutzererfahrung und die SEO-Performance.

Ladezeit 0.19s ✅ OK Keine Änderung nötig

Analysierter Wert: 0.19 Sekunden.
Sehr schnelle Ladezeit. Inhalte sind sofort verfügbar, die Nutzererfahrung ist hervorragend und die SEO-Wirkung maximal.

Allgemeine Info: Die Ladezeit einer Website ist ein entscheidender Faktor für Nutzerfreundlichkeit und SEO. Schnelle Ladezeiten verbessern die Nutzererfahrung, senken die Absprungrate und wirken sich positiv auf das Ranking in Suchmaschinen aus. Langsame Ladezeiten hingegen können Besucher abschrecken und die Sichtbarkeit verringern.

HTTPS-/SSL-Check gültiges SSL ✅ Sehr gut Keine Änderung nötig
HTTPS aktiv: Ja
Zertifikat gültig bis: 2026-04-26
Zertifikat gültig: Ja

Allgemeine Info: Die Nutzung von HTTPS bzw. SSL ist ein entscheidender Faktor für Sicherheit und Vertrauen im Web. Eine verschlüsselte Verbindung schützt sensible Daten, stärkt die Glaubwürdigkeit einer Website und verhindert, dass Informationen von Dritten abgefangen werden. Sichere Websites werden von modernen Browsern positiv hervorgehoben und genießen zusätzlich Vorteile im SEO-Bereich. Fehlt eine HTTPS-Verschlüsselung, können Warnhinweise erscheinen, die Besucher verunsichern, die Absprungrate erhöhen und das Vertrauen in eine Website deutlich verringern.

robots.txt Check robots.txt ok ✅ Sehr gut Keine Änderung nötig
HTTP-Status: 302
<!DOCTYPE html>
<html lang="de">

	<head>
		<!-- Required meta tags always come first -->
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
		<meta http-equiv="x-ua-compatible" content="ie=edge">
	
		<!-- Browser title -->
		<title>ehem. Palliativstützpunkt Nienburg | bald Verein für palliative Arbeit im Landkreis Nienburg e.V.</title>
	
    	<!-- Main Theme Stylesheet -->
		<link rel="stylesheet" type="text/css" media="all" href="rw_common/themes/FDY/consolidated.css?rwcache=787766902" />
		
	
		<!-- Head content such as meta tags and encoding options, etc -->
		
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<meta name="robots" content="index, follow" />
		<meta name="generator" content="RapidWeaver" />
		
	
		<!-- User defined head content -->
		
		
		<!-- Plugin injected code -->
				<link rel='stylesheet' type='text/css' media='all' href='rw_common/plugins/stacks/stacks.css?rwcache=787766902' />
<link rel="stylesheet" type="text/css" media="all" href="rw_common/plugins/stacks/bootstrap.min.css?rwcache=787766902" />		<link rel='stylesheet' type='text/css' media='all' href='files/stacks_page_page0.css?rwcache=787766902' />
        <script type='text/javascript' charset='utf-8' src='rw_common/plugins/stacks/jquery-2.2.4.min.js?rwcache=787766902'></script>
        
        <link rel="stylesheet" href="rw_common/plugins/stacks/font-awesome.min.css?rwcache=787766902">
        
<script type="text/javascript" charset="utf-8" src="rw_common/plugins/stacks/bootstrap.bundle.min.js?rwcache=787766902"></script>		
		<script type='text/javascript' charset='utf-8' src='files/stacks_page_page0.js?rwcache=787766902'></script>
		

	
	</head>
	
	<body>
	
		<div id="fdy-page-wrapper">
  		
<div id='stacks_out_1' class='stacks_top'><div id='stacks_in_1' class=''><div id='stacks_out_158' class='stacks_out'><div id='stacks_in_158' class='stacks_in com_weaverskingdom_stack_protect_stack'><!-- weavers kingdom protect stack :: weaverskingdom.com-->
<div class="protected_stacks_in_158" ondragstart="return false" onselectstart="return false"><div class='slice empty out'><div class='slice empty in'></div></div></div></div></div>
<!-- 
Built using Foundry v3.2024.01.17 :: by Elixir
 -->


		
		

		






<div style="display: none;">
<div class="drop-zone-for-partials ">
	<div class='slice empty out'><div class='slice empty in'></div></div>
	
</div>
</div>

<!-- :: Equalize  :: -->

<div class="">
	<div class='slice empty out'><div class='slice empty in'></div></div>
</div>

 <link rel="prefetch" href="files/bgImage-81.jpg"> <div id="parallax_stacks_in_81" class="jw-parallax type-cover image-local" data-parallax="scroll" data-alt="" data-image="files/bgImage-81.jpg" data-image-small="">     </div> 
<!-- :: Spacing  :: -->
<div id="stacks_in_5-margins" class="margins-easy-presets padding-advanced m-0       overflow-hidden">
	<!-- :: Container  :: -->
<div  class="stacks_in_14-container     "      >

	<!-- :: Max-Width  :: -->
<div id="stacks_in_16-wrapper" class=" container-fluid        ">
	<!-- :: Columns / Grid  :: -->
<div id="stacks_in_18-wrapper" class="container-fluid fdy-columns p-0 overflow-visible ">
	<div class="row           gx-4 gy-4 ">
		<div class="col stacks_in_206-col       ">
  <!-- :: Card  :: -->
<div id="stacks_in_207-wrapper" class="card position-relative fdy-shadow  rounded-3 border border-0 ">
	
	
	
	
	
	
	
	<div class="card-body rounded-3 p-0">
		<!-- :: Spacing  :: -->
<div id="stacks_in_209-margins" class="margins-easy-presets padding-easy-presets m-0      p-4      ">
	<div class="equalize-item " data-match-height-enable="(min-width: 576px)" data-match-height="match-height-archer">
	<!-- :: Image  :: -->
<div class="  text-center   ">
	<a href="#" data-bs-toggle="modal" data-bs-target="#m_infodh" rel="" target="" onclick="" class="" id="">
		
		
			<img  loading="lazy" class="stacks_in_213 fdy-img img-fluid shadow-none  rounded-3 " src="files/drag-and-drop-img-213.png" srcset="files/drag-and-drop-img-213.png 1x,  2x" alt=""    draggable="false" oncontextmenu="return false;">
		

	</a>
</div>




















</div>
<!-- :: Spacing  :: -->
<div id="stacks_in_215-margins" class="margins-easy-presets padding-easy-presets m-0      p-4      ">
	<div class="lines-wrapper "> <hr class="lines stacks_in_216 solid   ">   </div> 
<div class="equalize-item " data-match-height-enable="(min-width: 768px)" data-match-height="match-height-delta">
	<!-- :: Image  :: -->
<div class="  text-center   ">
	<a href="#" data-bs-toggle="modal" data-bs-target="#m_infodh" rel="" target="" onclick="" class="" id="">
		
		
			<img  loading="lazy" class="stacks_in_219 fdy-img img-fluid shadow-none  rounded-3 " src="files/drag-and-drop-img-219.png" srcset="files/drag-and-drop-img-219.png 1x,  2x" alt=""    draggable="false" oncontextmenu="return false;">
		

	</a>
</div>




















</div>
<!-- Spacer stack coded by William Woodgate. Visit https://stacks4stacks.com for more information -->
<div id="spacerStackstacks_in_221" class="spacerStack"></div><div class="equalize-item " data-match-height-enable="(min-width: 768px)" data-match-height="match-height-sulu">
	<!-- :: Paragraph  :: -->
<div id="stacks_in_223-wrapper" class="     text-center    ">
	<p>Hier geht es zur <b>s</b>pezialisierten <b>a</b>mbulanten <b>P</b>alliativ<b>v</b>ersorgung für die Landkreise Diepholz &amp; Nienburg.</p>
</div>
</div>
<!-- Spacer stack coded by William Woodgate. Visit https://stacks4stacks.com for more information -->
<div id="spacerStackstacks_in_226" class="spacerStack"></div><!-- :: Button  :: -->
<div id="stacks_in_227-wrapper" class="  text-center  ">
<a class="position-relative stacks_in_227-button shadow-none  btn button-presets btn-sm rounded-3 d-inline-block d-sm-inline-block d-md-inline-block d-lg-inline-block d-xl-inline-block d-xxl-inline-block    " href="https://palliativ-diepholz.de/" target="_blank" rel="" onclick="" role="button"     >palliativ-diepholz.de<span class="icon-right"><i class="bi bi-chevron-right"></i></span></a>
</div>



</div>
</div>
	</div>
	
	
	
</div>


<!-- :: Visibility  :: -->








<div id="stacks_in_245-wrapper" class="d-block d-sm-none  d-md-none  d-lg-none d-xl-none d-xxl-none ">
	<div id='stacks_out_246' class='stacks_out'><div id='stacks_in_246' class='stacks_in com_marathia_stacks_linkplus_stack'><!-- Start of LinkPlus Stack v1.1.4 -->

<div id='stacks_out_248' class='stacks_out stacks_l_hidden stacks_m_hidden'><div id='stacks_in_248' class='stacks_in text_stack'><span id='stacks_in_250'><p style="text-align:center;"><span style="color:#FEFFFF;">Projekt mit &nbsp;<i class="fas fa-heart"></i>   &nbsp; & &nbsp;  <i class="fas fa-coffee"></i> &nbsp;erstellt von der<br /></span><span style="color:#FEFFFF;font-weight:bold; "><a href="https://www.rumecon.de" target="_blank" title="rumecon.de - Medienagentur | Ihre Fullservice-Agentur aus Nienburg" alt="rumecon.de - Medienagentur | Ihre Fullservice-Agentur aus Nienburg">rumecon.de - Medienagentur </a></span></p></span></div></div>
<!-- End of LinkPlus Stack --></div></div>
</div>






</div>






<div class="col stacks_in_265-col       ">
  <!-- :: Card  :: -->
<div id="stacks_in_266-wrapper" class="card position-relative fdy-shadow  rounded-3 border border-0 ">
	
	
	
	
	
	
	
	<div class="card-body rounded-3 p-0">
		<!-- :: Spacing  :: -->
<div id="stacks_in_268-margins" class="margins-easy-presets padding-easy-presets m-0      p-4      ">
	<div class="equalize-item " data-match-height-enable="(min-width: 576px)" data-match-height="match-height-archer">
	<!-- :: Header  :: -->




<h6 class="stacks_in_272-header foundry-typeface-one shadow-none  text-center   ">Verein für palliative Arbeit im Landkreis Nienburg e.V.</h6>



<!-- :: Visibility  :: -->








<div id="stacks_in_275-wrapper" class="d-none d-sm-block  d-md-block  d-lg-block d-xl-block d-xxl-block ">
	<!-- Spacer stack coded by William Woodgate. Visit https://stacks4stacks.com for more information -->
<div id="spacerStackstacks_in_276" class="spacerStack"></div>
</div>






</div>
<!-- :: Spacing  :: -->
<div id="stacks_in_278-margins" class="margins-easy-presets padding-easy-presets m-0      p-4      ">
	<!-- :: Visibility  :: -->








<div id="stacks_in_279-wrapper" class="d-block d-sm-block  d-md-block  d-lg-block d-xl-block d-xxl-block ">
	<div class="lines-wrapper "> <hr class="lines stacks_in_281 solid   ">   </div> 

</div>





<div class="equalize-item " data-match-height-enable="(min-width: 576px)" data-match-height="match-height-delta">
	<!-- Spacer stack coded by William Woodgate. Visit https://stacks4stacks.com for more information -->
<div id="spacerStackstacks_in_284" class="spacerStack"></div>
</div>
<!-- Spacer stack coded by William Woodgate. Visit https://stacks4stacks.com for more information -->
<div id="spacerStackstacks_in_286" class="spacerStack"></div><div class="equalize-item " data-match-height-enable="(min-width: 768px)" data-match-height="match-height-sulu">
	<!-- :: Paragraph  :: -->
<div id="stacks_in_288-wrapper" class="     text-center    ">
	<p>Hier geht es demnächst zum Verein für palliative Arbeit im Landkreis Nienburg e.V.</p>
</div>
</div>
<!-- Spacer stack coded by William Woodgate. Visit https://stacks4stacks.com for more information -->
<div id="spacerStackstacks_in_290" class="spacerStack"></div><!-- :: Button  :: -->
<div id="stacks_in_291-wrapper" class="  text-center  ">
<a class="position-relative stacks_in_291-button shadow-none  btn button-presets btn-sm rounded-3 d-inline-block d-sm-inline-block d-md-inline-block d-lg-inline-block d-xl-inline-block d-xxl-inline-block    " href="#" target="" rel="" onclick="" role="button"   data-bs-toggle="modal" data-bs-target="#m_info"  >palliativ-nienburg.de<span class="icon-right"><i class="bi bi-chevron-right"></i></span></a>
</div>



</div>
</div>
	</div>
	
	
	
</div>



</div>







	</div>
</div>

<!-- :: Visibility  :: -->








<div id="stacks_in_164-wrapper" class="d-none d-sm-block  d-md-block  d-lg-block d-xl-block d-xxl-block ">
	<div id='stacks_out_166' class='stacks_out'><div id='stacks_in_166' class='stacks_in com_marathia_stacks_linkplus_stack'><!-- Start of LinkPlus Stack v1.1.4 -->

<div id='stacks_out_165' class='stacks_out stacks_s_hidden'><div id='stacks_in_165' class='stacks_in text_stack'><span id='stacks_in_169'><p style="text-align:center;"><span style="color:#FEFFFF;">Projekt mit &nbsp;<i class="fas fa-heart"></i>   &nbsp; & &nbsp;  <i class="fas fa-coffee"></i> &nbsp;erstellt von der&nbsp;</span><span style="color:#FEFFFF;font-weight:bold; "> </span><span style="color:#FEFFFF;font-weight:bold; "><a href="https://www.rumecon.de" target="_blank" title="rumecon.de - Medienagentur | Ihre Fullservice-Agentur aus Nienburg" alt="rumecon.de - Medienagentur | Ihre Fullservice-Agentur aus Nienburg">rumecon.de - Medienagentur </a></span></p></span></div></div>
<!-- End of LinkPlus Stack --></div></div>
</div>






</div>





</div>
</div>
<div class="stacks_in_120-modal modal fade"  data-bs-keyboard="true" id="m_info" tabindex="-1" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered  modal-dialog-scrollable modal-lg">
	<div class="modal-content fdy-shadow rounded-3 ">
	  
	  <div class="modal-body p-4">
		<div class="p-0">
		
  <p data-deluxe-el="1" data-deluxe-text="p-True" class="element_stacks_in_122 ">
    <span id='stacks_in_123'><p style="text-align:center;"><span style="color:#1575D3;">Erfahren Sie demn&auml;chst mehr &uuml;ber die neue Homepage des <br /></span><span style="color:#1575D3;font-weight:bold; ">"Verein f&uuml;r palliative Arbeit im Landkreis Nienburg e.V."</span><span style="color:#1575D3;">.<br /><br />Bitte haben Sie noch etwas Geduld und schauen in den n&auml;chsten Wochen doch einfach hier noch einmal wieder vorbei!</span></p></span>
  </p>


		</div>
		<button type="button" class="position-absolute top-0 end-0 mt-2 btn-close ps-3 " data-bs-dismiss="modal" aria-label="Close"></button>
	  </div>
	  
	</div>
  </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function(event) {
	const modal_stacks_in_120 = document.getElementById('m_info');
	document.body.append(modal_stacks_in_120);
});
</script>
<div class="stacks_in_170-modal modal fade"  data-bs-keyboard="true" id="m_infodh" tabindex="-1" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered  modal-dialog-scrollable ">
	<div class="modal-content fdy-shadow rounded-3 ">
	  
	  <div class="modal-body p-4">
		<div class="p-0">
		
  <p data-deluxe-el="1" data-deluxe-text="p-True" class="element_stacks_in_171 ">
    <p style="text-align:center;"><span style="color:#1575D3;">Ab sofort Ihr "palliativer Ansprechpartner" <br />f&uuml;r die Kreise </span><span style="color:#1575D3;font-weight:bold; ">Diepholz und Nienburg</span><span style="color:#1575D3;">!</span></p>
  </p>


		</div>
		<button type="button" class="position-absolute top-0 end-0 mt-2 btn-close ps-3 " data-bs-dismiss="modal" aria-label="Close"></button>
	  </div>
	  
	</div>
  </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function(event) {
	const modal_stacks_in_170 = document.getElementById('m_infodh');
	document.body.append(modal_stacks_in_170);
});
</script></div></div><script>
  var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
  var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
    return new bootstrap.Tooltip(tooltipTriggerEl)
  })
  
  var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
  var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
  return new bootstrap.Popover(popoverTriggerEl)
  })
</script><script>
"use strict";

function dashes(num) {
  var str = '';

  for (var i = 0; i < num; i += 1) {
    str += '-';
  }

  return str;
}

function getElementsFromParam(elements) {
  // 1. If value is a String, query the DOM
  if (typeof elements === 'string') {
    return qsa(elements);
  }

  // 2. Put single element in an Array
  if (elements instanceof Element) {
    return [elements];
  }

  // 3. Assume everything can be treated like an Array
  if (elements) {
    return Array.prototype.slice.call(elements);
  }

  // 4. Otherwise, fallback to an empty array
  return [];
}

function hasOwnProperty(obj, prop) {
  return Object.prototype.hasOwnProperty.call(obj, prop);
}

function isEmpty(obj) {
  return Object.getOwnPropertyNames(obj).length === 0;
}

function onReady(fn) {
  if (document.readyState !== 'loading') {
    fn();
  } else {
    document.addEventListener('DOMContentLoaded', fn);
  }
}

function qsa(selector, context = document) {
  return Array.prototype.slice.call(context.querySelectorAll(selector));
}

function unique(arr) {
  return arr.filter(function (value, index, self) {
    return self.indexOf(value) === index;
  });
}






class MatchHeight {
  /**
   * Init.
   */
  constructor() {
    // Auto-init once the DOM is ready
    onReady(this.reset.bind(this));

    // Then update on every resize
    window.addEventListener('resize', () => this.update());

    var $images = document.querySelectorAll('.equalize-item img');
    Promise.all(
        Array.from($images).filter(img => !img.complete)
            .map(img => new Promise(resolve => { 
                img.addEventListener('load', resolve); 
                img.addEventListener('error', resolve);
            })
            )
    ).then(
        () => {
            console.log('Equalize update: Images finished loading.');
            this.update();
        }
    );

    // Add an internal counter for manually-added elements
    this.groupCounter = 1;
  }

  /**
   * Find new elements to match. Group them so we know which elements should
   * be matched together.
   * @return {void}
   */
  findElements() {
    this.groups = this.group(qsa('[data-match-height]'));
  }

  /**
   * Group elements by their match height attribute.
   * @param  {Array} elements
   * @return {Object} groups
   */
  group(elements) {
    return elements.reduce((groups, el) => {
      // Get group ID
      let group = el.getAttribute('data-match-height');

      // Does this element belong to a parent group?
      const parent = el.closest('[data-match-height-group]');

      // If so, prefix the group ID with the parent group
      if (parent) {
        // eslint-disable-next-line prefer-template
        group = parent.getAttribute('data-match-height-group') + '-' + group;
      }

      // Add element to existing or new group
      groups[group] = (groups[group] || []).concat(el);

      return groups;
    }, {});
  }

  /**
   * Check whether Match Height is enabled for a group of elements.
   * @param  {Array} group
   * @return {Boolean}
   */
  isEnabled(group) {
    // Only enable groups that exist and have elements
    if (!group || !group[0]) {
      return false;
    }

    // Assume all elements are in the same group
    const firstElement = group[0];

    // 1. ✅ "Enable" Flag
    // Check whether this group has an "enable" config
    const enable = firstElement.closest('[data-match-height-enable]');

    if (enable) {
      // When should we disable this group?
      const media = enable.getAttribute('data-match-height-enable');

      // Allow Boolean values
      if (media === 'true') { return true; }
      if (media === 'false') { return false; }

      // Otherwise, assume value is a media query & check viewport size
      return window.matchMedia(media).matches;
    }

    // 2. 🚫 "Disable" Flag
    // Check whether this group has a "disable" config
    const disable = firstElement.closest('[data-match-height-disable]');

    if (disable) {
      // When should we disable this group?
      const media = disable.getAttribute('data-match-height-disable');

      // Allow Boolean values
      if (media === 'true') { return false; }
      if (media === 'false') { return true; }

      // Otherwise, assume value is a media query & check viewport size
      return !window.matchMedia(media).matches;
    }

    // Enable by default
    return true;
  }

  /**
   * Match height for a group of elements.
   * @param  {Array} elements
   * @return {void}
   */
  match(elements) {
    // Get height of the tallest element
    const maxHeight = elements.reduce((max, el) => {
      // Reset natural height
      el.style.height = '';

      // Return largest size
      return Math.max(max, el.offsetHeight);
    }, 0);

    // Update elements to all use the same height
    elements.forEach((el) => el.style.height = `${maxHeight}px`);
  }

  /**
   * Update heights for all currently tracked elements, or only update a
   * specific group of elements.
   * @param  {String|Element|Array} groupOrElements
   * @return {void}
   */
  update(groupOrElements) {
    const self = this;
    const groups = this.getGroups(groupOrElements);

    // Match elements in each group
    // eslint-disable-next-line guard-for-in, no-restricted-syntax
    for (const groupID in groups) {
      const group = groups[groupID];

      if (self.isEnabled(group)) {
        // Match elements in enabled groups
        self.match(group);
      } else {
        // Reset elements in disabled groups
        group.forEach((el) => el.style.height = '');
      }
    }
  }

  /**
   * Reset Match Height. Find any elements with `data-match-height` and
   * start matching them.
   * @return {void}
   */
  reset() {
    this.findElements();
    this.update();
  }

  /**
   * Get new group ID for manually-added elements.
   * @return {String}
   */
  getNewGroupID() {
    // Get ID
    const id = `group-${this.groupCounter}`;

    // Increment counter for next group
    this.groupCounter += 1;

    // Return ID
    return id;
  }

  /**
   * Get the current group ID for an element.
   * @param  {String|Element|Array} elements
   * @return {String}
   */
  getGroupID(elements) {
    elements = getElementsFromParam(elements);

    // Assume all elements are in the same group
    const firstElement = elements.shift();

    // Ignore empty groups
    if (!firstElement) {
      return null;
    }

    // Get group ID from first element's data-match-height attribute
    let id = firstElement.getAttribute('data-match-height');

    // If the element is part of a data-match-height-group, prefix that value to the group ID
    const parent = firstElement.closest('[data-match-height-group]');

    if (parent) {
      id = parent.getAttribute('data-match-height-group') + '-' + id;
    }

    // Return ID
    return id;
  }

  /**
   * Get groups. Optionally, return a specific group based on its
   * group ID, the elements in the group, or a specific element.
   * @param  {String|Element|Array} groupOrElements
   * @return {Object}
   */
  getGroups(groupOrElements) {
    // By default, find all groups
    if (!groupOrElements) {
      return this.groups;
    }

    // Otherwise, search for specific groups
    let groupID;

    if (typeof groupOrElements === 'string' && this.groups[groupOrElements]) {
      // 1. If value is an existing group ID, return that group
      groupID = groupOrElements;
    } else {
      // 2. If we're debugging specific elements, find which group they belong to
      groupOrElements = getElementsFromParam(groupOrElements);
      groupID = this.getGroupID(groupOrElements);
    }

    // If group exists, return it
    if (this.groups[groupID]) {
      return { [groupID]: this.groups[groupID] };
    }

    // Otherwise, fallback to an empty object
    return {};
  }

  /**
   * Get the element controlling whether a group is enabled / disabled.
   * @param  {String|Element|Array} elements
   * @return {Element}
   */
  getControl(elements) {
    elements = getElementsFromParam(elements);

    // Assume all elements are in the same group
    const firstElement = elements.shift();

    // Ignore empty groups
    if (!firstElement) {
      return null;
    }

    // Find the element controlling when this group is enabled / disabled
    const control = firstElement.closest('[data-match-height-enable], [data-match-height-disable]');

    // Return ID
    return control;
  }

  /**
   * Add one or more elements to Match Height. By default, this adds elements
   * to their own, unique group. Otherwise, it adds them to the group you
   * specify.
   * @param  {String|Element|Array} elements
   * @param  {String} groupID (Optional)
   * @return {void}
   */
  add(elements, groupID) {
    elements = getElementsFromParam(elements);

    // If you haven't specified a group ID, assume these
    // elements belong in a new group with a unique ID
    groupID = groupID || this.getNewGroupID();

    // Assign elements to their group
    elements.forEach((el) => el.setAttribute('data-match-height', groupID));

    // Add elements to existing or new groups
    this.groups[groupID] = (this.groups[groupID] || []).concat(elements);

    // Update the group so everything matches
    this.update(groupID);
  }

  /**
   * Remove one or more elements, or a whole group, from Match Height. In
   * other words, "stop matching these." Removes the `data-match-height`
   * attribute and inline `height` style from each element.
   * @param  {String|Element|Array} groupOrElements
   * @param  {String} groupID (Optional)
   * @return {void}
   */
  remove(groupOrElements) {
    // 1. If value is an existing group ID, remove that group
    if (typeof groupOrElements === 'string' && this.groups[groupOrElements]) {
      delete this.groups[groupOrElements];
      return;
    }

    // 2. Otherwise, assume we're removing specific elements
    const self = this;
    const elements = getElementsFromParam(groupOrElements);
    let groupsToUpdate = [];

    elements.forEach((el) => {
      // Get group for this element
      const groupID = self.getGroupID(el);
      // Remove element styles & data attributes
      el.removeAttribute('data-match-height');
      // Remove element from its group (also filter out non-existent elements)
      self.groups[groupID] = self.groups[groupID].filter((elem) => elem && elem !== el);

      if (!self.groups[groupID].length) {
        // Remove empty groups
        delete self.groups[groupID];
        // Remove group from groups to update
        groupsToUpdate = groupsToUpdate.filter((group) => group !== groupID);
      } else {
        // Keep track of groups to update
        groupsToUpdate.push(groupID);
      }
    });

    // Update so remaining groups still match
    unique(groupsToUpdate).forEach((groupID) => self.update(groupID));
  }

  /**
   * `console.log` info about a group of elements. Shows whether a group is
   * enabled, what element is controlling it, and what other elements are in
   * the group.
   * @param  {String|Element|Array} groupOrElements
   * @return {void}
   */
  debug(groupOrElements) {
    const groups = this.getGroups(groupOrElements);

    // Cry if we can't find a matching group to debug
    if (isEmpty(groups)) {
      // eslint-disable-next-line no-console
      console.log(`
😢 Oh no! Match Height couldn't find a matching group for "${groupOrElements}".\n
--------------------------------------------------------------------------------------------
ℹ️ NOTE: Make sure the elements you're trying to debug have a [data-match-height] attribute.
--------------------------------------------------------------------------------------------\n\n`);
      return;
    }

    // Debug specified groups
    // eslint-disable-next-line no-restricted-syntax
    for (const groupID in groups) {
      if (hasOwnProperty(groups, groupID)) {
        const group = groups[groupID];
        const control = this.getControl(group);

        // Questions
        const questions = {};

        // 1. Is it enabled?
        questions.isEnabled = this.isEnabled(group);

        // 2. Why is it enabled or disabled?
        questions.control = control;
        questions.enable = control ? control.getAttribute('data-match-height-enable') : undefined;
        questions.disable = control ? control.getAttribute('data-match-height-disable') : undefined;

        // 3. What other elements does this affect?
        questions.groupID = groupID;
        questions.group = group;

        // Log it to the console!
        /* eslint-disable no-console */
        console.log(`
---------------------------${dashes(groupID.length)}-
🐛 Match Height Debugger: "${groupID}"
---------------------------${dashes(groupID.length)}-

👇 Click into the object below to inspect your elements.\n\n`);
        console.log(questions);
        console.log('\n');
        /* eslint-enable no-console */
      }
    }
  }
}


// Manage everything in a single, shared instance
const shared = new MatchHeight();

// Make it globally accessible
window.MatchHeight = shared;


</script>

		</div>
	
		<!-- Base RapidWeaver Javascript -->
		<script src="rw_common/themes/FDY/javascript.js?rwcache=787766902"></script>
	
		<!-- User defined styles -->
		
		
		<!-- User defined javascript -->
		
		
	</body>

</html>
robots.txt: OK

Allgemeine Info: Die robots.txt-Datei ist ein wichtiger Faktor für die Steuerung der Suchmaschinenindexierung einer Website. Sie legt fest, welche Bereiche von Crawlern besucht werden dürfen und welche ausgeschlossen bleiben sollen. Eine korrekt konfigurierte robots.txt verbessert die Effizienz der Suchmaschinenbots, schützt sensible oder irrelevante Bereiche vor unerwünschter Indexierung und unterstützt eine gezielte SEO-Strategie. Fehlerhafte Angaben hingegen können dazu führen, dass wichtige Inhalte nicht erfasst werden oder ganze Bereiche versehentlich aus dem Index verschwinden, was die Sichtbarkeit der Website erheblich beeinträchtigen kann.

XML-Sitemap gültig Sitemap ✅ Sehr gut Keine Änderung nötig
sitemap.xml: gültig
Enthaltene URLs: 1

Allgemeine Info: Eine XML-Sitemap ist ein zentraler Bestandteil der technischen Suchmaschinenoptimierung. Sie liefert Suchmaschinen eine strukturierte Übersicht aller wichtigen Seiten einer Website und erleichtert es den Crawlern, neue oder aktualisierte Inhalte schnell zu erkennen. Eine gut gepflegte XML-Sitemap verbessert die Indexierungsrate, unterstützt eine klare Seitenstruktur und trägt dazu bei, die Sichtbarkeit in Suchmaschinen zu erhöhen. Fehlt eine Sitemap oder ist sie unvollständig, kann dies dazu führen, dass relevante Inhalte verzögert oder gar nicht indexiert werden, was die Auffindbarkeit der Website beeinträchtigen kann.

Analytics-Verwendung Keine Einbindung ✅ Gut Keine Änderung nötig

Keine oder minimale Nutzung erkannt.

Allgemeine Info: Die Verwendung von Web-Analytics-Tools (z. B. Google Analytics, Matomo) ist entscheidend, um das Nutzerverhalten zu verstehen, die Performance zu messen und Optimierungen gezielt vorzunehmen. Ohne Analytics fehlt die Grundlage für datenbasierte Entscheidungen im Online-Marketing und SEO.

Adsense-Verwendung Keine Einbindung ✅ Gut Keine Änderung nötig

Keine oder minimale Nutzung erkannt.

Allgemeine Info: Die Verwendung von Google AdSense ermöglicht es, durch Werbeanzeigen Einnahmen auf einer Website zu generieren. Eine ausgewogene und nutzerfreundliche Integration ist wichtig, da zu viele oder schlecht platzierte Anzeigen die Nutzererfahrung verschlechtern und die Absprungrate erhöhen können. Richtig eingesetzt, unterstützt AdSense die Monetarisierung ohne die Inhalte zu überlagern.

Die letzten geprüften Webseiten

Unsere Analyse-Engine ist täglich im Einsatz und prüft hunderte Webseiten auf SEO-Potenzial, technische Qualität und semantische Relevanz. Hier siehst du eine Auswahl der zuletzt analysierten Domains – anonymisiert und datenschutzkonform.

Du möchtest wissen, wie deine Website abschneidet? Starte jetzt deine kostenlose Analyse und erhalte sofort verwertbare Ergebnisse.

🔍 Jetzt Website prüfen