web-dev-qa-db-ja.com

Yoastで特定のWordpressページをデフォルトでnoindexする方法は?

Page Builderで作成された複数のキャンペーンランディングページを持つWPウェブサイトがあります。すべてのキャンペーンページは/ campaign /の下にあるため、URLは常に http://example.com/campaign/some-landing-page になります。デフォルトで、URLに/ campaignが含まれるすべてのページのインデックスを作成しません。 /しかし、Yoast SEOでこれを行う方法がわかりません。 Yoast設定ですべてのページのインデックスを作成できませんでしたが、/ campaign /

4
antalis

これを実現する方法はいくつかあるように見えますが、環境が異なるため、すぐに使用できる方法はありません。

特定の状況に応じて、次のオプションのいずれかを使用できます。

robots.txtに「noindex」を追加します

Kristian Svenssonが提案したように、robots.txtファイルを使用して、/campaign/の下にあるすべてを禁止するディレクティブを追加します。

functions.phpの特定のカテゴリに「noindex」を追加します

Yoastによると、カテゴリページ自体にnoindexを設定できますが、そのカテゴリのすべての投稿にnoindexを設定することはできません。

ただし、/campaign/がカテゴリの場合、アクセスできる場合は、functions.phpファイルに次のスニペットを追加します。

function add_noindex( $content ) { if( is_single() && in_category(array(value))) { return '<meta name="robots" content="noindex, nofollow">'.$content; } else return $content; } add_filter("the_content","add_noindex");

valueをカテゴリID、またはカテゴリの名前(引用符で囲んだ)に置き換えます。複数のカテゴリをコンマで区切ります。

header.phpの特定のカテゴリに「noindex」を追加します

<?php if (is_single() && in_category(array(457)))  { 
echo '<meta name="robots" content="noindex, follow">';
} ?>

457がカテゴリの場合、/campaign/のカテゴリIDに置き換えます。

これに基づいて Githubスレッド

2
Serge

残念ながら、手動で各ページを手動でnoindexに設定しない限り、Yoastでそれが可能であることはわかりません。

ただし、ftpまたはWebサーバー上のファイルマネージャーを使用してWebサイトのルートにアクセスできる場合は、robots.txtファイルを使用して非常に簡単に実行できます。そのファイルでは、Googleボットや他の検索エンジンに、クロールとインデックス登録が許可されている(または許可されていない)ことを指示できます。

すべてのボットが/ campaign /フォルダー内のすべてのコンテンツのインデックスを作成できないようにするには、次を追加する必要があります。

User-agent: *
Disallow: /campaign/

保存して、Google Search Consoleでテストします(お持ちの場合)。それでおしまい。

1