diff --git a/requirements/base.in b/requirements/base.in
index f46dc73..6dabc97 100644
--- a/requirements/base.in
+++ b/requirements/base.in
@@ -20,3 +20,4 @@ humanize
drf-yasg
django-plausible
sentry-sdk
+wagtail-favicon
diff --git a/requirements/base.txt b/requirements/base.txt
index d6361ea..e329a78 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -63,6 +63,7 @@ uritemplate==4.1.1 # via coreapi, drf-yasg
urllib3==1.26.11 # via requests, sentry-sdk
wagtail==3.0.1 # via -r requirements/base.in, wagtail-draftail-snippet, wagtail-metadata
wagtail-draftail-snippet==0.4.1 # via -r requirements/base.in
+wagtail-favicon==0.2.0 # via -r requirements/base.in
wagtail-generic-chooser==0.4.1 # via -r requirements/base.in
wagtail-metadata==4.0.0 # via -r requirements/base.in
webencodings==0.5.1 # via html5lib
diff --git a/requirements/dev.txt b/requirements/dev.txt
index f8138d7..4807f61 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -93,6 +93,7 @@ urllib3==1.26.11 # via -r requirements/base.txt, requests, sentry-sdk
wagtail==3.0.1 # via -r requirements/base.txt, wagtail-draftail-snippet, wagtail-factories, wagtail-metadata
wagtail-draftail-snippet==0.4.1 # via -r requirements/base.txt
wagtail-factories==3.1.0 # via -r requirements/dev.in
+wagtail-favicon==0.2.0 # via -r requirements/base.txt
wagtail-generic-chooser==0.4.1 # via -r requirements/base.txt
wagtail-metadata==4.0.0 # via -r requirements/base.txt
webencodings==0.5.1 # via -r requirements/base.txt, html5lib
diff --git a/website/common/templates/base.html b/website/common/templates/base.html
index d3c779a..0d05cd8 100644
--- a/website/common/templates/base.html
+++ b/website/common/templates/base.html
@@ -1,4 +1,4 @@
-{% load static wagtailcore_tags wagtailuserbar navbar_tags footer_tags cache plausible_wagtail %}
+{% load static wagtailcore_tags wagtailuserbar navbar_tags footer_tags cache plausible_wagtail favicon_tags %}
@@ -16,6 +16,9 @@
{% if not SEO_INDEX %}
{% endif %}
+
+ {% favicon_meta %}
+
{% block extra_head %}{% endblock %}
diff --git a/website/settings.py b/website/settings.py
index 04d7ff9..3700de0 100644
--- a/website/settings.py
+++ b/website/settings.py
@@ -63,6 +63,7 @@ INSTALLED_APPS = [
"wagtail_draftail_snippet",
"django_rq",
"drf_yasg",
+ "wagtail_favicon",
"plausible",
"plausible.contrib.wagtail",
"django.contrib.auth",
diff --git a/website/urls.py b/website/urls.py
index 464ecfb..ed864f6 100644
--- a/website/urls.py
+++ b/website/urls.py
@@ -6,6 +6,7 @@ from wagtail.admin import urls as wagtailadmin_urls
from wagtail.contrib.sitemaps.views import sitemap
from wagtail.documents import urls as wagtaildocs_urls
from wagtail.images.views.serve import ServeView
+from wagtail_favicon.urls import urls as favicon_urls
from website.common.views import AllPagesFeed, KeybaseView, RobotsView, page_not_found
@@ -29,6 +30,7 @@ urlpatterns = [
path("feed/", AllPagesFeed(), name="feed"),
path("", include("website.legacy.urls")),
path("api/", include("website.api.urls")),
+ path("", include(favicon_urls)),
]