SEO/GEO-Basics: Descriptions & Titles normalisiert, Outline-Fixes, CLS-Maße
Audit aller 23 indexierbaren Routen (lokaler Crawl) und Fixes: - Descriptions auf ~130-160 Zeichen; Turnen-Disziplinseiten hatten den kurzen Hero-Teaser als Description, jetzt eigene SERP-Texte - Titles: team-erste gekürzt, sportheimbuchung ohne doppelten Brand - h1->h3-Sprünge behoben: visually-hidden h2 aus JSON-Section-Titeln (sportheimbuchung, partner-werden), sichtbarer choice.title auf mitglied-werden; historie bekommt Breadcrumb-Schema - Neuer Helper img_intrinsic_attrs() liefert width/height aus der Bilddatei (PNG via getimagesize, SVG via viewBox) für Partner-Grid- und Banner-Slider-Logos — kein Layout-Shift mehr Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -72,7 +72,7 @@ $total = count($banners);
|
||||
<li class="<?= e($classes) ?>"<?= $style ?> data-carousel-slide role="group" aria-roledescription="Folie" aria-label="<?= ($i + 1) ?> von <?= $total ?>"<?= $i === 0 ? '' : ' hidden' ?>>
|
||||
<?php if (!empty($banner['logo'])): ?>
|
||||
<div class="ad-banner__logo<?= !empty($banner['logo_light']) ? ' ad-banner__logo--light' : '' ?>">
|
||||
<img src="<?= e(asset($banner['logo'])) ?>" alt="<?= e($banner['company'] ?? $banner['title']) ?>" loading="lazy" decoding="async">
|
||||
<img src="<?= e(asset($banner['logo'])) ?>" alt="<?= e($banner['company'] ?? $banner['title']) ?>"<?= img_intrinsic_attrs($banner['logo']) ?> loading="lazy" decoding="async">
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="ad-banner__content">
|
||||
|
||||
Reference in New Issue
Block a user