このページでは、当サイトで公開している「WEリーグ移籍情報まとめ」をどのように作り、どう更新しているかをまとめています。
移籍情報まとめは、見た目だけで言えば「各クラブの発表を一覧にしたページ」です。けれど実際に運用してみると、思った以上に地味な確認作業や、表記の調整、取得漏れへの対応が必要になります。
この記事では、その裏側を少し書いておきます。
目次
なぜ移籍情報まとめを作ったのか
WEリーグの移籍情報は、各クラブの公式サイトでそれぞれ発表されます。
ただ、クラブごとにニュースページの構成や表記が違うため、全体を追いかけようとすると意外と大変です。
加入、退団、契約更新、契約満了、現役引退、期限付き移籍、スタッフ就任など、発表の種類もさまざまです。ひとつのクラブだけを追うなら公式サイトで十分ですが、リーグ全体の動きを見ようとすると、横断的に整理された場所があると便利だと感じました。
そこで、各クラブの公式発表をもとに、一覧で確認できるページを作ることにしました。
最初はかなり手作業だった
最初は、各クラブの公式サイトを見に行き、記事タイトルとURLを確認して、スプレッドシートに入れて、ブログ記事に反映するという形でした。
ただ、これを毎回手作業で続けるのはかなり大変です。
移籍期間中は発表が増えますし、契約更新のように同じ日に複数選手が発表されることもあります。クラブによってはニュース一覧で見つけやすい場合もあれば、記事タイトルだけでは移籍関連かどうか判断しづらい場合もあります。
そこで、Google Apps Scriptとスプレッドシートを使って、できるところは自動化することにしました。
いまの基本的な仕組み
現在は、Google Apps Scriptで各クラブの公式ニュースページを定期的に確認しています。
取得した記事はスプレッドシートに保存し、タイトルに含まれる言葉から、移籍・契約関連かどうかを判定します。
たとえば、以下のような言葉が含まれる記事は、移籍情報として扱う候補になります。
- 加入
- 完全移籍加入
- 期限付き移籍
- 契約更新
- 契約満了
- 退団
- 現役引退
- チーム離脱
- 監督就任
- コーチ就任
そのうえで、公開対象になった記事をブログ記事内の表へ反映しています。
すべてを完全自動にはしていない
自動化しているとはいえ、すべてを完全に任せているわけではありません。
クラブ公式サイトの構造はそれぞれ違います。ニュース一覧のHTML構造も違えば、RSSがあるクラブとないクラブもあります。記事タイトルの表記もクラブによって違います。
そのため、自動取得だけでは取りこぼしが起きることがあります。
また、まとめ記事のように、ひとつの記事内で複数選手の契約更新が発表されるケースもあります。この場合、単純に記事単位で表示すると、選手ごとの状況が分かりづらくなります。
そうしたケースでは、手動でURLを追加したり、選手単位に展開したり、表示名を調整したりしています。
一度、外部JS方式に切り替えたことがある
運用していく中で、一度大きめの問題が起きました。
ブログ記事の本文がかなり大きくなり、WordPressの編集画面が開きづらくなった時期がありました。
そのときは、記事本文にすべてのHTMLを入れるのが重さの原因だと考え、ページ本文には軽い枠だけを置き、詳細な表はGoogle Apps ScriptのWebアプリから外部JavaScriptで読み込む方式に切り替えました。
つまり、WordPress側の記事本文を軽くして、詳細部分は後から読み込ませる形です。
発想としては悪くありませんでした。けれど実際に使ってみると、今度はページ表示側の読み込みに時間がかかり、読者にとってはあまり良い体験ではありませんでした。
重かった原因は本文量だけではなかった
その後、WordPress側の状況を見直すと、重さの原因は記事本文のHTML量そのものだけではなさそうだと分かりました。
記事のリビジョンや自動保存の履歴が大量にたまっていたことも、編集画面が重くなる原因になっていたようです。
そのため、リビジョンまわりを整理し、改めて「完全版HTMLを記事本文に入れる方式」に戻しました。
現在は、外部JSではなく、ブログ記事内に必要な表をまとめて出力する形にしています。
最終更新時刻の考え方
ページ上には「最終更新」の時刻を表示しています。
ただし、これは単にシステムが動いた時刻ではありません。
現在は、新しい移籍情報が追加されたときだけ、最終更新時刻を更新するようにしています。
裏側では定期的にチェックが走っていても、新しい情報がなければ、ページ上の最終更新時刻は変わりません。
これは、読者にとって「本当に内容が更新されたのか」を分かりやすくするためです。
表記をそのまま出さないこともある
基本的には、クラブ公式サイトの記事タイトルを尊重しています。
ただし、一覧として表示したときに分かりづらい場合は、表示上の表記を少し整えることがあります。
たとえば、移籍元クラブの記事として表示されているのに、記事タイトルだけを見ると移籍先クラブ側の表現に見えることがあります。
そのような場合は、読者が一覧で見たときに意味が伝わるように、選手名や移籍先が分かる表記へ調整しています。
元記事へのリンクは残しているので、詳細は必ず公式リリースで確認できるようにしています。
公式発表を優先する
このまとめでは、原則としてクラブ公式発表を優先しています。
報道やSNSで情報が出ている場合でも、公式発表が確認できないものは掲載しない方針です。
移籍情報は、噂や見込みで広がることもあります。だからこそ、一覧ページではできるだけ確定情報だけを扱うようにしています。
それでも漏れや遅れは起きる
できるだけ正確に管理したいと思っていますが、取得漏れや反映遅れが起きることはあります。
たとえば、以下のようなケースです。
- クラブ公式サイトの構造が変わった
- ニュース一覧に出るタイミングが遅い
- 記事タイトルだけでは移籍関連と判定しづらい
- ひとつの記事に複数選手の情報がまとまっている
- 手動確認が必要な発表だった
そのため、このページは「完全自動のデータベース」というより、公式発表をもとに人間が確認しながら整えている移籍情報まとめ、という位置づけです。
いま目指している形
目指しているのは、ただ情報を並べることではありません。
各クラブの動きが見やすく、選手ごとの状況も追いやすく、公式リリースにもすぐ飛べるページにしたいと思っています。
そのために、以下のような形で整理しています。
- 直近の更新情報
- クラブごとのIN / OUT / 更新
- 選手契約状況
- 公式リリース一覧
移籍期間中に全体像を追いたい人にとって、少しでも見やすいページになればと思っています。
最後に
この移籍情報まとめは、まだ完成形ではありません。
運用しながら、取得漏れを減らしたり、表記を見やすくしたり、ページの読み込みや編集のしやすさを調整したりしています。
見ている方からすると、ただの一覧ページに見えるかもしれません。けれど裏側では、公式発表をどう拾うか、どう分類するか、どう表示すれば分かりやすいかを少しずつ調整しています。
今後も、WEリーグの移籍情報を追いやすいページになるよう、必要に応じて改善していきます。