Please Sign In or Register

Search 404

存在しない URL へのリクエストに対して、"ページが見つかりません" というメッセージを表示するだけでなく、URL の一部をキーワードとした検索結果を表示するためのモジュールです。

http://example.com/does/not/exist のような、存在しない URL がリクエストされた場合、"does not exist" をキーワードとした検索結果を表示します。Drupal 5.x デフォルトの 404 Not Found ページでは、"ページが見つかりません" というメッセージが表示されるのみで、サイドバーなどはパフォーマンスの向上のために非表示になっていますが、このモジュールを導入することで、ユーザビリティの向上につながるかもしれません。
[ ダウンロード : http://drupal.org/project/search404 ]

レビュー

[管理セクション] → [サイトの環境設定] → [Search 404 の設定] から設定を行ないます。

Search 404 の設定

検索結果が1つだけだった場合、ダイレクトに検索結果へジャンプする。
この設定を ON にすると、検索結果が一つだけだった場合に、「リクエストしたページは存在しませんでした。 キーワード で検索したページを表示しています。」 というメッセージとともに、該当のページを表示します。
ただし、表示されたページの HTTP レスポンスヘッダは "200 OK" となります。
検索時に複数のキーワードを OR 条件で検索する。
この設定を ON にすると、複数のキーワードで検索する場合のデフォルト条件である AND を OR に変更した検索結果を表示します。
サーチエンジンのリファラからキーワードを自動検出する。
この機能は BETA です!実際に運用中のサイトで使用しないで下さい。 また、個人の責任の下で使用してください。
実際に使用していませんので、誤った情報である可能性が十分に考えられますが、サーチエンジンでの検索結果からリクエストがあった場合に、そのキーワードを使った検索結果を表示するのではないかと予想しています。
無視する単語
http://example.com/the-hoge のような存在しない URL がリクエストされた場合に "the" および "hoge" ではなく "hoge" のみを検索キーワードにすることができます。
検索キーワードとして使用したくない単語をスペースで区切って入力します。
( 例 : "and or the" )
無視する拡張子
http://example.com/hoge.html のような存在しない URL がリクエストされた場合に "hoge.html" ではなく "hoge" を検索キーワードにすることができます。
検索キーワードとして使用したくない拡張子を、ドット(.)を含めない形式で、スペースで区切って入力します。
( 例 : "htm html php" )
検索を中止する拡張子
http://example.com/hoge.jpg のような存在しない URL がリクエストされた場合には検索を中止し、検索ボックスのみを表示することができます。
検索を中止する拡張子を拡張子を、ドット(.)を含めない形式で、スペースで区切って入力します。
( 例 : "gif jpg jpeg bmp png" )

スクリーンショット

Search 404 検索結果の表示

注意事項など

このモジュールはモジュールのアンインストール機能に対応しています。

日本語翻訳

最新版(5.x-1.x-dev)バージョンの日本語翻訳ファイルは、モジュールに同梱されています。

バグや問題点についての情報

トラックバック

トラックバックは承認後に表示されます。

URLから "-nospam" を削除してトラックバックを送信してください。

コメント

Search 404 の日本語翻訳ファイル

Dev 版に公式の日本語翻訳ファイルが同梱されていました…が、一応このままにしておきます。

リファラ検出機能について

こんにちは,lockcoleです。

ちょうど昨日,このモジュールを自分のサイトに導入して機能を調査していたところでしたので,本記事はたいへん参考になりましたm(__)m ユーザビリティに貢献してくれるありがたいモジュールだと思います。

BETAのリファラ検出機能ですが,0829さんが予想されたとおり,検索エンジンのクエリ文字列をパースして検索語句を決定するような仕組みになっています。ソースコードを見る限り,GoogleやMSN,Yahoo,live,altavistaなどに対応しているみたいですね(とはいってもクエリ文字列のkey名の違いを吸収しているだけですが)。

有用かな,と思うところもある反面,今日の検索エンジンはsite mapを活用してサイトインデックスを構築するので,検索エンジンから飛んできて404になることって実はそんなに無いんじゃないかなぁと思ったりしました。むしろ,人が手作業でリンクしてくれたブログ記事からの訪問者への配慮こそが,このモジュールの良いところなのではないかなと。そういう意味では,さほど重要な機能とはいえないかもしれませんね。

とはいえ,リファラを活用するアイデア自体はいろいろな可能性がありますね。リファラに設定されているURLのコンテンツ全体,もしくはリンク要素(Aタグ)の文字列(≒リンク先ページのタイトル)を取得して特徴語を抽出できれば,それは自サイトの検索語句とも関連性が高いと予想されます。特に日本語ではDrupalのクエリ文字列だけではキーワードを抽出するのが難しいので,こうしたサポートがあればより高い確率で関連するコンテンツがヒットしそうです。

ありがとうございます。

BETA 機能についての情報、ありがとうございます。ローカル環境でしかテストしていなかったので、確認できていない部分でした。

確かに、実動中のサイトであればサーチエンジンからのアクセスで 404 はあまり考えられないかもしれませんね。休止中であればそんなことすら関係ないかもしれませんし...
この機能の必要性に関しては微妙なところがあると思いますが、ユーザビリティの考え方という点に於いては、とても考えさせられる、有益なモジュールだと感じています。

面白そうですね

これはあれですね。
大手の商用サイトなんかでたまに見かける仕掛けですね。
へー。こういうのがあるんですね。

ただ、併用するモジュールによっては負荷だけが増えるかもしれませんね。
例えば、commentRSSや、今入れてみているadmin messageなどですかね。
よくcrssが入ったアドレスがページ無いよエラーとしてログに残ってます。
後者も、メッセージを閉じるボタンにアドレスが振ってあるけど、ページとしては存在しないようなのでログには同様にページがないとして記録されています。

もしも、こういったケースでも反応するとなると負荷が増えそうですね。
試してみていないので意外と反応しなかったりするかもしれませんけどね(^_^;)
でも、面白いなと思います。
これでURL変更も怖くない(そう言う用途で使ってはいけませんね)

たまたま見つけたので...

正しい HTTP レスポンスヘッダを返す方法を探していたらたまたま見つけたので、レビューしてみました。
単純な "ページが見つかりません" エラーを返すよりは負荷は多いでしょうから、怪しい URL をリクエストしてくるスパムらしきものに対して負荷を増やしてしまうのは不毛な気がしますが、ユーザに対しては親切ですよね。
404 ページにサイトマップを表示するなどの方法も合わせて検討すると、よりよい方法が見つかるかもしれませんね。

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。