SEO für Knowledge-Base-Inhalte
SEO-Metadaten für Knowledge-Base-Seiten und Artikel definieren und automatisch für Seitenkopf und Sitemap verwenden.
SEO für Knowledge-Base-Inhalte
Knowledge Bases können eigene SEO-Definitionen für Seiten und Artikel verwenden.
Die SEO-Definitionen werden als JSON-Dateien direkt neben den jeweiligen Inhalten abgelegt. Beim Start der Anwendung werden diese automatisch geladen.
Die Definitionen werden anschließend für:
- den
<head>der Seite - den Seitentitel
- die Meta Description
- Canonical URLs
- Open Graph
- JSON-LD
- die Sitemap
- Sprachalternativen über
hreflang
verwendet.
SEO-Dateien
Für mehrsprachige Inhalte wird für jede Sprache eine eigene SEO-Datei angelegt.
Bei einer Knowledge-Base-Seite wie phishing sieht die Struktur beispielsweise so aus:
Content/
└── Knowledge/
└── Phishing/
├── seo.de.json
├── seo.en.json
├── suspicious-emails.md
├── suspicious-emails.de.seo.json
└── suspicious-emails.en.seo.json
Die Dateinamen folgen dabei diesen Regeln.
Knowledge-Base
seo.<language>.json
Beispiele:
seo.de.json
seo.en.json
Artikel
<article-id>.<language>.seo.json
Beispiele:
suspicious-emails.de.seo.json
suspicious-emails.en.seo.json
SEO-Format
Eine SEO-Definition verwendet Schema.org als Grundlage.
Beispiel:
seo.de.md â–º seo.de.seo.json
{
"@context": "https://schema.org",
"@type": "Article",
"language": "de",
"key": "knowledge/de/HowTo/seo",
"groupKey": "knowledge/HowTo/seo",
"headline": "SEO für Knowledge-Base-Inhalte",
"description": "Erfahren Sie, wie SEO-Metadaten für Knowledge-Base-Seiten und Artikel definiert und automatisch für Seitenkopf, strukturierte Daten und Sitemap verwendet werden.",
"url": "https://robin-peters.dev/knowledge/de/HowTo/seo",
"author": {
"@type": "Person",
"name": "Robin Peters",
"url": "https://robin-peters.dev/"
},
"publisher": {
"@type": "Person",
"name": "Robin Peters",
"url": "https://robin-peters.dev/"
},
"inLanguage": "de",
"keywords": [
"SEO",
"Knowledge Base SEO",
"Knowledgebase SEO",
"SEO Metadaten",
"SEO JSON",
"Schema.org",
"JSON-LD",
"Sitemap",
"hreflang",
"mehrsprachige Webseiten",
"SEO für Artikel",
"Suchmaschinenoptimierung"
]
}
Eigenschaften
@context
Gibt den verwendeten Schema.org-Kontext an.
"@context": "https://schema.org"
Dieser Wert sollte normalerweise nicht verändert werden.
@type
Definiert den Typ des Inhalts.
"@type": "Article"
Für Knowledge-Base-Inhalte kann beispielsweise Article verwendet werden.
language
Gibt die Sprache der SEO-Definition an.
"language": "de"
Beispiele sind de und en.
key
Der eindeutige Schlüssel der konkreten Seite.
"key": "knowledge/de/phishing"
Bei einem Artikel kann der Schlüssel beispielsweise so aussehen:
"key": "knowledge/de/phishing/suspicious-emails"
Der Key muss innerhalb der Knowledge Base eindeutig sein.
groupKey
Der groupKey verbindet verschiedene Sprachversionen derselben Seite.
Die deutsche Version verwendet beispielsweise:
"groupKey": "knowledge/phishing"
Die englische Version verwendet denselben Wert:
"groupKey": "knowledge/phishing"
Die konkreten key-Werte unterscheiden sich dagegen:
knowledge/de/phishing
knowledge/en/phishing
Der groupKey bleibt gleich.
Dadurch kann die Anwendung automatisch erkennen, dass beide Seiten zusammengehören und entsprechende hreflang-Verweise erzeugen.
Für einen Artikel kann der groupKey beispielsweise so aussehen:
"groupKey": "knowledge/phishing/suspicious-emails"
headline
Der Titel der Seite.
"headline": "Phishing erkennen"
Der Wert wird unter anderem für den HTML-<title> und Open Graph verwendet.
Der Titel sollte den Inhalt der Seite möglichst präzise beschreiben.
description
Eine kurze Beschreibung des Inhalts.
"description": "Erfahren Sie, wie Sie Phishing erkennen und sich vor Phishing-Angriffen schützen."
Die Beschreibung sollte den tatsächlichen Inhalt der Seite zusammenfassen und relevante Suchbegriffe natürlich enthalten.
url
Die öffentliche URL der Seite.
"url": "https://robin-peters.dev/knowledge/de/Phishing"
Diese URL wird unter anderem als Canonical URL und für die Sitemap verwendet.
Die URL muss der tatsächlich erreichbaren öffentlichen URL entsprechen.
author
Der Autor des Inhalts.
"author": {
"@type": "Person",
"name": "Robin Peters",
"url": "https://robin-peters.dev/"
}
publisher
Der Herausgeber des Inhalts.
"publisher": {
"@type": "Person",
"name": "Robin Peters",
"url": "https://robin-peters.dev/"
}
inLanguage
Die Sprache des eigentlichen Inhalts.
"inLanguage": "de"
Sie sollte mit language übereinstimmen.
keywords
Relevante Suchbegriffe für den Inhalt.
"keywords": [
"Phishing",
"Phishing erkennen",
"verdächtige E-Mails",
"Cybersecurity"
]
Die Keywords werden als Bestandteil der strukturierten Daten verwendet.
Es ist nicht notwendig, jedes mögliche Suchwort aufzunehmen. Relevante und zum Inhalt passende Begriffe sind sinnvoller.
Mehrsprachige Inhalte
Für jede Sprache wird eine eigene SEO-Datei angelegt.
Beispiel:
Phishing/
├── seo.de.json
└── seo.en.json
Beide Definitionen haben unterschiedliche key- und Sprachwerte:
knowledge/de/phishing
knowledge/en/phishing
Der groupKey ist identisch:
knowledge/phishing
Dadurch kann die Anwendung die Sprachversionen automatisch miteinander verknüpfen.
Artikel
Artikel verwenden dieselbe Struktur.
Beispiel:
Phishing/
├── suspicious-emails.md
├── suspicious-emails.de.seo.json
└── suspicious-emails.en.seo.json
Die deutsche Definition verwendet:
"key": "knowledge/de/phishing/suspicious-emails"
"groupKey": "knowledge/phishing/suspicious-emails"
Die englische Definition verwendet:
"key": "knowledge/en/phishing/suspicious-emails"
"groupKey": "knowledge/phishing/suspicious-emails"
Der groupKey verbindet beide Artikel miteinander.
Sitemap
SEO-Definitionen werden automatisch für die Sitemap verwendet.
Eine Seite wird in die Sitemap aufgenommen, sobald eine gültige SEO-Definition mit einer url vorhanden ist.
Die Sitemap muss dadurch nicht manuell gepflegt werden.
Bei mehrsprachigen Seiten werden anhand des groupKey automatisch die verfügbaren Sprachalternativen erkannt und als hreflang-Links in der Sitemap ausgegeben.
Eine neue öffentlich zugängliche Seite benötigt daher lediglich eine passende SEO-Definition.
Zusammenfassung
Für eine mehrsprachige Knowledge-Base-Seite:
seo.de.json
seo.en.json
Für einen mehrsprachigen Artikel:
article.de.seo.json
article.en.seo.json
Dabei gilt:
key = konkrete Seite
groupKey = gemeinsame Seite über mehrere Sprachen
language = Sprache der Definition
url = öffentliche URL
Die SEO-Dateien werden automatisch geladen und müssen nicht zusätzlich in einer zentralen Konfiguration registriert werden.