Leitfaden

Discovery

Aktiviere `robots.txt` und `sitemap.xml` nur, wenn die Anwendung sie wirklich braucht.

robots.txt und sitemap.xml aktivieren

Discovery ist optional. Konfiguriere robots.txt und sitemap.xml in app/Config/Discovery.yaml, wähle Stream- oder Cache-Modus und setze eine explizite Base URL.

example.php
module: discovery
config:
  robots:
    enabled: true
    route: /robots.txt
  sitemap:
    enabled: true
    route: /sitemap.xml
    mode: stream
    routes:
      - home.index

Sitemap-Einträge aus Routen

Füge für stabile Seiten benannte Routen zur Sitemap-Konfiguration hinzu. Übergib Parameter explizit, wenn eine Route ein konkretes kanonisches Beispiel benötigt.

example.php
module: discovery
config:
  sitemap:
    routes:
      - home.index
      - name: articles.detail
        params:
          id: 123

Sitemap-Einträge aus Providern

Wenn Sitemap-Einträge aus Anwendungsdaten entstehen, ergänze eine Implementierung von SitemapProviderInterface.

example.php
<?php

use Lemonade\Framework\Discovery\Sitemap\SitemapProviderInterface;
use Lemonade\Framework\Discovery\Sitemap\SitemapUrl;

final class ArticleSitemapProvider implements SitemapProviderInterface
{
    public function urls(): iterable
    {
        yield SitemapUrl::create(
            loc: '/articles/example',
            changefreq: 'weekly',
            priority: 0.8,
        );
    }
}