雑誌の定期購読サービス『Fujisan.co.jp』のwebサービスを研究します。今回は構想のメモ書きなど。
画面表示・データ取得の計画
- トップページ・・・カテゴリを指定せずに(全カテゴリを対象に)アクセスランキング順の雑誌一覧表示はできない。ランダムで選んだ親カテゴリのランキング10を表示する?親カテゴリリストを表示。
- 親カテゴリ・・・パンくずを表示。子カテゴリリストを表示。そのカテゴリのランキングを10件ごとにページ表示(search/keyword?)
- 子カテゴリ・・・パンくずを表示。そのランキングのランキングを10件ごとにページ表示(search/keyword?)
- 雑誌個別ページ・・・パンくずを表示。個別情報を表示(web-service-application/product/)+(rss/product/*.xml)
- 雑誌バックナンバー個別ページ・・・過去データなので後日変更がない(web-service-application/backnumber/*)
- 雑誌レビューページ・・・レビューのデータをどう扱うか?→プロダクトID+UNIXタイムスタンプでアクセス?
- キーワード検索ページ・・・作らない。検索フォームからFujisanへ転送。
サイドバー(フッター)にカテゴリリストを表示。カテゴリ構造のデータは後日変更がほぼない。
アダルトフィルタリング
- カテゴリリストの親カテゴリからアダルト親=3023を除外
- カテゴリツリーに3023が入らないように
- 子カテゴリの親が3023のとき404エラー
- 雑誌個別データのカテゴリに3023があったら404エラー
指定カテゴリの雑誌一覧データの反応速度がクソ遅い!!GoogleのPageSpeed Insightsで計測した。なんだこれは…
- http://ws.fujisan.co.jp/search/keyword?category=100
15.6秒(デフォルトなので10件) - http://ws.fujisan.co.jp/search/keyword?category=100&sort=accessrankpoints
19.6秒(デフォルトなので10件) - http://ws.fujisan.co.jp/search/keyword?category=100&sort=accessrankpoints&results=1
2.4秒 - http://ws.fujisan.co.jp/search/keyword?category=100&sort=accessrankpoints&results=5
12.5秒 - http://ws.fujisan.co.jp/search/keyword?category=100&sort=accessrankpoints&results=20
18.3秒 - http://ws.fujisan.co.jp/search/keyword?category=100&sort=accessrankpoints&results=100
タイムアウト - http://ws.fujisan.co.jp/search/keyword?query=japan
10.2秒
とにかく遅い。しかし各カテゴリの雑誌一覧として5件か10件のリスト表示は欠かせない。検索サイトのクローラー向けとして一応ページャーは用意するが、ユーザーはとにかくFujisanへ送り込んで遅さを感づかれないようにしたい。
裏技的に、imgタグでダミースクリプトを呼び出し、ランダムで選んだカテゴリの一覧を裏でキャッシュさせてみるか…。