In dit artikel beschrijf ik hoe je de afbeeldinglinks in de XML Sitemap van de WordPress SEO plugin veranderd. Meest gebruikelijke scenario om dit te doen is als je een CDN (Content Delivery Network) gebruikt en de afbeeldingen dus via een CDN URL geladen worden.
Standaard wordt de oorspronkelijke afbeeldingslink gebruik voor de sitemap:
Met het gebruik van een CDN voor mijn afbeeldingen, wordt er in mijn HTML gelinkt naar de CDN URL’s van de afbeeldingen:
De oplossing is de oorspronkelijk URL aan te passen naar de CDN URL via de wpseo_xml_sitemap_img_src
filter, te vinden in WordPress SEO API docs.
Onderstaande code, ontleent aan de CDN Images in Sitemap hulpvraag op WordPress.org, moet je plaatsen in het functions.php
van je WordPress thema.
function wpseo_cdn_filter( $uri ) {
return str_replace( 'http://example.com', 'http://cdn.example.com', $uri );
}
add_filter( 'wpseo_xml_sitemap_img_src', 'wpseo_cdn_filter' );
Trussel zegt
Hoe zou je deze code aanpassen wanneer content via meerdere subdomains wordt aangeboden (cdn1.domain.com, cdn2.domain.com,…)?
Google lijkt trouwens prima overweg te kunnen met de oude, niet-CDN URL’s van afbeeldingen. Is het wel nodig om dit te gaan doen?
Willem-Siebe Spoelstra zegt
Hoi Trussel, laat ik beginnen met je laatste vraag: is het wel nodig dit te gaan doen? In het algemeen: als door het gebruik van een CDN dezelfde afbeelding niet meer bereikbaar is via één afbeeldinglink maar via twee of meerdere afbeeldinglinks, dan creëer je duplicate content. Google is meestal goed in staat om zelf duplicate content problemen op te lossen door zelf te besluiten welke URL opgenomen wordt in de zoekresultaten. Als jij echter in je HTML broncode linkt naar de CDN afbeeldinglinks en in je sitemap naar de oorspronkelijke afbeeldinglinks dan geef je Google ‘mixed signals’. Beide methodes zijn namelijk een manier om Google te vertellen welke URL jij graag in de zoekresultaten wilt hebben. Ik leg dit uitgebreid uit in mijn artikel Afbeeldingen via CDN, duplicate content oplossingen, zie de uitleg onder oplossing 2 en oplossing 3. Dan je tweede vraag, dat is inderdaad een lastige. Als je in de HTML linkt naar verschillende CDN afbeeldinglinks (cdn1.domain.com, cdn2.domain.com etc.) dan betwijfel ik of je dit ook voor elkaar krijgt in de XML Sitemap besproken in dit artikel. Ik weet in ieder geval niet hoe, dus mocht het jou uiteindelijk wel lukken deel dan vooral de oplossing met ons!