Vorschaubild beim Teilen, robots.txt als Bot-Steuerung
Das Feld "Vorschaubild beim Teilen" gab es seit dem SEO-Paket, ausgegeben wurde es nie: keine mit KantSites gebaute Seite hatte ein og:image. Es wird jetzt aufgeloest - erst das gesetzte Vorschaubild, sonst das Beitragsbild - als absolute Adresse bis 1600 px, dazu og:site_name, og:locale, og:image:alt und twitter:card (klein ohne Bild, gross mit). Dasselbe Bild steht im strukturierten Datensatz eines Beitrags; Archive haben jetzt ebenfalls Open-Graph-Angaben. Eigene robots.txt-Zeilen: 200 statt 30, und Leerzeilen bleiben als Trenner erhalten - Regeln je Bot (welche KI-Crawler lesen duerfen) brauchen Bloecke, nicht einen Klumpen. Behoben: die Symbolerzeugung suchte feste Breiten statt der Varianten, die das Bild wirklich hat - ein 192 px grosses Zeichen, also der haeufigste Fall, scheiterte damit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f2ef2a4901
commit
35d8270afd
10 files changed
+137
-10
No files matched your search
@@ -203,9 +203,13 @@ final class MediaLibrary
|
||||
*/
|
||||
public function renderFavicon(string $mediaId): void
|
||||
{
|
||||
// Ueber die Varianten, die dieses Bild tatsaechlich hat, nicht ueber die vier Regelbreiten:
|
||||
// ein 192 px breites Zeichen hat genau eine Variante mit 192 - und die Suche nach 480
|
||||
// ging ins Leere. Genau so ein quadratisches Zeichen ist der haeufigste Fall.
|
||||
$item = $this->find($mediaId);
|
||||
$source = null;
|
||||
foreach (array_reverse(self::WIDTHS) as $width) {
|
||||
$path = $this->file($mediaId, $width);
|
||||
foreach (array_reverse($item['variants'] ?? []) as $variant) {
|
||||
$path = $this->file($mediaId, $variant['width']);
|
||||
if (null !== $path) {
|
||||
$source = @imagecreatefromwebp($path);
|
||||
break;
|
||||
|
||||
Reference in new issue
Block a user