Skip to content

Bild-Sitemaps

Wenn Bilder einbeziehen aktiv ist, ergänzt FG Sitemap Post-/Page-/CPT-Einträge um das Google-Image-Sitemap-Namespace und <image:image>-Elemente.

Das vollständige Beitragsbild wird über get_the_post_thumbnail_url(..., 'full') ermittelt.

In post_content werden <img>-Tags gesucht. Aus jedem gefundenen Tag werden folgende Attribute ausgewertet:

  • src
  • data-src
  • data-lazy-src

srcset wird nicht separat ausgewertet.

Wenn get_field_objects() vorhanden ist und die ACF-Auswertung nicht per Filter deaktiviert wurde, werden unterstützte ACF-Feldstrukturen rekursiv geprüft.

Direkt behandelt werden:

  • Image
  • Gallery
  • WYSIWYG
  • Group
  • Repeater
  • Flexible Content

Verschachtelte Subfields werden ebenfalls durchlaufen, soweit ihre Felddefinition und ihr Wert in der von ACF gelieferten Struktur verfügbar sind.

Image-Werte können als Attachment-ID, URL oder ACF-Array mit ID/URL verarbeitet werden.

Bei mindestens einem Bild ergänzt die URL-Sitemap:

<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">

Für jedes Bild wird nur die URL ausgegeben:

<image:image>
<image:loc>https://cdn.example.com/image.jpg</image:loc>
</image:image>

Bildtitel, Bildunterschriften oder Lizenzelemente werden vom aktuellen Code nicht erzeugt.

Bild-URLs werden auf absolute HTTP-/HTTPS-URLs normalisiert. Unterstützt werden dabei auch:

  • root-relative Pfade
  • relative Pfade
  • protokollrelative URLs mit //

Die finale URL wird nach WordPress-URL-Filtern erneut als absolute URL zusammengesetzt. Benutzername, Passwort und URL-Fragment werden dabei nicht ausgegeben.

Normale <loc>-URLs müssen zur WordPress-Home-URL gehören. Für <image:loc> gibt es diese Host-Beschränkung nicht.

Damit können Bilder von externen HTTP-/HTTPS-CDNs in der Bild-Sitemap erscheinen.

Pro Seiten-URL werden maximal 1.000 eindeutige Bild-URLs ausgegeben.

Der Filter fg_sitemap_wp_post_images kann weitere tatsächlich verwendete Bild-URLs bereitstellen.

add_filter('fg_sitemap_wp_post_images', function (array $images, int $post_id, string $page_url): array {
$images[] = 'https://cdn.example.com/zusaetzliches-bild.jpg';
return $images;
}, 10, 3);
add_filter('fg_sitemap_wp_include_acf_images', '__return_false');

Der Filter erhält im aktuellen Code zusätzlich die Post-ID als zweiten Parameter. Wer diesen Parameter verwenden möchte, muss die entsprechende Anzahl akzeptierter Argumente registrieren.