独自の短縮URLを導入してみた

URLの短縮といえば「bit.ly」や「goo.gl」が有名です。

このサービスを利用することで長くて見づらいURLを短縮することが可能になります。

一方でこれらのサービスは突然終了してしまうリスクがあります。

さらに生成されたURLの後ろに「+」を付与することで、そのURLがどれくらいクリックされたか、どのブラウザかなどの解析情報を誰でも見ることができてしまいます。

下の写真はgoo.glの例です。

shorten-url

そこで今回はAWSに独自の短縮URLの導入を行ってみました。

スポンサーリンク

YOURLS

オープンソースで提供されている「YOURLS」を導入してみたいと思います。

YOURLSの特徴を公式から引用・翻訳すると以下が挙げられます。

  • 無料 かつ オープンソースのソフトウェア
  • プライベート(自分のリンクだけ) または パブリック(誰でも短縮可能)
  • 連続したURL または カスタマイズしたURL
  • 短縮とシェアが簡単にできる便利なブックマークレット
  • 素晴らしい統計: 過去のクリックレポート, リファラトラッキング, 訪問者の位置情報
  • きちんとしたAjaxインターフェース
  • 簡単に新しい機能を実装するための素晴らしいプラグインアーキテクチャ
  • クールな開発者用API
  • フルjsonpサポート
  • 使いやすいインストーラー
  • 自作公開インターフェース作成のためのサンプルファイル

 手順

ソースをgitからclone

YOURLS - Your Own URL Shortener.

/var/wwwディレクトリなどでコマンドを実行します。

適宜所有者を変更します。

設定の編集

userディレクトリ下のconfig-sample.phpをconfig.phpにコピーして設定を書き換えます。

設定例

ユーザーとデータベースを作成

MySQLにYOURLS用のユーザーとデータベースを作成します。

上で設定した値に合わせてを作成します。

ブラウザからアクセスできるようにする

apacheやnginxの設定を追加して、ブラウザから上で設定した「YOURLS_SITE」にアクセスできるようにします。

adminにアクセス

[YOURLS_SITEで設定したURL]/adminにアクセスします。

上の設定例だとすると「https://s.technote.space/admin」です。

installの実行

adminにアクセスすると、インストールが行われていない場合にadmin/install.phpにリダイレクトされます。

そのページで写真の赤枠で囲われた「Install YOURLS」をクリックします。

yourls1

うまくいくと次のページに移行します。

yourls2

もし下の写真のように「.htaccess」への書き込みに失敗した場合は、手動で「.htaccess」を追加します。

yourls3

YOURLSディレクトリ直下に「.htaccess」ファイルを作成します。

ファイルに以下を書き込みます。

もし設定で指定した「YOURLS_SITE」がサブディレクトリの場合は公式ページを参考にしてください。

生成URLのランダム化

デフォルトだと連番で短縮URLが生成されてしまいます。

プラグインでランダムなURLにすることが可能です。

random-keywords - Assign random keywords to shorturls, like bitly (ie `sho.rt/hJudjK`)

user/pluginsフォルダでコマンドを実行します。

管理画面のプラグインから「Random Keywords」を有効化します。

日本語化

YOURLS-ja_JP - YOURLS 1.7日本語訳

こちらを利用させていただきます。

例えば/var/www/YOURLSディレクトリで以下を実行します。

実際に短縮させてみる

管理画面で短縮できます。

yourls4

短縮したURLは下のテーブルの一番左に表示されます。

実際にこのブログのトップページを短縮したURLです。

https://s.technote.space/wei5a

トップページのURLより長くなってしまいましたが、トップページにリダイレクトされることが確認できました。

統計画面

短縮したURLのクリック状況なども見ることができます。

テーブルの右の方にマウスを合わせるとメニューが出てくるので、赤枠のボタンを選択します。

yourls5

統計画面に移動します。

yourls6

  • いつクリックされたか
  • どこでクリックされたか(地理的な場所)
  • どこでクリックされたか(リファラ)

を見ることができます。

yourls7

yourls8

まとめ

無料で割と簡単に独自の短縮URLを導入することができました。

次はWordPressの短縮URL生成時に、今回導入した短縮URLを使用するようにカスタマイズしていきたいと思います。

スポンサーリンク

シェアする

フォローする