こんにちゎ。
私の場合、SEO関連のプレグイン+function.phpの追加で対応しています。
まずはプラグインは「XML Sitemap Generator for WordPress」と「All in One SEO Pack」で基本は大丈夫だと思いますよ。
「XML Sitemap Generator for WordPress」はSitemap コンテンツって項目の中にカスタム投稿タイプがありますので必要な項目にチェックを入れるとサイトマップにインデックスされます。
All in One SEO Packは「general setting」の中に「カスタム ポストタイプセッティング」がありますのでそこで設定すると良いと思います。
function.phpは以下の様にカスタマイズしてますが、必要なかったら省いてください。
//タグのカスタムポスト追加
add_action( 'pre_get_posts', 'add_post_tag_archive' , 10 , 1);
function add_post_tag_archive( $wp_query ) {
if ($wp_query->is_main_query() && $wp_query->is_tag()) {
$wp_query->set( 'post_type', array( 'post', 'page', 'カスタム投稿タイプ' ));
}
}
//カスタム投稿をシェア
function hoge() {
add_post_type_support( 'post', 'page', 'カスタム投稿タイプ' );
}
add_action( 'init', 'hoge' );
//カスタム投稿をRSSに吐き出す
function custom_post_rss_set( $query ) {
if ( is_feed() ) {
$post_type = $query->get( 'post_type' );
if ( empty( $post_type ) ) {
$query->set( 'post_type', array( 'post', 'page', 'カスタム投稿タイプ' ) );
$query->set( 'orderby' , 'modified');
$query->set( 'order' , 'DESC');
}
return $query;
}
}
add_filter( 'pre_get_posts', 'custom_post_rss_set' );
間違ってたらすみません。
私も最近かじったばかりの素人なので。
SEOとは関係ありませんが、以下の関数をfunctionに追加するとダッシュボードに反映出来ます。
//カスタム投稿を アクティビティに追加
add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
add_action( 'pre_get_posts', 'my_dashboard_site_activity_recent_posts' );
}
function my_dashboard_site_activity_recent_posts( $query ) {
foreach( debug_backtrace() as $trace ) {
if ( $trace['function'] == 'wp_dashboard_recent_posts' ) {
$query->set( 'post_type', array(
'post', 'page', 'カスタム投稿タイプ'
) );
break;
}
}
}
//カスタム投稿を 概要に追加
add_filter( 'dashboard_glance_items', 'mytheme_dashboard_glance_items' );
function mytheme_dashboard_glance_items( $elements ) {
foreach ( array(
'post', 'page', 'カスタム投稿タイプ'
) as $post_type ) {
$num_posts = wp_count_posts( $post_type );
if ( $num_posts && $num_posts->publish ) {
$post_type_object = get_post_type_object($post_type);
$post_type_label = $post_type_object->label;
$text = number_format_i18n( $num_posts->publish ).'件の '.$post_type_label.'の投稿';
$elements[] = sprintf( '<a href="edit.php?post_type=%1$s" class="%1$s-count">%2$s</a>', $post_type, $text );
}
}
return $elements;
}