XMLサイトマップからnoindexページを除外したい
-
XMLサイトマップの送信についての質問です。
function.phpに下記コードを記載して、記事更新時に自動的にサイトマップが送信されるようにしています。
サイトにお客様からの寄稿を多数掲載してるのですが、非常に短い文章など、中身が薄いものにnoindexを付けています。その結果、サーチコンソールにて「送信された URL に noindex タグが追加されています」とのエラーが大量になってしまいました。
そのため、最初からnoindexを除外して送信したいのですが、可能でしょうか。ページ数が多く、これからも増えるため、ページIDではなく、noindexのページを自動的に除外できるとありがたいです。
phpの知識が少なく、コードはネットの情報を元に記載しています。
コードの追加方法など分かる方いらっしゃいましたらご教示お願いいたします。▼function.php記載内容(これに投稿ステータスによりマップが作成される記載を加えています)
function create_xml_sitemap() {$sitemap = ‘<?xml version=”1.0″ encoding=”UTF-8″?>’ . “\n” .
‘<urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>’ . “\n”;$args = array(
‘posts_per_page’ => -1,
‘orderby’ => ‘modified’,
‘order’ => ‘DESC’,
‘post_type’ => array(‘post’,’page’,’news’),
‘post_status’ => ‘publish’
);
$posts_array = get_posts( $args );
foreach( $posts_array as $post) {
$post_modified = explode(‘ ‘, $post->post_modified);
$sitemap .=
“\t” . ‘<url>’ . “\n” .
“\t\t” . ‘<loc>’ . get_permalink( $post->ID ) . ‘</loc>’ . “\n” .
“\t\t” . ‘<lastmod>’ . $post_modified[0] . ‘</lastmod>’ . “\n” .
“\t\t” . ‘<changefreq>weekly</changefreq>’ . “\n” .
“\t\t” . ‘<priority>0.8</priority>’ . “\n” .
“\t” . ‘</url>’ . “\n”;
}
$sitemap .= ‘</urlset>’ . “\n”;$fh = fopen( ABSPATH. “sitemap.xml”, ‘w’ );
if ($fh) {
fwrite($fh, $sitemap);
fclose($fh);
// グーグルに更新したことを通知
ping_trans( ‘http://google.com/ping?sitemap=’ . esc_url( home_url(‘/’) ) . ‘sitemap.xml’);
}
}
- トピック「XMLサイトマップからnoindexページを除外したい」には新たに返信することはできません。