Standardowo Yoast eliminuje z sitemapy XML wszystkie podstrony (lub rodzaje stron), które oznaczymy jako niedostępne do indeksacji. Czasami występują jednak specyficzne okoliczności, w których nie chcemy blokować indeksacji danej strony, ale chcemy usunąć ją z sitemapy. Jak to zrobić?
Jak usunąć adres URL z sitemapy XML na WordPress z Yoast?
1. Chcę zachować włączoną indeksację strony, ale chce usunąć ją z sitemapy:
Niestety, przynajmniej w podstawowej wersji wtyczki Yoast SEO, twórcy nie przewidzieli z poziomu kokpitu możliwości wybrania czy dana podstrona ma znaleźć się w mapie strony w formacie XML czy nie. Jak wspomniałem na wstępie, uzależnione jest to od jej ustawień indeksacji przez roboty wyszukiwarki, co prawdopodobnie w 99% okaże się oczywiście poprawnym podejściem (jeżeli nie wiesz jak zmienić ustawienia indeksacji i szukasz odpowiedzi na to pytanie, pomiń ten punkt i sprawdź kolejne akapity). Na szczęście dla tych nielicznych przypadków, twórcy Yoast’a udostępnili taką opcję przy użyciu filtru wpseo_exclude_from_sitemap_by_post_ids, który możemy użyć w pliku functions.php w naszym WordPressowym szablonie, przykładowo jeżeli chcemy wykluczyć strony, których ID to 15 i 219 będzie to wyglądało następująco:
/**
* Excludes posts from XML sitemaps.
*
* @return array The IDs of posts to exclude.
*/
function exclude_posts_from_xml_sitemaps() {
return [ 15, 219 ];
}
add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', 'exclude_posts_from_xml_sitemaps' );
2. Po co te wszystkie filtry?! – nie chce strony ani w indexie Google ani w sitemapie?
W takim przypadku sprawa jest banalnie prosta. Jeżeli chcesz wyłączyć indeksację wszystkich stron danego rodzaju zrobisz to w kokpicie WordPress’a w zakładce: Yoast SEO->Wyszukiwarka. Wybierz rodzaj stron/taxonomii/mediów, któremu chcesz ustawić noindex i przy pytaniu o wyświetlanie w wyszukiwarce wybierz odpowiedź „Nie” np.:
Wyłączyć indeksację możesz również dla pojedynczej podstrony, na stronie jej edycji w ustawieniach Yoast:
Źródło: https://yoast.com/help/sitemap-shows-excluded-posts-pages/
https://developer.yoast.com/features/xml-sitemaps/api/#exclude-specific-posts