構想メモ


サイト検索

  • 要リファラ(他サイトからの不正な呼び出しを弾くため。空のリファラは許容)
  • 当サーチ独自の年齢制限基準を明示し、ラベリングとしての年齢制限を推奨する
  • サイト登録がある条件要素のみ条件ページに出力。CPなど数が多い場合は、表示上限数を決めておく
  • エラーサイトはエラーサイトページにのみ掲載され、検索には引っかからなくなる。サイト名に登録サイトへのリンクも張らない。
  • 新着・更新サイト、エラーサイト、一年以上更新されないサイト等々でスタイルシートを分け、表示色を変える。

ユーザ管理

  • サイト登録、違反指摘等にはユーザ登録が必要。
  • セッションによる認証を用い、保存はCookieを利用。Cookieを利用できないクライアントは考慮しない。
  • 1ユーザで複数サイトを登録できるようにし、複数アカウントの取得は禁止。なおログインIDはユーザにわかりやすいようメールアドレスとするが、内部的にはランダム文字列によるユーザID(ユーザテーブルのプライマリキーでもある)を用いる。
  • パスワード登録/変更時、使用できない文字には背景前景ともに色をつけ、使えない旨のエラーを表示。空白もトリミングしない
  • メールアドレス変更時、変更完了URLアクセス時には再度パスワード要求。間違ったアドレスで内容が他人に送信された場合に備える
  • 違反指摘機能。違反指摘は、まず指摘者と相手サイト管理人で匿名で(内部的なユーザIDで)やりとりしてもらい、それでも解決しなければ初めてサーチ管理者に申し立てできる。
  • Cookieを消してもマークサイト・除外サイト情報を復元できるよう、インポート/エクスポート機能を付ける。

サイト管理

  • モバイル向けサイトの登録は禁止としないが、モバイル向けに作るわけではないのでサポートは一切しない。
  • 登録URLのチェック:まず入力URLにアクセスし、存在するか否か、ディレクトリかファイルかを識別する。存在しない、またはアクセスを拒否されたら登録不可。ディレクトリなら末尾に自動でスラッシュをつける。具体的には指定されたURLにアクセスし、正常終了であればOK。404だったり転送されていればエラー。ただしHTTPステータスが301で、Locationが「入力URL+スラッシュ」だった場合、ディレクトリと判断して、入力URLにスラッシュを補完して再度アクセスチェック。なおドメインのみの入力は、最初から機械的にスラッシュを補完。
  • 一度削除したサイトは、4ヶ月経過しないと再登録できない。同じサイトと見なす基準は、同じ最終ディレクトリで終わるURL、そのURLとindex.htm(l)、default.htm(l)、home.htm(l)、index.php等の組み合わせ。
  • 入力バナーURLのチェック:入力URLフィールドは登録URLの最後のディレクトリまでテキストで表示、入力不可。入力URLにアクセスし、存在するか否かを識別。存在しない、転送されている、あるいはアクセスを拒否されたら登録不可。
  • 違反指摘を受けた場合、それを処理しなければ他サイトに違反指摘はできない。継続中の違反指摘があれば、それは続行可能。

サーチ管理

  • 管理者用ログインボタン/ページは作成しない。通常ログインでadmin用IDが入力された場合に自動遷移
  • 登録件数がゼロだとなかなかサイトを登録する気になれないため、サンプルサイト登録機能をつける。adminでログインして登録したサイトはすべて登録サンプル。元データはサイトデータテーブルとほぼ同じレイアウトのサンプルサイトテーブル。ある程度登録数が増えたら管理画面から手動で削除(いったん登録数が増えたらゼロになることはまずないと思われるため、毎回サンプルサイトを識別する必要はなし)。

定期処理(cron)

  • 毎日一定時間(未明あたり)を自動メンテに充てる。
    なおメンテ中と判断するのは、ディレクトリに特定のファイルがあったら。.htaccessでメンテ中ページに飛ばす。
  • 違反指摘の放置などで、期限が過ぎたエラーサイトを削除する。
  • バックアップ処理。SQLiteファイルが更新されていたら、当日の年月日をファイル名にしてコピー&圧縮。バックアップしたファイルは一ヶ月ぶんくらい持っておく(それ以上古いものは削除)。
  • SQLiteファイルのVACUUM。頻度は月一回程度くらい? 一ヶ月以内に更新されていたらVACUUMを実行。
  • リンク切れチェック。頻度は数日に一度くらい? 三回連続でアクセスできなかったら、サイトのステータスをエラーにし、NOTEに事由を追加。
  • バナーURLチェック。これも頻度は数日に一度くらい? 三回連続でアクセスできなかったら、NOTEに事由を追加して、バナーURLクリア。

2010/09/16 01:11:17更新
最終更新:2010年09月16日 01:11