WordPressのカスタマイズ方法やプラグインレビューを中心に、パソコン/動物/植物のことなどを紹介するホームページです

【WordPress】便利機能「カスタム投稿タイプ」に投稿を追加しても全くアクセスがないときの確認事項

公開日:2015年12月28日 使い方など

 カスタム投稿タイプが使えるようになって、良い気になっていくつか追加して、そこに記事を追加していましたが、ふと「アクセス全然ない」ということに気づきました。気になってGoogleさまでインデックスの確認したら、いつもの記事なら最悪でも翌日にはインデックスされていたのに1週間前の記事でもノーインデックス、頭の中真っ白になりました。ここは基本に戻ってGoogleさまに記事が追加されたことは伝わっているのか?などいろいろと対応しました。

いろいろ調べてもカスタム投稿タイプの作成記事ばかりで肝心なことは書いてないことが多いと痛感しました。同じ境遇になっている方はぜひ対策してください。

カスタム投稿タイプの問題

 カスタム投稿タイプの機能は「新しく記事の集まりを作る」ということであって、その先は通常の記事のようにやってくれません。検索エンジンへのインデックスを速くするには最低でも「Ping」送信と「検索エンジン向けサイトマップへの記述」が必要になるのですが、そこまではやってくれないのです。要するに、サイトの中にはあるが独立したページとしてしか存在しない、いわゆる「ペラページ」という扱いになってしまうんですね。この状態だと、カスタム投稿タイプに書いた記事へのリンクをたどってしか検索エンジンが巡回してくれないので、インデックスされるには時間がかかるし、HTMLで作ったページと比べてPHPでリクエストに応じて記事内容を吐き出すWordpressは不利には違いがないので、対策をしていく必要があります。

サイトマップにカスタム投稿タイプを追加する

「Google Sitemap Generator」プラグインを使っているのであれば、設定変更は簡単です。「Google Sitemap Generator」の設定画面に行き、画面中ほどに追加されているカスタム投稿タイプをサイトマップに含めるのかという欄にチェックを入れて更新するだけで、検索エンジン向けのサイトマップにちゃんとカスタム投稿タイプの記事が追加されます。これでまずは長い目での検索エンジン対策は完了です。

RSSフィードにカスタム投稿タイプの記事を追加する

ユーザー向けに効果のあるRSSフィードは、もちろん定期閲覧ユーザー向けのものではありますが、これを利用している「まとめ」的な検索エンジンもあります。それらに対応させるためにRSSフィードへカスタム投稿タイプの記事を挿入します。
コードは

// functions.php
function myfeed_request($qv) {
  if (isset($qv['feed']) && !isset($qv['post_type']))
    $qv['post_type'] = array('投稿タイプ名1', '投稿タイプ名2');
  return $qv;
}
add_filter('request', 'myfeed_request');
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします


上記のコードで「投稿タイプ名1」「投稿タイプ名2」のところに投稿タイプの名前(半角英数字)を入れます。もちろん1つだけなら「投稿タイプ名2」のところは削除すればいいし、数が多ければ「, '投稿タイプ名2'」の部分を増やせばOKです。

コードが完成したらテーマのfunctions.phpへ記述を追加すれば完了です
テストとして、RSSフィードを開いてみてくださいね(http://サイトURL/?feed=rss2で表示されます)
表示されない場合は投稿タイプの入力の問題だと思われますので確認してください。

Ping送信を送信する

Pingは記事の投稿や更新を検索エンジンに一番速く伝える方法ですが、カスタム投稿タイプを追加しただけでは何も動作しません。上記のRSSフィード同様functions.phpに以下のコードの必要事項を編集して追加すれば対策完了です。
コードは

function カスタム投稿タイプ名_pings_at_publish( $post_id ) {
    wp_schedule_single_event( strtotime( '+10 min' ), 'do_pings', array( $post_id ) );
}
add_action( 'publish_カスタム投稿タイプ名', 'カスタム投稿タイプ名_pings_at_publish', 10, 1 );
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします


「カスタム投稿タイプ名」の部分を修正します。

テーマのfunctions.phpの変更をしたことがないという方や不安な方は、functions.phpにコードを追加できるプラグインを使うことをお勧めします。

WordPressのカスタマイズ・不具合対応などご相談ください

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

【スポンサーリンク】