feat: intégration plugin Kirby SEO
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s

- Ajout de tobimori/kirby-seo via Composer
- snippet('seo/head') dans header.php (remplace les meta manuels)
- snippet('seo/schemas') dans footer.php pour JSON-LD
- Onglet SEO ajouté dans site.yml et tous les blueprints de pages
- Configuration SEO dans config.php (sitemap, robots, canonicalBase TODO)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
isUnknown 2026-03-25 12:59:18 +01:00
parent baab2fb3a1
commit 58c31ea391
133 changed files with 9201 additions and 253 deletions

View file

@ -0,0 +1,41 @@
<?php
namespace tobimori\Seo\Buttons;
use Kirby\Cms\Page;
use Kirby\Panel\Ui\Buttons\ViewButton;
use Kirby\Toolkit\I18n;
use Kirby\Toolkit\Str;
class RobotsViewButton extends ViewButton
{
public function __construct(Page $model)
{
$robots = $model->robots();
$theme = 'positive-icon';
$icon = 'robots';
$text = I18n::translate('seo.fields.robots.indicator.index');
if (Str::contains($robots, 'no') && !Str::contains($robots, 'noindex')) {
$theme = 'notice-icon';
$icon = 'robots-off';
$text = I18n::translate('seo.fields.robots.indicator.any');
}
if (Str::contains($robots, 'noindex')) {
$theme = 'negative-icon';
$icon = 'robots-off';
$text = I18n::translate('seo.fields.robots.indicator.noindex');
}
parent::__construct(
model: $model,
icon: $icon,
text: $text,
theme: $theme,
link: $model->panel()->url() . '?tab=seo',
responsive: true
);
}
}