先日は別の質問(上書きしてしまった「.htaccess」とサブディレクトリにインストールしたWordPressのURLについて | Root-013 https://website-homepage.com/free-question-bbs-about-wordpress/post-7158/) で大変お世話になりました。
今回、また別の質問でご連絡をさせて頂きました。
お手すきの際にご回答頂けたら幸いです。
現在、XML Sitemap & Google Newsというプラグインを使い、自動でXMLサイトマップを作成しています。
XMLサイトマップの設定中に何気なく旧Googleサーチコンソールのrobots.txt テスターを眺めていたのですが、
一行目が添付画像のようにエラー(構文が認識できませんでした)になっていることを発見しました。
そこで、こちらのサイト
(robots.txtの構文が認識できませんでしたと出てきたら? – ヲレサイト https://woresite.jp/2014/07/11/052239.html)
を参考に、旧Googleサーチコンソールよりダウンロードしたrobots.txtをTerapadで確認してみると、リンク先のサイトと同じように、SHIFT-JISで一行目の文頭に「・ソ」という文字が入っていることを確認しました。
原因はXMLサイトマップ作成のプラグインかなと思い、一度プラグインを削除したあとに、プラグインなしの状態(デフォルト)で吐き出される仮想robots.txtをrobots.txt テスターで確認してみたのですが、同じように一行目文頭に「赤い・」でエラーが表示されます。
おそらく、自動で作成される仮想robots.txtファイルの文字コードがUTF-8(N)以外になってしまっているのでは?と考えたのですが、どこの設定をいじれば自動作成されるファイルの文字コードをUTF-8(N)に設定することが出来るのか分からず、困っております。
サーバー内に手動でrobots.txtを設置しているわけではないため、今後自動作成され続ける仮想robots.txtのせいで、エラー表示が出続けるのはなんだか気持ちが悪いため、
なんとか解決をしたいと考えております。
ただ、WordPressの機能として仮想robots.txtが自動作成されているのに、なぜ不適切な文字コードで作成されるのか疑問に感じています。
どんな些細なことでも結構ですので解決につながるアドバイスを頂けたら幸いです。
どうぞ、よろしくお願い致します。
>いずき様
ご相談ありがとうございます!
ご連絡が遅れて申し訳ありません。
通常、仮想robot.txtは文字通り”仮想”なのでファイルは存在しないはずなんですよね。
なのでファイルが設置されるのはプラグインの仕様なのかなと思いました。
別のプラグインは試してみたでしょうか?
僕が利用したことのあるプラグインはGoogle xml sitemapsというプラグインで、特に不具合は出ませんでしたね。
https://ja.wordpress.org/plugins/google-sitemap-generator/
他に考えられる可能性や確認方法を列挙します。
1.ファイルの確認・編集・アップの過程でなにかが起こっていないか
2.robot.txtを一旦無くして https://【YOUR DOMAIN】/robots.txt を確認するとどうなるか
3.一旦ファイルが無い状態でプラグインの再保存などを行うと、もう一度生成されないか(改めて生成されたファイルだとどうなるか)
4.そして、別のプラグインではどうか
などですね。
返答は遅れてしまいましたが、質問を頂いてからすぐテストができるサイトで確認してみましたが、
https://www.websiteplanet.com/ja/webtools/sitemap-validator/
https://www.websiteplanet.com/ja/webtools/robots-txt/
これらでは特に警告はあってもエラーはなかったように思いました。(なぜだ・・・)
参考にして頂ければ幸いです。
お世話になっております。
お忙しい中、今回もアドバイスを頂き誠にありがとうございます。
質問をさせて頂いてから今まで、英文サイトも含め情報収集をしていますが以前解決に至っておりません。
管理人様がおっしゃるGoogle xml sitemapsを始め、All in One SEO Packなど、その他のXMLサイトマップ作成プラグインを試してみたり、WordPressにインストールされている全てのプラグインを停止させて様子を見ても状況は変わりません。
添付した画像の「赤い・」(一行目の#の前)にマウスポインタを合わせると、「/ufeff」とポップアップが出ることからも、やはり、デフォルトで吐き出される文字コードが原因なのではないかと、素人ながら推測しております。
また、これは直接関係ないのかもしれませんが、「/wp-includes/functions.php」内に仮想robots.txtを制御する記述があることを、こちらのサイト(ワードプレスの「robots.txt」を書きかえる方法 | 超もしもDSブログ http://sidejob-sapporo.com/robots-txt/))で知りました。
自分の、functions.phpファイルを見てみたのですが、
———————————————–
/**
* Display the robots.txt file content.
*
* The echo content should be with usage of the permalinks or for creating the
* robots.txt file.
*
* @since 2.1.0
*/
function do_robots() {
header( ‘Content-Type: text/plain; charset=utf-8’ );
———————————————–
と記述されており、文字コードに問題は無いようです。さらに、functions.phpファイル自体もutf-8のBOMなしで保存されているようでこちらも問題が無いと判断しました。
こうなって来ると、私の力では完全にお手上げ状態です。。。
取り急ぎ、現状とお礼を申し上げたく書き込みををさせて頂きました。
今後は、管理人様がご提案くださった確認方法や、最悪、WordPressの再インストールも視野に入れてもう少し戦って見ようと思います。何か状況が変わりましたら、こちらに追記をさせて頂きたいと思います。
よろしくお願い致します。
>いずき様
コメントありがとうございます。
色々試されているようですね^^;
やはり気になるのは実際にファイルがあるという点ですね。
本来仮想で固定ページURLのように実際に存在しないファイルが表示されるものなので。
このファイルがいつから存在したのかがポイントな気がします。
またなにかあればご相談下さい!