The snippet below is a modification to Yoast’s excellent WordPress SEO plugin to include custom post type archives to the XML sitemaps it produces. Hope you find it useful.
$post_type_archive_link = get_post_type_archive_link($post_type); if ($post_type_archive_link) { $url = array(); $url['loc'] = $post_type_archive_link; $url['pri'] = 0.8; $url['chf'] = 'weekly'; $this->write_sitemap_loc( $f, $url, $echo ); }
Just add this snippet inside wp-content/plugins/wordpress-seo/sitemaps/xml-sitemap-class.php
inside the function generate_sitemap. The code should go just inside the loop through the custom post types, e.g. after this chunk:
if ( isset($options['post_types-'.$post_type.'-not_in_sitemap']) && $options['post_types-'.$post_type.'-not_in_sitemap'] ) continue; if ( in_array( $post_type, array('revision','nav_menu_item','attachment') ) ) continue;
Once you’ve added the code – just rebuild your Sitemap by visiting Seo » Dashboard » (Re)build XML Sitemap.