Руководство

Discovery

Включайте `robots.txt` и `sitemap.xml` только когда они действительно нужны приложению.

Включите robots.txt и sitemap.xml

Discovery необязательно. Настройте robots.txt и sitemap.xml в app/Config/Discovery.yaml, выберите режим stream или cache и задайте явную 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 из маршрутов

Для стабильных страниц добавьте именованные маршруты в конфигурацию sitemap. Передавайте параметры явно, когда маршруту нужен конкретный canonical пример.

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

Элементы sitemap из провайдеров

Если элементы sitemap формируются из данных приложения, добавьте реализацию 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,
        );
    }
}