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>
52 lines
994 B
PHP
52 lines
994 B
PHP
<?php
|
|
|
|
use Kirby\Toolkit\A;
|
|
use tobimori\Seo\Seo;
|
|
|
|
if ($content = Seo::option('robots.content')) {
|
|
if (is_callable($content)) {
|
|
$content = $content();
|
|
}
|
|
|
|
if (is_array($content)) {
|
|
$str = [];
|
|
|
|
foreach ($content as $ua => $data) {
|
|
$str[] = 'User-agent: ' . $ua;
|
|
foreach ($data as $type => $values) {
|
|
foreach ($values as $value) {
|
|
$str[] = $type . ': ' . $value;
|
|
}
|
|
}
|
|
}
|
|
|
|
$content = A::join($str, PHP_EOL);
|
|
}
|
|
|
|
echo $content;
|
|
} else {
|
|
// output default
|
|
echo "User-agent: *\n";
|
|
|
|
$index = Seo::option('robots.index');
|
|
|
|
if ($index) {
|
|
echo 'Allow: /';
|
|
echo "\nDisallow: /panel";
|
|
} else {
|
|
echo 'Disallow: /';
|
|
}
|
|
}
|
|
|
|
if (($sitemap = Seo::option('robots.sitemap')) || ($sitemapModule = Seo::option('sitemap.active'))) {
|
|
|
|
// Use default sitemap if none is set
|
|
if (!$sitemap && $sitemapModule) {
|
|
$sitemap = site()->canonicalFor('/sitemap.xml', true);
|
|
}
|
|
|
|
// Check again, so falsy values can't be used
|
|
if ($sitemap) {
|
|
echo "\n\nSitemap: {$sitemap}";
|
|
}
|
|
}
|