Guía

Discovery

Activa `robots.txt` y `sitemap.xml` solo cuando la aplicación realmente los necesite.

Activa robots.txt y sitemap.xml

Discovery es opcional. Configura robots.txt y sitemap.xml en app/Config/Discovery.yaml, elige modo stream o cache y define una base URL explícita.

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

Entradas de sitemap basadas en rutas

Para páginas estables, añade rutas con nombre a la configuración del sitemap. Proporciona parámetros explícitamente cuando una ruta necesite un ejemplo canonical concreto.

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

Entradas de sitemap desde providers

Cuando las entradas del sitemap procedan de datos de la aplicación, añade una implementación de 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,
        );
    }
}