diff --git a/app/models/communication/block/heading.rb b/app/models/communication/block/heading.rb
index 770c78932f39ae8b87e8f21b892cb4ebaf59e542..e41fc573dac3fcc9d35e58a3b4db248f53afb848 100644
--- a/app/models/communication/block/heading.rb
+++ b/app/models/communication/block/heading.rb
@@ -6,7 +6,7 @@
 #  about_type    :string           not null, indexed => [about_id]
 #  level         :integer          default(2)
 #  position      :integer
-#  slug          :string
+#  slug          :string           indexed
 #  title         :string
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
@@ -18,6 +18,7 @@
 #
 #  index_communication_block_headings_on_about          (about_type,about_id)
 #  index_communication_block_headings_on_parent_id      (parent_id)
+#  index_communication_block_headings_on_slug           (slug)
 #  index_communication_block_headings_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/extranet/document/category.rb b/app/models/communication/extranet/document/category.rb
index 5c56538726df9c72493be52bf0cd553a20264d54..42591e0d516aee9a86c8a65ccb490074d602c616 100644
--- a/app/models/communication/extranet/document/category.rb
+++ b/app/models/communication/extranet/document/category.rb
@@ -4,7 +4,7 @@
 #
 #  id            :uuid             not null, primary key
 #  name          :string
-#  slug          :string
+#  slug          :string           indexed
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
 #  extranet_id   :uuid             not null, indexed
@@ -14,6 +14,7 @@
 #
 #  extranet_document_categories_universities                        (university_id)
 #  index_communication_extranet_document_categories_on_extranet_id  (extranet_id)
+#  index_communication_extranet_document_categories_on_slug         (slug)
 #
 # Foreign Keys
 #
diff --git a/app/models/communication/extranet/document/kind.rb b/app/models/communication/extranet/document/kind.rb
index c5fa1d03b3245e90d062ee407d2c7add322790aa..36a3c9f6c29558113a22c59819aab06b03be364f 100644
--- a/app/models/communication/extranet/document/kind.rb
+++ b/app/models/communication/extranet/document/kind.rb
@@ -4,7 +4,7 @@
 #
 #  id            :uuid             not null, primary key
 #  name          :string
-#  slug          :string
+#  slug          :string           indexed
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
 #  extranet_id   :uuid             not null, indexed
@@ -14,6 +14,7 @@
 #
 #  extranet_document_kinds_universities                        (university_id)
 #  index_communication_extranet_document_kinds_on_extranet_id  (extranet_id)
+#  index_communication_extranet_document_kinds_on_slug         (slug)
 #
 # Foreign Keys
 #
diff --git a/app/models/communication/extranet/post.rb b/app/models/communication/extranet/post.rb
index dfcec7eb673b1dd30089ed9f093b77d0d15e2a54..bb3d5f37041e099a53737d1f7cfcf9556cea712c 100644
--- a/app/models/communication/extranet/post.rb
+++ b/app/models/communication/extranet/post.rb
@@ -8,7 +8,7 @@
 #  pinned                :boolean          default(FALSE)
 #  published             :boolean          default(FALSE)
 #  published_at          :datetime
-#  slug                  :string
+#  slug                  :string           indexed
 #  summary               :text
 #  title                 :string
 #  created_at            :datetime         not null
@@ -23,6 +23,7 @@
 #  index_communication_extranet_posts_on_author_id      (author_id)
 #  index_communication_extranet_posts_on_category_id    (category_id)
 #  index_communication_extranet_posts_on_extranet_id    (extranet_id)
+#  index_communication_extranet_posts_on_slug           (slug)
 #  index_communication_extranet_posts_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/extranet/post/category.rb b/app/models/communication/extranet/post/category.rb
index 6a5aa84a24091138bcffac2221a111bf217538eb..560a5e574c529f6dd65d053df68689e1ec887cbf 100644
--- a/app/models/communication/extranet/post/category.rb
+++ b/app/models/communication/extranet/post/category.rb
@@ -4,7 +4,7 @@
 #
 #  id            :uuid             not null, primary key
 #  name          :string
-#  slug          :string
+#  slug          :string           indexed
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
 #  extranet_id   :uuid             not null, indexed
@@ -13,6 +13,7 @@
 # Indexes
 #
 #  index_communication_extranet_post_categories_on_extranet_id    (extranet_id)
+#  index_communication_extranet_post_categories_on_slug           (slug)
 #  index_communication_extranet_post_categories_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/agenda/event.rb b/app/models/communication/website/agenda/event.rb
index db88db5e0f63db34cc9175c4100277f58ccb2421..d179b49ed2b0f2890685d18b2a726eb0d3fbcf8b 100644
--- a/app/models/communication/website/agenda/event.rb
+++ b/app/models/communication/website/agenda/event.rb
@@ -9,7 +9,7 @@
 #  from_hour                :time
 #  meta_description         :text
 #  published                :boolean          default(FALSE)
-#  slug                     :text
+#  slug                     :string           indexed
 #  summary                  :text
 #  title                    :string
 #  to_day                   :date
@@ -28,6 +28,7 @@
 #  index_communication_website_agenda_events_on_language_id    (language_id)
 #  index_communication_website_agenda_events_on_original_id    (original_id)
 #  index_communication_website_agenda_events_on_parent_id      (parent_id)
+#  index_communication_website_agenda_events_on_slug           (slug)
 #  index_communication_website_agenda_events_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/category.rb b/app/models/communication/website/category.rb
index 571f5bacf300cd292c804161cf5a68b71074f0d2..17afdc07c9fa9f4cbdd33c3304558091d5b051a7 100644
--- a/app/models/communication/website/category.rb
+++ b/app/models/communication/website/category.rb
@@ -10,7 +10,7 @@
 #  name                     :string
 #  path                     :string
 #  position                 :integer
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  created_at               :datetime         not null
 #  updated_at               :datetime         not null
@@ -28,6 +28,7 @@
 #  index_communication_website_categories_on_original_id            (original_id)
 #  index_communication_website_categories_on_parent_id              (parent_id)
 #  index_communication_website_categories_on_program_id             (program_id)
+#  index_communication_website_categories_on_slug                   (slug)
 #  index_communication_website_categories_on_university_id          (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page.rb b/app/models/communication/website/page.rb
index 9c7f9d5c17bec1bc40f634314cd647d31450213e..d10eb394149268db637a0f3c98fbe7bfc21147aa 100644
--- a/app/models/communication/website/page.rb
+++ b/app/models/communication/website/page.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/accessibility.rb b/app/models/communication/website/page/accessibility.rb
index 29864c889b9bdbea32f691634e49bef85cf8db5a..9905f2880bf9f857e0acefc0887df64ee598be61 100644
--- a/app/models/communication/website/page/accessibility.rb
+++ b/app/models/communication/website/page/accessibility.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/administrator.rb b/app/models/communication/website/page/administrator.rb
index cb8654ef8b81f8e18919f230995867810c72809e..ca6144eade91f91c98b17053ded8c394b9cc0112 100644
--- a/app/models/communication/website/page/administrator.rb
+++ b/app/models/communication/website/page/administrator.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/author.rb b/app/models/communication/website/page/author.rb
index 9a22de87c4879aaf4ff9eec7d1a9a67efe15fad3..dd81fa6dbe901b31501860039c397d8b22b0d103 100644
--- a/app/models/communication/website/page/author.rb
+++ b/app/models/communication/website/page/author.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/communication_agenda.rb b/app/models/communication/website/page/communication_agenda.rb
index d30481e867167faae0dde427640bf24ab53d226c..4e17c15e04162d22fee8c2df61e41aa0abecaa10 100644
--- a/app/models/communication/website/page/communication_agenda.rb
+++ b/app/models/communication/website/page/communication_agenda.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/communication_agenda_archive.rb b/app/models/communication/website/page/communication_agenda_archive.rb
index 107858ddb592722aa54e5ecd384d4f33caff538e..822731a13b6da15b49b878638cbb6989a5161d46 100644
--- a/app/models/communication/website/page/communication_agenda_archive.rb
+++ b/app/models/communication/website/page/communication_agenda_archive.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/communication_post.rb b/app/models/communication/website/page/communication_post.rb
index a999ac5c6cf26d077923f90033a0662b108bc523..7d08bc227ebf4805206da7ac54cc6045313d1a49 100644
--- a/app/models/communication/website/page/communication_post.rb
+++ b/app/models/communication/website/page/communication_post.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/education_diploma.rb b/app/models/communication/website/page/education_diploma.rb
index a66482d0313d9fa0dc04e8678b8f97f72dc39c1c..416c168f758f92179f229d53b95321bff6131e76 100644
--- a/app/models/communication/website/page/education_diploma.rb
+++ b/app/models/communication/website/page/education_diploma.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/education_program.rb b/app/models/communication/website/page/education_program.rb
index b9d4fe227d9c1681dab5a8c3674d03c4814028d5..6a1e2827046b2252cf570ef5914c1bbb395b7a49 100644
--- a/app/models/communication/website/page/education_program.rb
+++ b/app/models/communication/website/page/education_program.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/home.rb b/app/models/communication/website/page/home.rb
index 751a63f99b83df8e07c6f3c87b1e5e3002ef6297..8c944b1248ae956c77169ea77b1a968886a041ca 100644
--- a/app/models/communication/website/page/home.rb
+++ b/app/models/communication/website/page/home.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/legal_term.rb b/app/models/communication/website/page/legal_term.rb
index 0ba9097a2e0cfce86f2bb03349e59eeb705204e9..91deae0750e8bf5fccf1693ea9016c5dc1d1cb6f 100644
--- a/app/models/communication/website/page/legal_term.rb
+++ b/app/models/communication/website/page/legal_term.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/organization.rb b/app/models/communication/website/page/organization.rb
index 1c58702dc5b9afa8f861320c0ce2a6f6bd758e56..f160ede8c709f85d331440b4a44c4420af834a99 100644
--- a/app/models/communication/website/page/organization.rb
+++ b/app/models/communication/website/page/organization.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/person.rb b/app/models/communication/website/page/person.rb
index 4c064e2f980282121502dc2053c30938a3ecb1a2..175d5ec7aa62fe1fb670803c912656709c0e660f 100644
--- a/app/models/communication/website/page/person.rb
+++ b/app/models/communication/website/page/person.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/privacy_policy.rb b/app/models/communication/website/page/privacy_policy.rb
index b1b588b0cfa213e2c4381983d850d579608c6b76..f1508624d2169413ec48d6977b1a86a9598b5a10 100644
--- a/app/models/communication/website/page/privacy_policy.rb
+++ b/app/models/communication/website/page/privacy_policy.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/research_hal_publication.rb b/app/models/communication/website/page/research_hal_publication.rb
index 4dd7fbeb88d82b3767e556d680e3cf5a0c03f630..c6d3c4dee4005907fb55f7ca8b094eb57c8b5ca1 100644
--- a/app/models/communication/website/page/research_hal_publication.rb
+++ b/app/models/communication/website/page/research_hal_publication.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/research_paper.rb b/app/models/communication/website/page/research_paper.rb
index 5dcd4ee29db65291417800744600aa567fb44e9a..4312f9faf2c0c489aa9b35fb6fd76cc467514d8c 100644
--- a/app/models/communication/website/page/research_paper.rb
+++ b/app/models/communication/website/page/research_paper.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/research_volume.rb b/app/models/communication/website/page/research_volume.rb
index 8f754c60c6cf1597ef1280b534c003fee1af757d..a4f383ee94591c114d8508d02f06da2fcf383c50 100644
--- a/app/models/communication/website/page/research_volume.rb
+++ b/app/models/communication/website/page/research_volume.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/researcher.rb b/app/models/communication/website/page/researcher.rb
index 1e3f24b22a89ac58716d87ca69b3e5aee93e9339..c5ac173da59f5fa282ab2ef07f59d33c5c808af0 100644
--- a/app/models/communication/website/page/researcher.rb
+++ b/app/models/communication/website/page/researcher.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/sitemap.rb b/app/models/communication/website/page/sitemap.rb
index 6880c938b5313c648467e6aeff1072639f757133..fe79d1768f24777ba90962f05b3f5b6ac6ae4674 100644
--- a/app/models/communication/website/page/sitemap.rb
+++ b/app/models/communication/website/page/sitemap.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/page/teacher.rb b/app/models/communication/website/page/teacher.rb
index 0ac6aa49d634284ea2259e965d25248bbbec2318..3b55bacc26db6160aedff1821b59fcfaa52cd875 100644
--- a/app/models/communication/website/page/teacher.rb
+++ b/app/models/communication/website/page/teacher.rb
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/communication/website/post.rb b/app/models/communication/website/post.rb
index 4ed2039ef5b66625cd4f69909bd9c4f20b109907..837dc5a090644631af292bcbba30500d957dc7aa 100644
--- a/app/models/communication/website/post.rb
+++ b/app/models/communication/website/post.rb
@@ -10,7 +10,7 @@
 #  pinned                   :boolean          default(FALSE)
 #  published                :boolean          default(FALSE)
 #  published_at             :datetime
-#  slug                     :text
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -28,6 +28,7 @@
 #  index_communication_website_posts_on_communication_website_id  (communication_website_id)
 #  index_communication_website_posts_on_language_id               (language_id)
 #  index_communication_website_posts_on_original_id               (original_id)
+#  index_communication_website_posts_on_slug                      (slug)
 #  index_communication_website_posts_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/app/models/education/diploma.rb b/app/models/education/diploma.rb
index 46999822137503b65350f3ebb3c2771d68ec073f..9146d6e87660c00b7da559f631662c1cf7960b12 100644
--- a/app/models/education/diploma.rb
+++ b/app/models/education/diploma.rb
@@ -8,7 +8,7 @@
 #  level         :integer          default("not_applicable")
 #  name          :string
 #  short_name    :string
-#  slug          :string
+#  slug          :string           indexed
 #  summary       :text
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
@@ -16,6 +16,7 @@
 #
 # Indexes
 #
+#  index_education_diplomas_on_slug           (slug)
 #  index_education_diplomas_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/app/models/education/program.rb b/app/models/education/program.rb
index a99f54febfb8daa24cdb2e8c4e0f0067827945fd..41f6efb22314129dfd7d23381959b47e5777a1b6 100644
--- a/app/models/education/program.rb
+++ b/app/models/education/program.rb
@@ -30,7 +30,7 @@
 #  registration_url      :string
 #  results               :text
 #  short_name            :string
-#  slug                  :string
+#  slug                  :string           indexed
 #  summary               :text
 #  created_at            :datetime         not null
 #  updated_at            :datetime         not null
@@ -42,6 +42,7 @@
 #
 #  index_education_programs_on_diploma_id     (diploma_id)
 #  index_education_programs_on_parent_id      (parent_id)
+#  index_education_programs_on_slug           (slug)
 #  index_education_programs_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/app/models/research/hal/publication.rb b/app/models/research/hal/publication.rb
index c7951dfe9a8280bba4cf5bad058dbf4e4117fc37..7f01e14ee7e21cc639fa92dfc963080abb204a12 100644
--- a/app/models/research/hal/publication.rb
+++ b/app/models/research/hal/publication.rb
@@ -16,7 +16,7 @@
 #  open_access      :boolean
 #  publication_date :date
 #  ref              :string
-#  slug             :string
+#  slug             :string           indexed
 #  title            :string
 #  url              :string
 #  created_at       :datetime         not null
@@ -25,6 +25,7 @@
 # Indexes
 #
 #  index_research_hal_publications_on_docid  (docid)
+#  index_research_hal_publications_on_slug   (slug)
 #
 class Research::Hal::Publication < ApplicationRecord
   include AsIndirectObject
diff --git a/app/models/research/journal/paper.rb b/app/models/research/journal/paper.rb
index 59c062512e6b3f0a6e65b47017cde4ab18c8dbe9..ba9aee71e07ead5a4d9d10851d1c7a878b83e28b 100644
--- a/app/models/research/journal/paper.rb
+++ b/app/models/research/journal/paper.rb
@@ -14,7 +14,7 @@
 #  published                  :boolean          default(FALSE)
 #  published_at               :datetime
 #  received_at                :date
-#  slug                       :string
+#  slug                       :string           indexed
 #  summary                    :text
 #  text                       :text
 #  title                      :string
@@ -31,6 +31,7 @@
 #  index_research_journal_papers_on_kind_id                     (kind_id)
 #  index_research_journal_papers_on_research_journal_id         (research_journal_id)
 #  index_research_journal_papers_on_research_journal_volume_id  (research_journal_volume_id)
+#  index_research_journal_papers_on_slug                        (slug)
 #  index_research_journal_papers_on_university_id               (university_id)
 #  index_research_journal_papers_on_updated_by_id               (updated_by_id)
 #
diff --git a/app/models/research/journal/paper/kind.rb b/app/models/research/journal/paper/kind.rb
index ca2f887065fde4179dcda5a81d20d00a82813abd..4ac1d90d922fa238103851e2c6a6cc4cae694e2a 100644
--- a/app/models/research/journal/paper/kind.rb
+++ b/app/models/research/journal/paper/kind.rb
@@ -3,7 +3,7 @@
 # Table name: research_journal_paper_kinds
 #
 #  id            :uuid             not null, primary key
-#  slug          :string
+#  slug          :string           indexed
 #  title         :string
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
@@ -13,6 +13,7 @@
 # Indexes
 #
 #  index_research_journal_paper_kinds_on_journal_id     (journal_id)
+#  index_research_journal_paper_kinds_on_slug           (slug)
 #  index_research_journal_paper_kinds_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/app/models/research/journal/volume.rb b/app/models/research/journal/volume.rb
index d2329a2bb34db93e0e598078e1f65185e519cec9..c2efddbb93dee263e2d580fdb20bbd009238a3b2 100644
--- a/app/models/research/journal/volume.rb
+++ b/app/models/research/journal/volume.rb
@@ -10,7 +10,7 @@
 #  number                :integer
 #  published             :boolean          default(FALSE)
 #  published_at          :datetime
-#  slug                  :string
+#  slug                  :string           indexed
 #  summary               :text
 #  text                  :text
 #  title                 :string
@@ -22,6 +22,7 @@
 # Indexes
 #
 #  index_research_journal_volumes_on_research_journal_id  (research_journal_id)
+#  index_research_journal_volumes_on_slug                 (slug)
 #  index_research_journal_volumes_on_university_id        (university_id)
 #
 # Foreign Keys
diff --git a/app/models/university/organization.rb b/app/models/university/organization.rb
index 9cdd65b6915ff386e3e333d4b83de8864d5a2111..567c053e21abffd9ca266276749c6260db2a77e7 100644
--- a/app/models/university/organization.rb
+++ b/app/models/university/organization.rb
@@ -21,7 +21,7 @@
 #  nic                :string
 #  phone              :string
 #  siren              :string
-#  slug               :string
+#  slug               :string           indexed
 #  summary            :text
 #  text               :text
 #  twitter            :string
@@ -37,6 +37,7 @@
 #
 #  index_university_organizations_on_language_id    (language_id)
 #  index_university_organizations_on_original_id    (original_id)
+#  index_university_organizations_on_slug           (slug)
 #  index_university_organizations_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/app/models/university/person.rb b/app/models/university/person.rb
index 4e0f9f82c1825b45551fb6a03b96eba1f8204c18..18443d0d07bbea1a871b49aa446bee56a416a392 100644
--- a/app/models/university/person.rb
+++ b/app/models/university/person.rb
@@ -25,7 +25,7 @@
 #  phone_mobile       :string
 #  phone_personal     :string
 #  phone_professional :string
-#  slug               :string
+#  slug               :string           indexed
 #  summary            :text
 #  tenure             :boolean          default(FALSE)
 #  twitter            :string
@@ -42,6 +42,7 @@
 #
 #  index_university_people_on_language_id    (language_id)
 #  index_university_people_on_original_id    (original_id)
+#  index_university_people_on_slug           (slug)
 #  index_university_people_on_university_id  (university_id)
 #  index_university_people_on_user_id        (user_id)
 #
diff --git a/app/models/university/person/administrator.rb b/app/models/university/person/administrator.rb
index aae047a35bda4b05e961089bda4c377e4971c9e8..b603bbe0ee87dc7544cc629116cb7902b601e383 100644
--- a/app/models/university/person/administrator.rb
+++ b/app/models/university/person/administrator.rb
@@ -25,7 +25,7 @@
 #  phone_mobile       :string
 #  phone_personal     :string
 #  phone_professional :string
-#  slug               :string
+#  slug               :string           indexed
 #  summary            :text
 #  tenure             :boolean          default(FALSE)
 #  twitter            :string
@@ -42,6 +42,7 @@
 #
 #  index_university_people_on_language_id    (language_id)
 #  index_university_people_on_original_id    (original_id)
+#  index_university_people_on_slug           (slug)
 #  index_university_people_on_university_id  (university_id)
 #  index_university_people_on_user_id        (user_id)
 #
diff --git a/app/models/university/person/alumnus.rb b/app/models/university/person/alumnus.rb
index 83b710e238990a2cbf9b125fea8c38006dd1f48b..9126ac37ae5d00babdccf103d395b950055ce033 100644
--- a/app/models/university/person/alumnus.rb
+++ b/app/models/university/person/alumnus.rb
@@ -25,7 +25,7 @@
 #  phone_mobile       :string
 #  phone_personal     :string
 #  phone_professional :string
-#  slug               :string
+#  slug               :string           indexed
 #  summary            :text
 #  tenure             :boolean          default(FALSE)
 #  twitter            :string
@@ -42,6 +42,7 @@
 #
 #  index_university_people_on_language_id    (language_id)
 #  index_university_people_on_original_id    (original_id)
+#  index_university_people_on_slug           (slug)
 #  index_university_people_on_university_id  (university_id)
 #  index_university_people_on_user_id        (user_id)
 #
diff --git a/app/models/university/person/author.rb b/app/models/university/person/author.rb
index 0adb5fac5166e15a9e0133391f0ac09a88617f36..3938cc65b427cfac4d9f59ee77ae05e3b84ff350 100644
--- a/app/models/university/person/author.rb
+++ b/app/models/university/person/author.rb
@@ -25,7 +25,7 @@
 #  phone_mobile       :string
 #  phone_personal     :string
 #  phone_professional :string
-#  slug               :string
+#  slug               :string           indexed
 #  summary            :text
 #  tenure             :boolean          default(FALSE)
 #  twitter            :string
@@ -42,6 +42,7 @@
 #
 #  index_university_people_on_language_id    (language_id)
 #  index_university_people_on_original_id    (original_id)
+#  index_university_people_on_slug           (slug)
 #  index_university_people_on_university_id  (university_id)
 #  index_university_people_on_user_id        (user_id)
 #
diff --git a/app/models/university/person/researcher.rb b/app/models/university/person/researcher.rb
index 43c4da82367f84cb65a36fe571f32b96bd3ece62..84ce075d02bf68e993971d2cce7ac7469b6eb3fe 100644
--- a/app/models/university/person/researcher.rb
+++ b/app/models/university/person/researcher.rb
@@ -25,7 +25,7 @@
 #  phone_mobile       :string
 #  phone_personal     :string
 #  phone_professional :string
-#  slug               :string
+#  slug               :string           indexed
 #  summary            :text
 #  tenure             :boolean          default(FALSE)
 #  twitter            :string
@@ -42,6 +42,7 @@
 #
 #  index_university_people_on_language_id    (language_id)
 #  index_university_people_on_original_id    (original_id)
+#  index_university_people_on_slug           (slug)
 #  index_university_people_on_university_id  (university_id)
 #  index_university_people_on_user_id        (user_id)
 #
diff --git a/app/models/university/person/teacher.rb b/app/models/university/person/teacher.rb
index 064f031d5669eb7f8147f1309e7c3b6ca829f1fd..ed2d5f986be62e4402c2c0377e3b7200adb202b9 100644
--- a/app/models/university/person/teacher.rb
+++ b/app/models/university/person/teacher.rb
@@ -25,7 +25,7 @@
 #  phone_mobile       :string
 #  phone_personal     :string
 #  phone_professional :string
-#  slug               :string
+#  slug               :string           indexed
 #  summary            :text
 #  tenure             :boolean          default(FALSE)
 #  twitter            :string
@@ -42,6 +42,7 @@
 #
 #  index_university_people_on_language_id    (language_id)
 #  index_university_people_on_original_id    (original_id)
+#  index_university_people_on_slug           (slug)
 #  index_university_people_on_university_id  (university_id)
 #  index_university_people_on_user_id        (user_id)
 #
diff --git a/db/migrate/20231006145240_add_indexes_to_slugs.rb b/db/migrate/20231006145240_add_indexes_to_slugs.rb
new file mode 100644
index 0000000000000000000000000000000000000000..2c4dccdf2e764ca6359607c8f959b15176cdb58b
--- /dev/null
+++ b/db/migrate/20231006145240_add_indexes_to_slugs.rb
@@ -0,0 +1,21 @@
+class AddIndexesToSlugs < ActiveRecord::Migration[7.0]
+  def change
+    add_index :communication_block_headings, :slug
+    add_index :communication_extranet_document_categories, :slug
+    add_index :communication_extranet_document_kinds, :slug
+    add_index :communication_extranet_post_categories, :slug
+    add_index :communication_extranet_posts, :slug
+    add_index :communication_website_agenda_events, :slug
+    add_index :communication_website_categories, :slug
+    add_index :communication_website_pages, :slug
+    add_index :communication_website_posts, :slug
+    add_index :education_diplomas, :slug
+    add_index :education_programs, :slug
+    add_index :research_hal_publications, :slug
+    add_index :research_journal_paper_kinds, :slug
+    add_index :research_journal_papers, :slug
+    add_index :research_journal_volumes, :slug
+    add_index :university_organizations, :slug
+    add_index :university_people, :slug
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 8efa248cb89214e82bbffd55f78ff8a3f434176c..cb3e15ec4b4180dc9e5047144c500940e13e8f60 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
+ActiveRecord::Schema[7.0].define(version: 2023_10_06_145950) do
   # These are extensions that must be enabled in order to support this database
   enable_extension "pgcrypto"
   enable_extension "plpgsql"
@@ -91,6 +91,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.datetime "updated_at", null: false
     t.index ["about_type", "about_id"], name: "index_communication_block_headings_on_about"
     t.index ["parent_id"], name: "index_communication_block_headings_on_parent_id"
+    t.index ["slug"], name: "index_communication_block_headings_on_slug"
     t.index ["university_id"], name: "index_communication_block_headings_on_university_id"
   end
 
@@ -134,6 +135,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.datetime "updated_at", null: false
     t.string "slug"
     t.index ["extranet_id"], name: "index_communication_extranet_document_categories_on_extranet_id"
+    t.index ["slug"], name: "index_communication_extranet_document_categories_on_slug"
     t.index ["university_id"], name: "extranet_document_categories_universities"
   end
 
@@ -145,6 +147,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.datetime "updated_at", null: false
     t.string "slug"
     t.index ["extranet_id"], name: "index_communication_extranet_document_kinds_on_extranet_id"
+    t.index ["slug"], name: "index_communication_extranet_document_kinds_on_slug"
     t.index ["university_id"], name: "extranet_document_kinds_universities"
   end
 
@@ -172,6 +175,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.datetime "created_at", null: false
     t.datetime "updated_at", null: false
     t.index ["extranet_id"], name: "index_communication_extranet_post_categories_on_extranet_id"
+    t.index ["slug"], name: "index_communication_extranet_post_categories_on_slug"
     t.index ["university_id"], name: "index_communication_extranet_post_categories_on_university_id"
   end
 
@@ -193,6 +197,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.index ["author_id"], name: "index_communication_extranet_posts_on_author_id"
     t.index ["category_id"], name: "index_communication_extranet_posts_on_category_id"
     t.index ["extranet_id"], name: "index_communication_extranet_posts_on_extranet_id"
+    t.index ["slug"], name: "index_communication_extranet_posts_on_slug"
     t.index ["university_id"], name: "index_communication_extranet_posts_on_university_id"
   end
 
@@ -247,11 +252,12 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.uuid "parent_id"
     t.datetime "created_at", null: false
     t.datetime "updated_at", null: false
-    t.text "slug"
+    t.string "slug"
     t.index ["communication_website_id"], name: "index_agenda_events_on_communication_website_id"
     t.index ["language_id"], name: "index_communication_website_agenda_events_on_language_id"
     t.index ["original_id"], name: "index_communication_website_agenda_events_on_original_id"
     t.index ["parent_id"], name: "index_communication_website_agenda_events_on_parent_id"
+    t.index ["slug"], name: "index_communication_website_agenda_events_on_slug"
     t.index ["university_id"], name: "index_communication_website_agenda_events_on_university_id"
   end
 
@@ -278,6 +284,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.index ["original_id"], name: "index_communication_website_categories_on_original_id"
     t.index ["parent_id"], name: "index_communication_website_categories_on_parent_id"
     t.index ["program_id"], name: "index_communication_website_categories_on_program_id"
+    t.index ["slug"], name: "index_communication_website_categories_on_slug"
     t.index ["university_id"], name: "index_communication_website_categories_on_university_id"
   end
 
@@ -379,6 +386,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.index ["language_id"], name: "index_communication_website_pages_on_language_id"
     t.index ["original_id"], name: "index_communication_website_pages_on_original_id"
     t.index ["parent_id"], name: "index_communication_website_pages_on_parent_id"
+    t.index ["slug"], name: "index_communication_website_pages_on_slug"
     t.index ["university_id"], name: "index_communication_website_pages_on_university_id"
   end
 
@@ -405,7 +413,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.datetime "published_at", precision: nil
     t.datetime "created_at", null: false
     t.datetime "updated_at", null: false
-    t.text "slug"
+    t.string "slug"
     t.uuid "author_id"
     t.boolean "pinned", default: false
     t.string "featured_image_alt"
@@ -419,6 +427,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.index ["communication_website_id"], name: "index_communication_website_posts_on_communication_website_id"
     t.index ["language_id"], name: "index_communication_website_posts_on_language_id"
     t.index ["original_id"], name: "index_communication_website_posts_on_original_id"
+    t.index ["slug"], name: "index_communication_website_posts_on_slug"
     t.index ["university_id"], name: "index_communication_website_posts_on_university_id"
   end
 
@@ -540,6 +549,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.integer "ects"
     t.text "duration"
     t.text "summary"
+    t.index ["slug"], name: "index_education_diplomas_on_slug"
     t.index ["university_id"], name: "index_education_diplomas_on_university_id"
   end
 
@@ -580,6 +590,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.text "summary"
     t.index ["diploma_id"], name: "index_education_programs_on_diploma_id"
     t.index ["parent_id"], name: "index_education_programs_on_parent_id"
+    t.index ["slug"], name: "index_education_programs_on_slug"
     t.index ["university_id"], name: "index_education_programs_on_university_id"
   end
 
@@ -701,6 +712,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.text "authors_list"
     t.json "authors_citeproc"
     t.index ["docid"], name: "index_research_hal_publications_on_docid"
+    t.index ["slug"], name: "index_research_hal_publications_on_slug"
   end
 
   create_table "research_hal_publications_university_people", id: false, force: :cascade do |t|
@@ -718,6 +730,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.datetime "created_at", null: false
     t.datetime "updated_at", null: false
     t.index ["journal_id"], name: "index_research_journal_paper_kinds_on_journal_id"
+    t.index ["slug"], name: "index_research_journal_paper_kinds_on_slug"
     t.index ["university_id"], name: "index_research_journal_paper_kinds_on_university_id"
   end
 
@@ -747,6 +760,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.index ["kind_id"], name: "index_research_journal_papers_on_kind_id"
     t.index ["research_journal_id"], name: "index_research_journal_papers_on_research_journal_id"
     t.index ["research_journal_volume_id"], name: "index_research_journal_papers_on_research_journal_volume_id"
+    t.index ["slug"], name: "index_research_journal_papers_on_slug"
     t.index ["university_id"], name: "index_research_journal_papers_on_university_id"
     t.index ["updated_by_id"], name: "index_research_journal_papers_on_updated_by_id"
   end
@@ -775,6 +789,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.text "featured_image_credit"
     t.text "summary"
     t.index ["research_journal_id"], name: "index_research_journal_volumes_on_research_journal_id"
+    t.index ["slug"], name: "index_research_journal_volumes_on_slug"
     t.index ["university_id"], name: "index_research_journal_volumes_on_university_id"
   end
 
@@ -919,6 +934,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.uuid "original_id"
     t.index ["language_id"], name: "index_university_organizations_on_language_id"
     t.index ["original_id"], name: "index_university_organizations_on_original_id"
+    t.index ["slug"], name: "index_university_organizations_on_slug"
     t.index ["university_id"], name: "index_university_organizations_on_university_id"
   end
 
@@ -966,6 +982,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_05_090819) do
     t.uuid "original_id"
     t.index ["language_id"], name: "index_university_people_on_language_id"
     t.index ["original_id"], name: "index_university_people_on_original_id"
+    t.index ["slug"], name: "index_university_people_on_slug"
     t.index ["university_id"], name: "index_university_people_on_university_id"
     t.index ["user_id"], name: "index_university_people_on_user_id"
   end
diff --git a/test/fixtures/communication/extranet/document/categories.yml b/test/fixtures/communication/extranet/document/categories.yml
index db2c02aa9d63f0605450cda38919189323f00489..408048f8654703ae92ba6e88cb32ba40b40d39da 100644
--- a/test/fixtures/communication/extranet/document/categories.yml
+++ b/test/fixtures/communication/extranet/document/categories.yml
@@ -4,7 +4,7 @@
 #
 #  id            :uuid             not null, primary key
 #  name          :string
-#  slug          :string
+#  slug          :string           indexed
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
 #  extranet_id   :uuid             not null, indexed
@@ -14,6 +14,7 @@
 #
 #  extranet_document_categories_universities                        (university_id)
 #  index_communication_extranet_document_categories_on_extranet_id  (extranet_id)
+#  index_communication_extranet_document_categories_on_slug         (slug)
 #
 # Foreign Keys
 #
diff --git a/test/fixtures/communication/extranet/document/kinds.yml b/test/fixtures/communication/extranet/document/kinds.yml
index 480abfc3a3f956f364e177f076727962d5eb094a..8e70f233729b7d4852995ad79296c8e27e6b18cf 100644
--- a/test/fixtures/communication/extranet/document/kinds.yml
+++ b/test/fixtures/communication/extranet/document/kinds.yml
@@ -4,7 +4,7 @@
 #
 #  id            :uuid             not null, primary key
 #  name          :string
-#  slug          :string
+#  slug          :string           indexed
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
 #  extranet_id   :uuid             not null, indexed
@@ -14,6 +14,7 @@
 #
 #  extranet_document_kinds_universities                        (university_id)
 #  index_communication_extranet_document_kinds_on_extranet_id  (extranet_id)
+#  index_communication_extranet_document_kinds_on_slug         (slug)
 #
 # Foreign Keys
 #
diff --git a/test/fixtures/communication/extranet/post/categories.yml b/test/fixtures/communication/extranet/post/categories.yml
index b2e20214f6f93f7c730f185ab1748b72468bc882..3fef9b12885806f6c433f538f5f7a06a97bb4ac4 100644
--- a/test/fixtures/communication/extranet/post/categories.yml
+++ b/test/fixtures/communication/extranet/post/categories.yml
@@ -4,7 +4,7 @@
 #
 #  id            :uuid             not null, primary key
 #  name          :string
-#  slug          :string
+#  slug          :string           indexed
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
 #  extranet_id   :uuid             not null, indexed
@@ -13,6 +13,7 @@
 # Indexes
 #
 #  index_communication_extranet_post_categories_on_extranet_id    (extranet_id)
+#  index_communication_extranet_post_categories_on_slug           (slug)
 #  index_communication_extranet_post_categories_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/test/fixtures/communication/extranet/posts.yml b/test/fixtures/communication/extranet/posts.yml
index d8186038c65fd6c80e0ef6e35553f63af1652f7f..8a32ef0aa33745f14d129926818dadbf5ebbc646 100644
--- a/test/fixtures/communication/extranet/posts.yml
+++ b/test/fixtures/communication/extranet/posts.yml
@@ -8,7 +8,7 @@
 #  pinned                :boolean          default(FALSE)
 #  published             :boolean          default(FALSE)
 #  published_at          :datetime
-#  slug                  :string
+#  slug                  :string           indexed
 #  summary               :text
 #  title                 :string
 #  created_at            :datetime         not null
@@ -23,6 +23,7 @@
 #  index_communication_extranet_posts_on_author_id      (author_id)
 #  index_communication_extranet_posts_on_category_id    (category_id)
 #  index_communication_extranet_posts_on_extranet_id    (extranet_id)
+#  index_communication_extranet_posts_on_slug           (slug)
 #  index_communication_extranet_posts_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/test/fixtures/communication/website/agenda/events.yml b/test/fixtures/communication/website/agenda/events.yml
index 0258a1fb280414504a769ace229dbc0596499e6e..d813866e4310fdf8fb4111156fec4ac39d13e2dd 100644
--- a/test/fixtures/communication/website/agenda/events.yml
+++ b/test/fixtures/communication/website/agenda/events.yml
@@ -9,7 +9,7 @@
 #  from_hour                :time
 #  meta_description         :text
 #  published                :boolean          default(FALSE)
-#  slug                     :text
+#  slug                     :string           indexed
 #  summary                  :text
 #  title                    :string
 #  to_day                   :date
@@ -28,6 +28,7 @@
 #  index_communication_website_agenda_events_on_language_id    (language_id)
 #  index_communication_website_agenda_events_on_original_id    (original_id)
 #  index_communication_website_agenda_events_on_parent_id      (parent_id)
+#  index_communication_website_agenda_events_on_slug           (slug)
 #  index_communication_website_agenda_events_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/test/fixtures/communication/website/pages.yml b/test/fixtures/communication/website/pages.yml
index 42deb86c3da78dc9a0c3211933b3881ea3deda66..7acaaf1b263b1c1dac961fa81511f525564335bd 100644
--- a/test/fixtures/communication/website/pages.yml
+++ b/test/fixtures/communication/website/pages.yml
@@ -13,7 +13,7 @@
 #  meta_description         :text
 #  position                 :integer          default(0), not null
 #  published                :boolean          default(FALSE)
-#  slug                     :string
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -32,6 +32,7 @@
 #  index_communication_website_pages_on_language_id               (language_id)
 #  index_communication_website_pages_on_original_id               (original_id)
 #  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_slug                      (slug)
 #  index_communication_website_pages_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/test/fixtures/communication/website/posts.yml b/test/fixtures/communication/website/posts.yml
index 70ba9563ed0af6083003e3be91abdc19f36af99f..198ec22ea416a0da3f0e8797aa2699a66eacc51f 100644
--- a/test/fixtures/communication/website/posts.yml
+++ b/test/fixtures/communication/website/posts.yml
@@ -10,7 +10,7 @@
 #  pinned                   :boolean          default(FALSE)
 #  published                :boolean          default(FALSE)
 #  published_at             :datetime
-#  slug                     :text
+#  slug                     :string           indexed
 #  summary                  :text
 #  text                     :text
 #  title                    :string
@@ -28,6 +28,7 @@
 #  index_communication_website_posts_on_communication_website_id  (communication_website_id)
 #  index_communication_website_posts_on_language_id               (language_id)
 #  index_communication_website_posts_on_original_id               (original_id)
+#  index_communication_website_posts_on_slug                      (slug)
 #  index_communication_website_posts_on_university_id             (university_id)
 #
 # Foreign Keys
diff --git a/test/fixtures/education/diplomas.yml b/test/fixtures/education/diplomas.yml
index 9c46a831c5b29066e9e054d15b6adddd093f8e0e..318801fbd45acd3243d034bf37e62faa31b8108f 100644
--- a/test/fixtures/education/diplomas.yml
+++ b/test/fixtures/education/diplomas.yml
@@ -8,7 +8,7 @@
 #  level         :integer          default("not_applicable")
 #  name          :string
 #  short_name    :string
-#  slug          :string
+#  slug          :string           indexed
 #  summary       :text
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
@@ -16,6 +16,7 @@
 #
 # Indexes
 #
+#  index_education_diplomas_on_slug           (slug)
 #  index_education_diplomas_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/test/fixtures/education/programs.yml b/test/fixtures/education/programs.yml
index d57e55b11b61fe5a9a69c741e4a1dc4cca973947..731b652128b28af1adfe12190c22adc070cf8c68 100644
--- a/test/fixtures/education/programs.yml
+++ b/test/fixtures/education/programs.yml
@@ -30,7 +30,7 @@
 #  registration_url      :string
 #  results               :text
 #  short_name            :string
-#  slug                  :string
+#  slug                  :string           indexed
 #  summary               :text
 #  created_at            :datetime         not null
 #  updated_at            :datetime         not null
@@ -42,6 +42,7 @@
 #
 #  index_education_programs_on_diploma_id     (diploma_id)
 #  index_education_programs_on_parent_id      (parent_id)
+#  index_education_programs_on_slug           (slug)
 #  index_education_programs_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/test/fixtures/research/hal/publications.yml b/test/fixtures/research/hal/publications.yml
index b8477b21cb1b967e057ecc43db026a84ba84c59e..3fda1c9dc9f7acda5fd9107bdcbd2367189905f6 100644
--- a/test/fixtures/research/hal/publications.yml
+++ b/test/fixtures/research/hal/publications.yml
@@ -16,7 +16,7 @@
 #  open_access      :boolean
 #  publication_date :date
 #  ref              :string
-#  slug             :string
+#  slug             :string           indexed
 #  title            :string
 #  url              :string
 #  created_at       :datetime         not null
@@ -25,6 +25,7 @@
 # Indexes
 #
 #  index_research_hal_publications_on_docid  (docid)
+#  index_research_hal_publications_on_slug   (slug)
 #
 
 default_publication:
diff --git a/test/fixtures/research/journal/paper/kinds.yml b/test/fixtures/research/journal/paper/kinds.yml
index 70e0e791df4d71edfc2999ee0e6125994c469f0b..e7416127e205a13eb1492e781e7e282184ccc4c8 100644
--- a/test/fixtures/research/journal/paper/kinds.yml
+++ b/test/fixtures/research/journal/paper/kinds.yml
@@ -3,7 +3,7 @@
 # Table name: research_journal_paper_kinds
 #
 #  id            :uuid             not null, primary key
-#  slug          :string
+#  slug          :string           indexed
 #  title         :string
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
@@ -13,6 +13,7 @@
 # Indexes
 #
 #  index_research_journal_paper_kinds_on_journal_id     (journal_id)
+#  index_research_journal_paper_kinds_on_slug           (slug)
 #  index_research_journal_paper_kinds_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/test/fixtures/university/organizations.yml b/test/fixtures/university/organizations.yml
index 9ee9c42200536c94ee4821c0c97d6d651802f99c..be7db6914aa36f955e72a905f23cd36d49d3b39f 100644
--- a/test/fixtures/university/organizations.yml
+++ b/test/fixtures/university/organizations.yml
@@ -21,7 +21,7 @@
 #  nic                :string
 #  phone              :string
 #  siren              :string
-#  slug               :string
+#  slug               :string           indexed
 #  summary            :text
 #  text               :text
 #  twitter            :string
@@ -37,6 +37,7 @@
 #
 #  index_university_organizations_on_language_id    (language_id)
 #  index_university_organizations_on_original_id    (original_id)
+#  index_university_organizations_on_slug           (slug)
 #  index_university_organizations_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/test/fixtures/university/people.yml b/test/fixtures/university/people.yml
index 36e32cc8b65d3a179db5ba63e3301ee14cb0f79e..bb725f2f27f0e1e9de452abc94f1970e34a0d655 100644
--- a/test/fixtures/university/people.yml
+++ b/test/fixtures/university/people.yml
@@ -25,7 +25,7 @@
 #  phone_mobile       :string
 #  phone_personal     :string
 #  phone_professional :string
-#  slug               :string
+#  slug               :string           indexed
 #  summary            :text
 #  tenure             :boolean          default(FALSE)
 #  twitter            :string
@@ -42,6 +42,7 @@
 #
 #  index_university_people_on_language_id    (language_id)
 #  index_university_people_on_original_id    (original_id)
+#  index_university_people_on_slug           (slug)
 #  index_university_people_on_university_id  (university_id)
 #  index_university_people_on_user_id        (user_id)
 #
diff --git a/test/models/communication/website/agenda/event_test.rb b/test/models/communication/website/agenda/event_test.rb
index f418cf19a0cb9538d08af81d76cf1d48e13449ad..c8ca3e1728d3bf17d0a6d5da0da8af473cde6245 100644
--- a/test/models/communication/website/agenda/event_test.rb
+++ b/test/models/communication/website/agenda/event_test.rb
@@ -9,7 +9,7 @@
 #  from_hour                :time
 #  meta_description         :text
 #  published                :boolean          default(FALSE)
-#  slug                     :text
+#  slug                     :string           indexed
 #  summary                  :text
 #  title                    :string
 #  to_day                   :date
@@ -28,6 +28,7 @@
 #  index_communication_website_agenda_events_on_language_id    (language_id)
 #  index_communication_website_agenda_events_on_original_id    (original_id)
 #  index_communication_website_agenda_events_on_parent_id      (parent_id)
+#  index_communication_website_agenda_events_on_slug           (slug)
 #  index_communication_website_agenda_events_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/test/models/education/diploma_test.rb b/test/models/education/diploma_test.rb
index 31cecbf3bd9f43eb1ffb811f0114498aa1abdfa7..3be5771979549651f2a4ec8ee2ee70de5e6c7563 100644
--- a/test/models/education/diploma_test.rb
+++ b/test/models/education/diploma_test.rb
@@ -8,7 +8,7 @@
 #  level         :integer          default("not_applicable")
 #  name          :string
 #  short_name    :string
-#  slug          :string
+#  slug          :string           indexed
 #  summary       :text
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
@@ -16,6 +16,7 @@
 #
 # Indexes
 #
+#  index_education_diplomas_on_slug           (slug)
 #  index_education_diplomas_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/test/models/research/journal/paper/kind_test.rb b/test/models/research/journal/paper/kind_test.rb
index 3eed2b6d5f60b69c6b9c22bbb82f9babf565049d..718225dfdb1701213a9c86ac0eebcdc115b651b9 100644
--- a/test/models/research/journal/paper/kind_test.rb
+++ b/test/models/research/journal/paper/kind_test.rb
@@ -3,7 +3,7 @@
 # Table name: research_journal_paper_kinds
 #
 #  id            :uuid             not null, primary key
-#  slug          :string
+#  slug          :string           indexed
 #  title         :string
 #  created_at    :datetime         not null
 #  updated_at    :datetime         not null
@@ -13,6 +13,7 @@
 # Indexes
 #
 #  index_research_journal_paper_kinds_on_journal_id     (journal_id)
+#  index_research_journal_paper_kinds_on_slug           (slug)
 #  index_research_journal_paper_kinds_on_university_id  (university_id)
 #
 # Foreign Keys
diff --git a/test/models/university/organization_test.rb b/test/models/university/organization_test.rb
index c3facdee2cc5023375bf0e3414dd6324ce9be09b..814ee60d1b220b8cd5f6ece2bf1cc32742ea0abd 100644
--- a/test/models/university/organization_test.rb
+++ b/test/models/university/organization_test.rb
@@ -21,7 +21,7 @@
 #  nic                :string
 #  phone              :string
 #  siren              :string
-#  slug               :string
+#  slug               :string           indexed
 #  summary            :text
 #  text               :text
 #  twitter            :string
@@ -37,6 +37,7 @@
 #
 #  index_university_organizations_on_language_id    (language_id)
 #  index_university_organizations_on_original_id    (original_id)
+#  index_university_organizations_on_slug           (slug)
 #  index_university_organizations_on_university_id  (university_id)
 #
 # Foreign Keys