-
投稿者投稿
-
2018年12月11日 10:05 AM #7674
【Snow Monkey のバージョン】v4.4.30
度々の質問で恐縮です。いつもご丁寧な対応ありがとうございます。function.phpにコードを記載して作成しているXMLサイトマップから、noindex(SEO/Meta robots)のチェックボックスにチェックを入れたページを除外できないでしょうか。
サイトの内容上、中身が少ないページが多数あり、 noindexを付けてアップしていますが、サーチコンソールにて「送信されたURLにnoindexタグが追加されています」とのエラーが大量になってしまいました。
テーマの範囲外の内容だと思い、php全般のフォーラムに質問しましたが、テーマの機能としてあるnoindexタグはテーマによって対応が違う言われました。
もし可能であれば、除外するコードをどのように追加するとよいかご教示いただけませんでしょうか。
PHP知識は少なく、コード(下記)はネット情報を元に記載しました。(ちょっと長いのでコードパッドにコピーしましたが、このやり方でよかったでしょうか)
▼function.phpのコード♥ 0いいねをした人: 居ません2018年12月11日 10:47 AM #7675上記のコードを試したわけではないのでちょっと間違いがあるかもしれませんが、こんな感じのコードで参考になりませんでしょうか?
foreach( $posts_array as $post ) { // ここから追加 $meta_robots = get_post_meta( $post->ID, 'wp-seo-meta-robots', true ); $meta_robots = apply_filters( 'wp_seo_meta_robots', $meta_robots ); if ( ! $meta_robots || in_array( 'noindex', $meta_robots ) ) { continue; } // ここまで追加 $post_modified = explode(' ', $post->post_modified);
♥ 0いいねをした人: 居ません2018年12月11日 4:01 PM #7703コードを追加し、ページを適当に更新、サイトマップをサーチコンソールにて確認しましたが、なぜかnofollowにチェックしたページだけ送信されていました。(noindexだけでなく、nofollow以外の全てのページがサイトマップに載っていませんでした。)
どこか違っていたのでしょうか。
お手数ですが、よろしくお願いいたします。
▼コード加えたfunction.php♥ 0いいねをした人: 居ません2018年12月11日 4:17 PM #7704あ、そうか、間違いました、wp-seo-meta-robots まで弾いてました。
こうですね。
foreach( $posts_array as $post ) { // ここから追加 $meta_robots = get_post_meta( $post->ID, 'wp-seo-meta-robots', true ); $meta_robots = apply_filters( 'wp_seo_meta_robots', $meta_robots ); if ( $meta_robots && in_array( 'noindex', $meta_robots ) ) { continue; } // ここまで追加 $post_modified = explode(' ', $post->post_modified);
♥ 0いいねをした人: 居ません2018年12月11日 4:33 PM #7708うまくいきました! たいへん助かりました。ありがとうございました。
トピック閉じます。♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「noindexタグとXMLサイトマップについて」には新しい返信をつけることはできません。