Metatags provides an easy and flexible way to set both default and page specifig metatags that are used for SEO, facebook, twitter etc.
add metatags
to your list of dependencies in mix.exs
:
def deps do
[{:metatags, "~> 0.1.0"}]
end
Configure the defaults in confix.ex
config :metatags,
sitename: "My_app",
separator: "-",
default_tags: %{
"title" => "Welcome!",
"description" => "My_app is a great app",
"keywords" => ["My_app", "great", "elixir"]
}
Add metatags as a plug. either directly in a scope or into a Phoenix pipeline
plug Metatags
In your controller put page specific data
conn
|> Metatags.put("title", "About My_app")
And print them out inside your head tag
<!DOCTYPE>
<html>
<head>
<%= Metadata.print_tags(@conn) %>
</head>
<body>
</body>
</html>
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/metatags.