サポート » 使い方全般 » XMLサイトマップからnoindexページを除外したい

  • 解決済 river

    (@jpairb)


    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″>&#8217; . “\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=&#8217; . esc_url( home_url(‘/’) ) . ‘sitemap.xml’);
    }
    }

    • このトピックはriverが5年、 4ヶ月前に変更しました。
    • このトピックはriverが5年、 4ヶ月前に変更しました。
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 river

    (@jpairb)

    すみません、投稿後にこの質問はテーマによってコードが違ってくることがわかりました。
    別の方法で解決策を探したいと思います。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「XMLサイトマップからnoindexページを除外したい」には新たに返信することはできません。