WordPressのカスタムフィールドの使い方がいまいちよく理解できていないYu-ichiです
ホームページをメンテナンスする際に、
「只今、ホームページのメンテナンス中です。」
的なメッセージを一時的に表示したことありますか?
おそらく、長年HP作成をしていると1度や2度はあるかと思います。
趣味のHPとかであれば、「index.html」などを直接編集して、メンテメッセージを表示しますが
商用のしかもSEOとか意識してやっているとそういうわけにはいきません。
「メンテナンス中です」というキーワードで上位に表示されたいのであれば別ですが・・・。
そこで、HTTPステータスコードで「503」を返してあげると良いそうです。
【HTTPステータスコードの一覧】
HTTPステータスコード-Wikipedia
いろいろなステータスコードがありますね。
良く使う301や302、良く見かける(笑)403や404や500などなど。
というわけで、Web担当者Forumの記事を参考に設定をしてみましたが、
Apacheのバージョンが対応していないらしく、正常に動作しませんでした。
そこで、別のやり方を参考にしてやってみました。
参考サイトのようにルート直下に「/maintenance」フォルダを作成し、
その中に「503.php」を作成して、検索エンジンに対して503ですよ~という記述を書きます。
<br /> <?php<br /> header ('HTTP/1.0 503 Service Temporarily Unavailable');<br /> include(dirname(__FILE__) . '/index.html');<br /> ?><br />
「index.html」は、人間向けにメンテナンスを知らせるためのページです。
これも「/maintenance」フォルダに一緒に入れておきます。
.htaccessには以下の記述を追加します。
</p> <p><IfModule mod_rewrite.c><br /> RewriteEngine On<br /> RewriteRule ^maintenance/ - [L]<br /> RewriteRule ^.*$ maintenance/503.php<br /> </IfModule></p> <p>
これでサイトに来たクローラーや人に対して、メンテ中ですよ~と教えることができます。
正しくステータスコードが返っているかはこちらのサイト(英語)で調べることができます。
本当はURLも変えた方がいいのかな??
調べてみると、302転送して転送先で200を返すのはよろしくないようですが
302転送をして転送先で503を返すのはどうなのでしょう?
とりあえず今は上記の方法で対応しています。
他に良いやり方があれば、アドバイスください!