先日このフォーラムに、以下の様な投稿がありました。
「存在しないURLからの自動リダイレクト」
http://ja.forums.wordpress.org/topic/11772?replies=5
読んでもらうと分かるのですが、404ページを作らず、.htaccessファイルに「存在しないURLにアクセスした場合トップページへ飛ばす」コードが書き込まれていたため、Google側から「存在しないURLにアクセスしたすべての場合にTOPページの内容が表示されてあたかもページが存在しているようになっている」ことが問題だと指摘されたようです。
個人的にも404ページはあった方が良いと思いますが、技術的には可能です。
.htaccsessで制御すればWordPressに関係なく実装できるでしょう。
現在使っているテーマを利用するのであれば、
テンプレート階層に従って、404.phpまたはindex.phpを改変することになります。
gatespace様 回答ありがとうございます。
全体的になんとなく理解できました。
現在のテーマで、存在しないページにアクセスすると404.phpに飛んでいるというように理解したのですが宜しいでしょうか?
そのような状況の上で、
「おっと、失礼しました」以下の全てを削除して「おっと、失礼しました」の代わりに
「ページが存在しません」という文章だけ表示に変更するには、どのように改変したら宜しいでしょうか?
どうか、宜しくお願いします。
Codexのテンプレート階層のページはお読みいただけましたでしょうか?
「仕組み」の段に詳細な説明があります。
訪問者が WordPress サイト上のページにアクセスしたとき、WordPress は次のように動きます。
- URI に含まれるクエリ文字列とクエリタイプを照合し、要求されているページの種類(メインページ、カテゴリーページなど)を判断。
- 該当するページ種類のテンプレート階層に基づき、現在のテーマディレクトリ内からテンプレートファイルを探す。
- 最初に見つかったテンプレートファイルを用いて、要求されたページを生成。
厳密に言うと、要求されたページが存在しない場合、テーマの404.php(あるいはindex.php)を利用して、404ページが生成されます。
Twenty Elevenであれば404.phpを改変すれば大丈夫ですが、
デフォルトテーマはアップデートする可能性があるので、
子テーマを作って改変された方が良いと思います。
ありがとうございます。
テンプレートの階層、Creating an Error 404 Pageについても読んでみました。
しかしながら、私が、html言語程しか分からない為、テンプレートの記述について理解できませんでした…。
テンプレート内に「おっと、失礼」という文章が載っていたら、その文章を変えれば良い程度に考えていました。
codex404エラーメッセージの編集について読んでみて「h2のテキストを変更」と書かれているのですが、その書かれている変更部分が見つかりませんでした…。
また、エラーページのヒントに載っているサイトも見てみたのですが、英文翻訳では分かりづらく、頑張ったのですが駄目でした。
全然ダメダメで申し訳ないですが、宜しくお願いします。。。
先の投稿でも、その前の投稿でも、変更すべきテンプレートファイルについて書いたはずなんですが、伝わらなかったのでしょうか?
Twenty Elevenであれば404.phpを改変すれば大丈夫ですが、
デフォルトテーマはアップデートする可能性があるので、
子テーマを作って改変された方が良いと思います。
まずは手を動かしてみてください。
Twenty Elevenの404.phpを好きなように改変してみてください。
(/wp-content/themes/twentyeleven/404.php)
ただ、このファイルを直接改変してしまうと将来、テーマのアップデートで変更箇所が消えてしまうので、そういった事態を避けるためには子テーマを作った方が良いですよ。
何度も回答頂きありがとうございます。
404.phpの改変、子テーマの作成というのは伝わっていたのですが、
phpのソースコード記述が理解できていない為、改変できませんでした。
私には今のところ、すぐにできそうになかったので、
404.phpファイルを一旦上の階層に移動させ、保留し、
.htaccess内の記述、RewriteEngine On をoffに変え、
ワードプレストップ表示にならないようにし、ワードプレスエラー表示では無く、
サーバー側のエラーページを表示させるようにしてみました。
gatespace様の回答を全く活かせませんでしたが、回答内容につきましては
また機会がありましたら、学んでみようと思います。
ありがとうございました。