Discourse verfügt über zahlreiche SEO-Funktionen, die sofort einsatzbereit sind. Dank unserer sinnvollen Standardeinstellungen können sich Community-Manager auf den Aufbau ihrer Community konzentrieren und müssen sich nicht durch die Optimierung für Suchmaschinen ablenken lassen. Dennoch gibt es einige Dinge, die Sie ändern können, einige Dinge, die Sie wissen sollten, und einige allgemeine Tipps und Tricks, die weiter unten aufgeführt sind.
Statische Ansicht für Suchmaschinen
Discourse bietet eine statische HTML-Ansicht ohne JavaScript, um Web-Crawlern zu helfen, Ihre Site schneller zu indexieren. Der Inhalt zwischen der dynamischen und der statischen Ansicht ist identisch, und beim Crawlen der Site durch Suchmaschinen wird nichts weggelassen oder entfernt.
Hier ist ein Vergleich dessen, was ein Benutzer sieht und was eine Suchmaschine sieht:
Themenliste:
Thema:
Vorschau der Crawler-Ansicht
Sie können prüfen, was Discourse an Crawler sendet, ohne JavaScript zu deaktivieren, auf zwei Arten:
-
URL-Parameter
?print— Fügen Sie?printan jede Discourse-URL an (z. B.https://yourforum.com/t/some-topic/123?print). Dies erzwingt das Crawler-Layout für jeden Browser, unabhängig vom User-Agent. Es ist der einfachste Weg, zu überprüfen, was Suchmaschinen sehen. -
Anfrage-Header
Discourse-Render: crawler— Senden Sie diesen HTTP-Header mit jeder Anfrage, um das Crawler-Layout zu erzwingen. Nützlich für programmgesteuerte Audits oder Tests mitcurl:curl -H "Discourse-Render: crawler" https://yourforum.com/t/some-topic/123
Meta-Tags
In Discourse werden die generischen Meta-Tags, die für SEO wesentlich sind, basierend auf dem auf der Seite vorhandenen Inhalt automatisch generiert. Der Title-Tag wird beispielsweise vom Site- oder Themennamen abgeleitet, und die Beschreibung wird aus dem Inhalt des ersten Beitrags generiert. Die Anpassung von Metadaten auf Seitenebene ist jedoch begrenzt. Um diese Werte zu ändern, müssen Sie die Einstellungen oder die Inhaltsfelder, aus denen sie generiert werden, anpassen.
- Die Site-Einstellungen Titel, Beschreibung und Kurze Site-Beschreibung
- Die Kategoriennamen
- Die Titel und Inhalte der Beiträge
- Und so weiter

Meta-Tags für soziale Medien
Discourse generiert automatisch Open Graph- und Twitter (X) Card-Meta-Tags für umfangreiches Teilen in sozialen Medien:
Open Graph-Tags
og:site_name,og:type,og:url,og:title,og:descriptionog:image– Konfigurierbar über die Einstellungopengraph_imageog:article:section– Kategorie-Breadcrumbsog:article:tag– Thema-Tags
X (ehemals Twitter) Card-Tags
twitter:card– “summary” oder “summary_large_image”twitter:title,twitter:description,twitter:imagetwitter:label1/data1– Geschätzte Lesezeittwitter:label2/data2– Anzahl der Likes
Konfigurationseinstellungen
opengraph_image– Standard-OG-Bild für das Teilen in sozialen Medienx_summary_large_image– X (ehemals Twitter) großes Card-Bild
URL-Struktur und -Codierung
Nicht-latinische Zeichen und URLs
Discourse entfernt standardmäßig nicht-latinische Zeichen aus Thema-URLs, wenn die Sprache auf EN eingestellt ist. Um dies zu vermeiden, können Sie die Sprache auf die primäre nicht-latinische Sprache ändern oder die Einstellung slug generation method von ASCII auf encoded ändern.
Internationales SEO und hreflang-Tags
Für mehrsprachige Communities unterstützt Discourse hreflang-Tags, die Suchmaschinen dabei helfen, die richtige Sprachversion an die Benutzer auszuliefern. Um dies zu aktivieren, müssen Sie diese drei Einstellungen konfigurieren (Admin → Einstellungen → Lokalisierung):
content_localization_enabled: Aktiviert das System zur Inhaltslokalisierung.content_localization_supported_locales: Definiert unterstützte Sprachcodes (z. B.en|es|fr).content_localization_crawler_param: Erforderlich, um<link rel="alternate" hreflang="...">-Tags zu generieren und interne Links für Crawler mit demtl-Sprachparameter zu ändern (z. B./t/example-topic/123?tl=es).
Mit diesen aktivierten Einstellungen generiert Discourse alternative Links für jede unterstützte Sprache, was Google und anderen Suchmaschinen hilft, die richtige Sprachversion an die Benutzer auszuliefern.
Subfolder vs. Subdomain-Einrichtung
Discourse bevorzugt Subdomains gegenüber Subfolders aufgrund ihrer technischen Einfachheit. Google hat keine echte Präferenz zwischen den beiden[1], aber Discourse empfiehlt dringend, Subfolder-Einrichtungen zu vermeiden, es sei denn, Sie haben ein tiefes technisches Verständnis.
Wenn Sie Discourse in einem Subfolder ausführen (z. B. example.com/forum/), wird Ihre root-Level-robots.txt von Ihrem Haupt-Webserver verwaltet, nicht von Discourse. Um die korrekte Konfiguration zu erleichtern, stellt Discourse einen JSON-Endpunkt unter /robots-builder.json bereit, der die genauen Disallow-Regeln zurückgibt, die Discourse für Ihren Subfolder-Pfad generieren würde. Sie können dies als Eingabe für ein Skript verwenden, das Ihre serverseitige robots.txt schreibt.
Kanonizierung
Google ist bestrebt, kanonische Versionen von Seiten zu indexieren. In Discourse wird für ein Thema mit mehreren Antworten der kanonische Link (der erste Beitrag) an Google weitergegeben, der dann über die Indexierung entscheidet. Themen mit mehr als 20 Beiträgen werden paginiert, wobei jede Seite ein kanonischer Link ist, der bis zu 20 Beiträge enthält.
Zum Beispiel wäre das kanonische Tag für die letzte Antwort in diesem Thema https://meta.discourse.org/t/try-out-the-new-sidebar-and-notification-menus/238821?page=12.
Einstellung allow_indexing_non_canonical_urls
Die versteckte Site-Einstellung allow_indexing_non_canonical_urls (Standard: true) steuert, ob nicht-kanonische URL-Varianten einen X-Robots-Tag: noindex-Header erhalten. Wenn auf false gesetzt, wird jede Anfrage an eine URL, die sich von der kanonischen URL unterscheidet (z. B. ein direkter Beitragslink wie /t/slug/123/45, wenn die kanonische URL /t/slug/123?page=3 ist), mit einem noindex-Header ausgeliefert.
Eingebettete Themen
Wenn Themen auf externen Websites eingebettet werden, können Sie die Einstellung embed_set_canonical_url verwenden, um die kanonische URL auf den ursprünglichen Einbettungsort zu verweisen. Dies verhindert Probleme mit doppelten Inhalten, wenn dasselbe Thema sowohl auf Ihrem Forum als auch auf der einbettenden Website erscheint.
Schema-Markup
Discourse verwendet umfangreiches schema.org-Markup, um Suchmaschinen zu helfen, Ihren Inhalt zu verstehen. Jeder Inhaltstyp enthält umfangreiche strukturierte Daten, die in Suchergebnissen erscheinen und zur Auffindbarkeit beitragen.
Themen
Verwenden Sie das DiscussionForumPosting-Schema, um den Hauptdiskussionsfaden darzustellen, und schließen Sie Folgendes ein:
headline– Der ThemennamendatePublished– Wann das Thema erstellt wurdearticleSection– Der Kategorienamekeywords– Alle Thema-Tagspublisher– Informationen zu Ihrer Site/Ihrer Organisationauthor– Informationen zum ursprünglichen Poster
Beiträge und Antworten
Einzelne Beiträge innerhalb von Themen verwenden das Comment-Schema, einschließlich:
author– Beitragsautor mit Name und Profil-Linktext– Der BeitragsinhaltdatePublishedunddateModified– Erstellungs- und BearbeitungszeitstempelinteractionStatistic– Like-Anzahl unter Verwendung vonInteractionCountermitLikeAction-Typ
Breadcrumbs
Die Kategoriennavigation verwendet das BreadcrumbList-Schema, das in Suchergebnissen erscheint und den Pfad der Kategoriehierarchie anzeigt. Jeder Breadcrumb enthält:
itemListElement– Einzelne Kategorie-Linksposition– Reihenfolge in der Hierarchie- Kategorie-Farben zur visuellen Unterscheidung
Kategorien und Themenlisten
Kategorienseiten und Themenlistenansichten verwenden das ItemList-Schema:
- Geordnet mit
ItemListOrderDescendingfür chronologische Sortierung - Enthält Positions-Metadaten für jedes Element
- Hilft Suchmaschinen, die Inhaltsstruktur und -hierarchie zu verstehen
Homepage
Die Site-Homepage enthält JSON-LD-strukturierte Daten für WebSite mit SearchAction, wodurch die Google-Suchbox direkt in den Suchergebnissen für Ihre Site angezeigt wird.
Über-Seite
Ihre Über-Seite verwendet das About-Seitenschema mit Organization-Informationen, was Suchmaschinen hilft, die Identität und den Zweck Ihrer Community zu verstehen.
Sitemap
Discourse integriert einen Sitemap-Index unter /sitemap.xml, der standardmäßig über die Einstellung enable sitemap aktiviert ist. Dies erleichtert die Indexierung durch Suchmaschinen. Es gibt auch andere Sitemaps:
- Aktuelle Sitemap (
/sitemap_recent.xml) – Themen, die in den letzten 3 Tagen aktualisiert wurden (1 Stunde gecacht) - News-Sitemap (
/news.xml) – Themen, die in den letzten 72 Stunden im Google News-Format aktualisiert wurden (5 Minuten gecacht), nützlich für nachrichtenorientierte Communities - Paginierte Sitemaps – Vollständiges Verzeichnis der Themen, auf Seiten aufgeteilt (24 Stunden gecacht)
Sitemaps werden stündlich von einem geplanten Job automatisch neu generiert und enthalten Zeitstempel der letzten Änderung. Sie können die Anzahl der Themen pro Sitemap-Seite über die Einstellung sitemap_page_size konfigurieren (Standard: 10.000).
Web-Crawler
Web-Crawler, auch bekannt als Robots oder Bots, sind für das Indexieren von Webseiten und die Auffindbarkeit Ihres Inhalts unerlässlich. Discourse verwendet ausgefeilte Crawler-Erkennung, um optimierte Inhalte bereitzustellen und den Bot-Verkehr effektiv zu verwalten.
Crawler-Erkennung
Discourse erkennt und verarbeitet automatisch verschiedene Arten von Crawlern, einschließlich:
- Suchmaschinen: Googlebot, Bingbot, DuckDuckBot und andere
- Soziale Medien: Facebookbot, Twitterbot, LinkedInBot, Discordbot
- KI-Crawler: GPTBot, ClaudeBot, Anthropic-AI, BrightBot
- Archivdienste: Wayback Machine, Archive.org
- Überwachungsdienste: Lighthouse, Google Inspection Tool
Wenn ein Crawler erkannt wird, liefert Discourse optimierte Inhalte und fügt spezielle Antwort-Header hinzu:
X-Discourse-Crawler-View: true– Zeigt Crawler-optimierte Inhalte anLast-Modified-Header – Ermöglicht effizientes erneutes Crawlen
Verwaltung des Crawler-Verkehrs
Einige Crawler können übermäßig enthusiastisch sein und Ihr Forum mit vielen Anfragen bombardieren. Discourse bietet mehrere Einstellungen zur Verwaltung des Crawler-Verhaltens:
blocked_crawler_user_agents– Blockieren Sie bestimmte Crawler vollständig (Standard-Blockliste enthält: mauibot, semrushbot, ahrefsbot, blexbot, seo spider)slow_down_crawler_user_agents– Drosseln Sie Crawler, anstatt sie zu blockieren (Standard enthält KI-Crawler wie GPTBot, ClaudeBot)allowed_crawler_user_agents–
Gefahr: Das Festlegen dieser Einstellung blockiert ALLE Crawler, die nicht explizit aufgelistet sind, einschließlich Googlebot. Verwenden Sie dies nur, wenn Sie das Crawlen auf eine bestimmte Gruppe von Bots beschränken möchten. Es hat Vorrang vor blocked_crawler_user_agents. Lassen Sie es leer, es sei denn, Sie haben einen bestimmten Grund, es zu verwenden.
Automatische noindex-Header
Zusätzlich zur globalen Einstellung allow_index_in_robots_txt fügt Discourse automatisch X-Robots-Tag: noindex-Antwort-Header zu mehreren Seitentypen hinzu:
- Suchseiten – Immer noindexed (Suchergebnisse sind als indizierte Seiten nicht nützlich)
- Badge-Seiten – Immer noindexed
- Gruppenseiten – Immer noindexed
- Benutzerprofilseiten – Immer noindexed
- Tag-Filter-/Schnittmengen-Seiten – Noindexed (Tag-Index- und Anzeigeseiten sind ausgenommen)
- RSS/Atom-Feeds – Immer noindexed
Diese werden auf Controller-Ebene angewendet und sind nicht konfigurierbar. Sie stellen sicher, dass flüchtige, wenig wertvolle oder doppelte Inhaltseiten die Indizes der Suchmaschinen nicht verschmutzen.
Crawler-Analytik
Administratoren können die Crawler-Aktivität unter Admin → Berichte → Web-Crawler überwachen, um zu sehen, welche Bots auf Ihre Site zugreifen und wie häufig.
Zusätzliche SEO-Funktionen
KI-Crawler-Leitfaden durch llms.txt
Discourse unterstützt die llms.txt-Konvention, die eine standardisierte Methode zur Steuerung von LLM-basierten Crawlern (wie denen, die von KI-Assistenten verwendet werden) bezüglich des Inhalts und der Struktur Ihrer Site bietet.
Um es zu aktivieren:
- Bereiten Sie eine
.txt- oder.md-Datei (max. 512 KB) vor, die Ihre Site für LLM-Crawler beschreibt - Laden Sie sie über die Site-Einstellung
llms_txthoch (Admin → Einstellungen → Sicherheit) - Sie wird unter
https://yourforum.com/llms.txtbereitgestellt
Die
llms.txtunterscheidet sich vonrobots.txtund ist speziell dafür entwickelt, LLM-basierte Crawler zu leiten. Anstatt Zugriffsregeln bereitzustellen, bietet sie semantischen Kontext…sie beschreibt, was Ihre Site ist, welchen Inhalt sie enthält und wie ein KI-Assistent sie verstehen und verwenden sollte. Denken Sie anrobots.txtals etwas, das Bots sagt „wo sie hingehen können“, und anllms.txtals etwas, das KI sagt „was sie betrachtet und warum es wichtig ist“.
OpenSearch-Integration
Discourse bietet eine OpenSearch-Beschreibung unter /opensearch.xml, die die Browser-Suche-Integration ermöglicht. Benutzer können Ihr Forum direkt zur Liste der Suchmaschinen in ihrem Browser hinzufügen.
RSS-Feeds
Jedes Thema hat einen RSS-Feed unter /t/{slug}/{id}.rss verfügbar, der Folgendes enthält:
- Themennamen und Beschreibung
- Alle Beiträge/Antworten mit Autorinformationen
- Veröffentlichungsdaten und letzte Aktualisierungszeiten
- Kategorien und Tags
Hinweis: RSS-Feed-Pfade (
/t/*/*.rss,/c/*.rss) sind in robots.txt für den allgemeinen*-Wildcard-Agent verboten, um die Indexierung doppelter Inhalte durch die meisten Crawler zu verhindern. Googlebot ist ausdrücklich von dieser Einschränkung ausgenommen und kann auf RSS-Feeds zugreifen.
Google-Site-Verifizierung
Verwenden Sie die Einstellung google_site_verification_token, um Google Search Console-Verifizierungs-Meta-Tags hinzuzufügen, ohne Themenvorlagen bearbeiten zu müssen.
Progressive Web App (PWA)
Discourse generiert ein Web-App-Manifest unter /manifest.json für die Entdeckung mobiler Apps und Installationsaufforderungen.
Migrationen und URL-Umleitungen
Die Permalink-Funktion wird verwendet, um alte URLs umzuleiten, mit dem Ziel, SEO zu erhalten, “Seite nicht gefunden”-Fehler zu verhindern und Suchmaschinen mit den richtigen Metadaten für eine einfachere Indexierung zu unterstützen.
Wenn Ihre Community-Site von unserem Team zu Discourse migriert wird, sind die URL-Umleitungen enthalten, es sei denn, es gibt gültige Gründe, dies nicht zu tun.
Wenn Sie eines der bestehenden Import-Skripts verwenden, sollten Sie sicherstellen, dass das Skript dies behandelt[2]. Sie können Permalinks manuell über Ihr Admin-Panel unter Anpassen → Permalinks hinzufügen.
De-Indexierungsmethoden
Um Seiten aus Googles Index zu entfernen, können Sie entweder Inhalte entfernen oder den Zugriff auf eine Seite blockieren. Je nach Ihren Anforderungen können Sie Ihre gesamte Site privat machen[3]. Sie können Themen ausschließen, indem Sie sie löschen oder in eingeschränkten Kategorien platzieren. Versteckte Themen werden standardmäßig nicht indiziert, können aber indiziert werden, wenn es irgendwo einen öffentlichen Link gibt, der darauf verweist.
Für eine dauerhafte Entfernung ist die Verwendung des Removals-Tools in der Google Search Console der Schlüssel, um Seiten aus den Suchergebnissen fernzuhalten. Erfahren Sie mehr unter Remove information on your website from Google - Search Console Help




