カテゴリのサイト表示順を変更

ディレクトリ型検索エンジンdtnのカテゴリは、これまで登録サイトが申請順に並べて置いてあっただけでしたが、今後は人気サイト順に表示をするようにしました。

サイトを人気順に並び替え

サービス終了したYahoo!カテゴリも、ディレクトリ登録サイトを人気順に表示していましたが、それと同じようなイメージになります。昔からやろうやろうと思っていたものの、クエリを書くのが億劫でやらずじまいでおりましたが、やっと実現することができました。

上位表示のSEO効果

昔だったらカテゴリの上部にリンクが位置すればするほど被リンクとしての価値も増すイメージでしたが、昨今ではもうSEO的にはあまり意味がないかもしれません。とはいえ、何事も下がるよりは上がる方が気分もよいだろうとは思いますので、登録サイトをお持ちの方はぜひカテゴリ内の順位もたまには確認してみて下さい。

人気順に抽出するクエリ

書き直したクエリでは、カテゴリ登録サイトを抽出する際に、リンククリックデータ集計テーブル、イイネ評価集計テーブル、ほかに対して複数JOINをかけています。複数キーでJOINをすることもあり、実行速度が若干気になりましたが、日次バッチで深夜に1回走るだけですので、まぁよしということにしておきました。

テーブルとクエリはこのようなイメージです。

idURLサイト名サイト説明
1https://test.co.jp/テスト1テストのサイト
2https://test2.co.jp/テスト2テスト2のサイト
3https://test3.co.jp/テスト3テスト3のサイト
登録リンクテーブル
idタイムスタンプ
22020-11-01 23:44:38
12020-11-01 23:05:40
32020-10-29 07:51:31
12020-10-27 18:34:49
クリックカウントテーブル
SELECT
	link.id AS ID
	COUNT(DISTINCT outaccess.out_id)AS SCORE
FROM
	link
		LEFT JOIN
			outaccess
		ON
			link.id = outaccess.out_id
WHERE
	link.category_code = "******"
GROUP BY
	link.id
ORDER BY
	SCORE DESC

クエリ改修後

上のクエリではクリックアクセスしかJOINしていませんでしたが、実際にはクリックアクセスだけでなく、イイネ評価や他も含めて複数のLEFT JOINをかけつつ抽出し、HTML更新まで行います。トータルで数分は処理時間がかかりますが、今のところ毎晩問題なく走ってくれているようです。

ディレクトリ型検索エンジンdtnについては、他にも細かい機能修正をかけましたが、このご時世に、ディレクトリ型検索エンジンの改修について話題にして興味を持つ方はほとんどいないでしょうから、このあたりで終わりにしておきます。

未だ登録申請待ちで6,000サイト以上をお待たせしておりますが、今でも日に数件の申請をいただいておりますので、少しでも早く0件にできるよう頑張りたいと思います。