at posts/single.html

tDiaryで存在しない日記へのアクセスに404を返す

久しぶりの日記になっちゃった。

Google Webmaster Central Blog - Farewell to soft 404sを読んだ。 コンテンツが存在しないページにアクセスされたときは、「○○がありません」というメッセージをHTMLに出すだけじゃなくて、ステータスコード「404 Not Found」を返しましょうということ。 記事では、前者をソフト404、後者をハード404と呼んでいる。 ハード404を返せば、人間だけでなくコンピュータも理解できるよ、と。 そういえば、「404 Not Found」って、日本で一番有名なステータスコードじゃないんだろうか。

んで、tDiaryで日記がなかった場合も同じだよなぁと思い、修正してみた。

Index: index.rb
===================================================================
--- index.rb    (revision 3299)
+++ index.rb    (working copy)
@@ -56,6 +56,7 @@
                        'type' => 'text/html',
                        'Vary' => 'User-Agent'
                }
+               status = CGI::HTTP_STATUS['NOT_FOUND'] if tdiary.diaries.empty?
                head['status'] = status if status
                body = ''
                head['Last-Modified'] = CGI::rfc1123_date( tdiary.last_modified )

そういえば、モバイルからのアクセスも区別していないけど、大丈夫なんだろうか。 あとでtDiaryのITSに登録する。

関連する日記