Nao000のぶろぐ

蝶を追っている少年になりたい

【Elixir Phoenix】Elixirで"www"有り無しのURL正規化を行える"plug_canonical_host"を試してみた記録

目次

  1. バージョン情報
  2. plug_canonical_hostとは
  3. 使用までの流れ
  4. 参考文献

バージョン情報

Elixir: 1.8.1

Phoenix: 1.4.2

plug_canonical_hostとは

Elixirでカノニカルホストにリダイレクトしてくれるモジュールです。

SEO対策の1つに"www"有り無しを統一するものがあります。このブログはGigalixirにホストしています。nao000.com と www.nao000.com の統一ができていませんでしたので使用しました。

使用までの流れ

基本的に公式サンプルに従っています。なので一次情報元を積極的に参照する勢は公式をご参照ください。

インストール

  defp deps do
    [
      {:plug_canonical_host, "~> 1.0.0"}
    ]
  end

config.exsに追記

リダイレクト先のドメインを指定します。今回はprod.exsに記載しますが最終的にconfig.exsで読み込めれば問題ないです。

    config :nao000dotcom,
      canonical_host: "www.nao000.com"

endpoint.exに追記

endpoint.exに以下を追記します。アプリケーション名のAtomは適宜変更してください。

      defp canonical_host(conn, _opts) do
        :nao000dotcom
        |> Application.get_env(:canonical_host)
        |> case do
          host when is_binary(host) ->
            opts = PlugCanonicalHost.init(canonical_host: host)
            PlugCanonicalHost.call(conn, opts)

          _ ->
            conn
        end
      end

参考文献