diff options
author | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-04-01 09:55:05 +0300 |
---|---|---|
committer | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-04-01 09:57:12 +0300 |
commit | 94ddbe4098e167f9537d168261a6cc76fa17508b (patch) | |
tree | ad9483c2619afc7d66fa76111804bdc6db400410 /lib | |
parent | 8bd5ad8664479b722e6905306f6342f35e2a84d2 (diff) | |
download | pleroma-94ddbe4098e167f9537d168261a6cc76fa17508b.tar.gz pleroma-94ddbe4098e167f9537d168261a6cc76fa17508b.zip |
restrict remote users from indexing
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/metadata.ex | 7 | ||||
-rw-r--r-- | lib/pleroma/web/metadata/restrict_indexing.ex | 25 |
2 files changed, 31 insertions, 1 deletions
diff --git a/lib/pleroma/web/metadata.ex b/lib/pleroma/web/metadata.ex index c9aac27dc..a9f70c43e 100644 --- a/lib/pleroma/web/metadata.ex +++ b/lib/pleroma/web/metadata.ex @@ -6,7 +6,12 @@ defmodule Pleroma.Web.Metadata do alias Phoenix.HTML def build_tags(params) do - Enum.reduce(Pleroma.Config.get([__MODULE__, :providers], []), "", fn parser, acc -> + providers = [ + Pleroma.Web.Metadata.Providers.RestrictIndexing + | Pleroma.Config.get([__MODULE__, :providers], []) + ] + + Enum.reduce(providers, "", fn parser, acc -> rendered_html = params |> parser.build_tags() diff --git a/lib/pleroma/web/metadata/restrict_indexing.ex b/lib/pleroma/web/metadata/restrict_indexing.ex new file mode 100644 index 000000000..f15607896 --- /dev/null +++ b/lib/pleroma/web/metadata/restrict_indexing.ex @@ -0,0 +1,25 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.Metadata.Providers.RestrictIndexing do + @behaviour Pleroma.Web.Metadata.Providers.Provider + + @moduledoc """ + Restricts indexing of remote users. + """ + + @impl true + def build_tags(%{user: %{local: false}}) do + [ + {:meta, + [ + name: "robots", + content: "noindex, noarchive" + ], []} + ] + end + + @impl true + def build_tags(%{user: %{local: true}}), do: [] +end |