WordPress マルチサイトrobots.txtファイルを修正する

Last Updated: 2021 年 10 月 08 日 댓글

WordPressでrobots.txtファイルは、動的に生成されます。 必要に応じて、ルートフォルダにファイルを手動でアップロードすることができます。 WordPress マルチサイト個々のサイトに対してrobots.txtファイルを修正したい場合は、以下で説明する方法で修正が可能です。

WordPressで動的に生成するrobots.txtファイル

WordPressでrobots.txtファイルを作成してアップロードしなくても、動的にrobots.txtファイルが生成されます。

ブラウザアドレス欄に サイトのアドレス/robots.txtを入力してみると次のようなコードが出力されます。

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/wp-sitemap.xml

サイトによってSitemap部分が出力されない場合があります。 そしてYoast SEOや Rank MathのようなSEOのプラグインをインストールすると、上記のコードでSitemap URLが変更されて表示されたり、場合によってはSitemapラインが表示されない場合があります。

WordPress マルチサイトrobots.txtファイルを修正する(フック使用)

シングルサイトである場合、robots.txtファイルを一つ作って FTPに接続して、ルートフォルダにアップロードするとされるが、マルチサイトである場合、robots.txtファイルをアップロードする場合、マルチサイト内のすべてのサイトに同じrobots.txtファイルに追加されるようになります。

個々のサイトに基づいて個別に設定したい場合には、robots.txtファイルをアップロードする代わりに、次のようなコードをテーマ関数ファイルに追加して、個々のサイトのrobots.txtファイルを変更することができます。

// Modify robots.txt for individual sites of a multisite install in WordPress
// WordPress 멀티사이트에서 개별 사이트에 대한 robots.txt 파일 수정하기

function fbn_custom_robots( $output, $public ) {
	$site_id = get_current_blog_id();
	if ( $site_id == 1 ) {
		$output .= "Allow: /wp-content/uploads/\n";
		$output .= "Disallow: /readme.html\n";
		$output .= "\nSitemap: https://example.com/sitemap_index.xml";
	}
       elseif ( $site_id == 2 ) { 
       // Your code
        }

	return $output;
}

add_filter( 'robots_txt', 'fbn_custom_robots', 20, 2 );

コードをテーマの関数ファイルに追加するようにします。 親テーマの関数ファイルに追加する場合、テーマが更新される変更が初期化されるので、なるべく チャイルドテーマ(子テーマ)を作ってチャイルドテーマの関数ファイルに追加してください。

サイトIDは、マルチサイトネットワーク内のそのサイトのブログIDです。 blog idは ネットワーク管理者>サイト>すべてのサイトで、サイトのURLの上にマウスを上げて、ブラウザの下部にあるステータスバーで確認することができます。 例えば、

https://example.com/wp-admin/network/site-info.php?id=1

サイトのURLの上にマウスを置くと、リンクが上記と同じ場合 blog idは1です。

今サイトのアドレス/robots.txtを開けてみれば次のようにコードが変更されたことを確認することができるでしょう。

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Disallow: /readme.html

Sitemap: https://example.com/sitemap_index.xml

robots.txtファイルに問題がないことを確認するために、Googleのrobots.txtテスターを使用して、robots.txtをテストすることができます。

属性を選択すると、robots.txtテスターが表示されます。 変更されたか時間が過ぎていない場合、以前のrobots.txtファイルの内容が表示されます。 Googleのrobots.txtテスターでエラーがないかを確認することができます。

手動でrobots.txtファイルをルートフォルダにアップロードした場合には、上記のコードを入れても動作しません。 この場合は、ルートディレクトリにアップロードされたrobotsファイルを削除する必要が上記の方法で修正が可能です。

SEOプラグインでrobots.txtファイルを編集する

Yoast SEOやRank MathのようなSEOのプラグインを使用してrobots.txtファイルを編集することができます。 おそらくこの機能は、無料版では提供されず、プレミアムバージョンのみ提供されているようです。 数学プロをランク付けするを使用している場合、 WordPress 伝言板> Rank Math> General Settings> Edit robots.txtでrobots.txtファイルを変更することができます。

WordPress マルチサイトrobots.txtファイルを修正する

しかし、ロボットのファイルをFTP経由で手動でルートフォルダにアップロードした場合には、上の図のように 'robots.txt file is not writable' 警告が表示され、robots.tstファイルがルートフォルダにあるため、コンテンツが変更されないように締まった(Contents are locked because a robots.txt file is present in the root folder)フレーズが下部に表示されます。

SEOプラグインでも robots_txt フィルタを使用してrobots.txtファイルを修正することがあります。 だから、ルートディレクトリにrobots.txtファイルがアップロードされている場合、フィルタを介して変更することができないと思われます。

上記のような警告が表示され、ルートフォルダにアップロードされたrobotsファイルを削除すると、SEOのプラグインを使用して修正が可能です。

サブディレクトリにインストールされてサイトでは、robots.txtファイルが動作しません。 一部のSEOプラグインでは、404エラーを表示することができます。 Rank Mathの場合、サブディレクトリにインストールされて WordPress サイトでは、ロボットファイルの編集が可能ですが、ルートフォルダにrobots.txtファイルがある場合には、動作しない案内が表示されます。

Leave the field empty to let WordPress handle the contents dynamically. If an actual robots.txt file is present in the root folder of your site, this option won't take effect and you have to edit the file directly, or delete it and then edit from here.

WordPressでコンテンツを動的に処理するようにするには、このフィールドを空白のままにおい。 ルートフォルダに、実際のrobots.txtファイルがある場合、ここで修正した内容は反映されず、ファイルを直接編集する必要があります。 またはルートフォルダにあるファイルを削除して、ここで編集することができます。

プラグインを使用する

WordPress プラグインリポジトリに登録された Robots.txt Editorプラグインを使用して、サイトのrobots.txtファイルを作成して編集することができます。

このプラグインの特徴:

  • マルチサイトネットワークのサブドメインで動作
  • WordPressの正しいファイルの例
  • すぐに使用可能
  • 무료

このプラグインは、Multisiteのサブドメインで動作するが、マルチサイトでは動作しないユーザーレビューもありますので、マルチサイトに設置して期待どおりに動作するかをテストをしてみてください。

このプラグインは、 WordPress 伝言板>プラグイン>新規追加で「Robots.txt Editor」を検索してインストールできます。

robots.txtファイルが動作していないか、または404エラーが発生した場合

robots.txtファイルが動作していないか、または404ページなしエラーが発生した場合には、次の事項をチェックしてみてください。

  • プラグインをすべて無効にして、問題が解決するか確認します。
  • バックアップをした後、 WordPress、テーマ、プラグインを最新バージョンに更新します。
  • 固有アドレス設定が「一般(デフォルト)」になっている場合は、別の設定(例:「記事名」)に変更して問題が解決するかどうかを確認します。

参照


コメントを残す

コメント