feat: intégration plugin Kirby SEO
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s
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:
parent
baab2fb3a1
commit
58c31ea391
133 changed files with 9201 additions and 253 deletions
27
site/plugins/kirby-seo/snippets/head.php
Normal file
27
site/plugins/kirby-seo/snippets/head.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @var \Kirby\Cms\Page $page
|
||||
*/
|
||||
|
||||
use Kirby\Cms\Html;
|
||||
|
||||
$tags = $page->metadata()->snippetData();
|
||||
|
||||
// if we're using slots, the user wants to output priority tags such as <title>
|
||||
// before their stylesheet, script, etc. tags
|
||||
if (isset($slot)) {
|
||||
foreach (array_filter($tags, fn ($tag) => $tag['priority']) as $tag) {
|
||||
echo Html::tag($tag['tag'], $tag['content'] ?? null, $tag['attributes'] ?? []) . PHP_EOL;
|
||||
}
|
||||
|
||||
echo $slot;
|
||||
|
||||
$tags = array_filter($tags, fn ($tag) => !$tag['priority']);
|
||||
}
|
||||
|
||||
// then output other tags as normal
|
||||
// this is unfiltered if slots is not set.
|
||||
foreach ($tags as $tag) {
|
||||
echo Html::tag($tag['tag'], $tag['content'] ?? null, $tag['attributes'] ?? []) . PHP_EOL;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue