Ein Wiki privater Natur

Sitemap Generierung

wiki.js fehlt eine automatische Sitemap Generierung

Sitemap für Wiki.js mit wikijs-seo-tools

Ziel

Dieses How-To beschreibt die Integration einer Sitemap in eine Wiki.js-Installation mithilfe des Projekts wikijs-seo-tools. Es behandelt:

Voraussetzungen


API Generierung


wiki-seo-api.png
Im linken Menü in der Admin Oberfläche Punkt 1 finden und bei 2 eintragen, bzw. generieren.

Achtung
Der generierte API Key wird nur einmal gezeigt, also kopieren und in der docker-compose.yml an passender Stelle einfügen!

1. Installation von wikijs-seo-tools

Das Tool wird als separates Node.js-Backend betrieben und greift per API auf Dein Wiki.js zu. Es generiert eine sitemap.xml und eine robots.txt.

[wikijs-seo-tools](https://github.com/zivenyang/wikijs-seo-tools =450x)

Beispielhafter Eintrag in deiner docker-compose.overrid~~e.yml:

services:
  wikijs-seo:
    image: ziven/wikijs-seo-tools:latest
    container_name: wikijs-seo
    restart: always
    environment:
      - WIKIJS_API_URL=https://wiki.example.com/graphql
      - WIKIJS_API_KEY=<<DEIN-API-SCHLÜSSEL>>
      - BASE_URL=https://wiki.example.com
    ports:
      - "8000:8000"

Anpassungen in der vhost vom Apache

oder wie bei mir im Web Interface von IPSConfig machen

ProxyPass /sitemap.xml http://localhost:8000/sitemap
ProxyPassReverse /sitemap.xml http://localhost:8000/sitemap

7. Wie funktioniert die Sitemap-Erzeugung intern?

Im Gegensatz zu vielen anderen Tools, die in regelmäßigen Abständen statische Sitemaps generieren und speichern, arbeitet wikijs-seo-tools on-demand.

🔍 Was bedeutet das konkret?

Immer wenn jemand https://wiki.example.com/sitemap.xml (oder robots.txt) aufruft, passiert Folgendes:

  1. Das SEO-Tool erhält die Anfrage.
  2. Es stellt eine Anfrage an die GraphQL-API von Wiki.js.
  3. Es holt sich die Liste aller veröffentlichten Seiten.
  4. Es baut daraus in Echtzeit eine gültige XML-Sitemap gemäß Google Sitemaps-Protokoll.
  5. Es liefert das Ergebnis sofort zurück.

🚀 Vorteile dieser Lösung

🔧 Bonus-Tipp

Wenn du möchtest, kannst du über den Apache-Reverse-Proxy ein leichtes Caching aktivieren, z. B. für 1 Stunde – das reduziert die API-Last bei vielen Bots oder Crawlern. In den meisten Fällen ist das aber nicht nötig.


📌 Fazit: Dieses kleine Tool macht seinen Job richtig clever – einfach starten, API-Key setzen und schon hast du eine dynamisch aktuelle Sitemap für dein Wiki.js.