diff --git a/district/models.py b/district/models.py
index 9c9108667fcd0adbdfec3eada9117e556b2c04ca..4c946bd705530fc6260c3233839d6a4a8f19a45e 100644
--- a/district/models.py
+++ b/district/models.py
@@ -344,7 +344,10 @@ class DistrictArticlePage(ArticleMixin, SubpageMixin, MetadataPageMixin, Page):
         FieldPanel("tags"),
     ]
 
-    promote_panels = make_promote_panels()
+    promote_panels = make_promote_panels(
+        admin_help.build(admin_help.NO_SEO_TITLE, admin_help.NO_DESCRIPTION_USE_PEREX),
+        search_image=False,
+    )
 
     ### RELATIONS
 
diff --git a/elections2021/models.py b/elections2021/models.py
index 70a887db307715d73684226ec66075987265b77c..856143276d3b0581036c8604d023734c31ab974a 100644
--- a/elections2021/models.py
+++ b/elections2021/models.py
@@ -586,16 +586,6 @@ class Elections2021ArticlePage(ArticleMixin, SubpageMixin, MetadataPageMixin, Pa
     class Meta:
         verbose_name = "Aktualita"
 
-    def get_meta_image(self):
-        return self.image
-
-    def get_meta_description(self):
-        if self.search_description:
-            return self.search_description
-        if len(self.perex) > 150:
-            return str(self.perex)[:150] + "..."
-        return self.perex
-
     def card_css_class(self):
         return STYLE_CSS[self.card_style]
 
diff --git a/region/models.py b/region/models.py
index 02a3d8a721fb745c61ab22a878016d0b852451ef..d1f6072b4bdd5b51b562098f9db4d29440f7adab 100644
--- a/region/models.py
+++ b/region/models.py
@@ -334,7 +334,10 @@ class RegionArticlePage(ArticleMixin, SubpageMixin, MetadataPageMixin, Page):
         FieldPanel("tags"),
     ]
 
-    promote_panels = make_promote_panels()
+    promote_panels = make_promote_panels(
+        admin_help.build(admin_help.NO_SEO_TITLE, admin_help.NO_DESCRIPTION_USE_PEREX),
+        search_image=False,
+    )
 
     ### RELATIONS
 
diff --git a/shared/models.py b/shared/models.py
index a145e5484ff5ffc9c4069a1f6ae1bae1d01f71b5..09c39f312e5f1835ef0ebcca4180af93977abd7d 100644
--- a/shared/models.py
+++ b/shared/models.py
@@ -31,7 +31,9 @@ class SubpageMixin:
 
 class ArticleMixin(models.Model):
     """
-    Common fields for articles
+    Common fields for articles.
+
+    Must be used in class definition before MetadataPageMixin!
 
     If you want to tag articles, add tags as `tags` field in article page model.
     """
@@ -101,6 +103,16 @@ class ArticleMixin(models.Model):
         """Page used for filtering by tags in url like `?tag=foo`."""
         return self.get_parent()
 
+    def get_meta_image(self):
+        return self.image
+
+    def get_meta_description(self):
+        if self.search_description:
+            return self.search_description
+        if len(self.perex) > 150:
+            return str(self.perex)[:150] + "..."
+        return self.perex
+
 
 class MenuMixin(Page):
     menu = StreamField(
diff --git a/uniweb/models.py b/uniweb/models.py
index f4dc030c1efe036bf85b8dba8a0860a7cd20ca50..d279eb022d60c1a27edc0193f201b2c199677544 100644
--- a/uniweb/models.py
+++ b/uniweb/models.py
@@ -459,7 +459,10 @@ class UniwebArticlePage(ArticleMixin, SubpageMixin, MetadataPageMixin, Page):
 
     content_panels = ArticleMixin.content_panels + [FieldPanel("tags")]
 
-    promote_panels = make_promote_panels()
+    promote_panels = make_promote_panels(
+        admin_help.build(admin_help.NO_SEO_TITLE, admin_help.NO_DESCRIPTION_USE_PEREX),
+        search_image=False,
+    )
 
     ### RELATIONS