diff --git a/app/models/communication/website/page/organizations.rb b/app/models/communication/website/page/administrator.rb
similarity index 96%
rename from app/models/communication/website/page/organizations.rb
rename to app/models/communication/website/page/administrator.rb
index faf79eb67018d42902b4c448c3096794408a71c9..5ea50a18fc0f7e7c8284113297a1b24507836d51 100644
--- a/app/models/communication/website/page/organizations.rb
+++ b/app/models/communication/website/page/administrator.rb
@@ -39,6 +39,6 @@
 #  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
 #  fk_rails_d208d15a73  (university_id => universities.id)
 #
-class Communication::Website::Page::Organizations < Communication::Website::Page
+class Communication::Website::Page::Administrator < Communication::Website::Page
 
 end
diff --git a/app/models/communication/website/page/persons.rb b/app/models/communication/website/page/author.rb
similarity index 95%
rename from app/models/communication/website/page/persons.rb
rename to app/models/communication/website/page/author.rb
index bc6479fc3b27c5310177605d524e751d14539ddd..b6871bad6dc335c472b430490650cefb176bc24a 100644
--- a/app/models/communication/website/page/persons.rb
+++ b/app/models/communication/website/page/author.rb
@@ -39,6 +39,6 @@
 #  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
 #  fk_rails_d208d15a73  (university_id => universities.id)
 #
-class Communication::Website::Page::Persons < Communication::Website::Page
+class Communication::Website::Page::Author < Communication::Website::Page
 
 end
diff --git a/app/models/communication/website/page/communication_posts.rb b/app/models/communication/website/page/communication_post.rb
similarity index 95%
rename from app/models/communication/website/page/communication_posts.rb
rename to app/models/communication/website/page/communication_post.rb
index b3cc671eb01f4fc2ffbcf11526ea067c306a3e5d..a6cc99a42df791d15daf7fa6f05d43d8320fb531 100644
--- a/app/models/communication/website/page/communication_posts.rb
+++ b/app/models/communication/website/page/communication_post.rb
@@ -39,7 +39,7 @@
 #  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
 #  fk_rails_d208d15a73  (university_id => universities.id)
 #
-class Communication::Website::Page::CommunicationPosts < Communication::Website::Page
+class Communication::Website::Page::CommunicationPost < Communication::Website::Page
 
   def git_path(website)
     "#{git_path_content_prefix(website)}posts/_index.html"
diff --git a/app/models/communication/website/page/education_diploma.rb b/app/models/communication/website/page/education_diploma.rb
new file mode 100644
index 0000000000000000000000000000000000000000..d63a207ae1f90cb5704cdb0d48f59196c8df1de3
--- /dev/null
+++ b/app/models/communication/website/page/education_diploma.rb
@@ -0,0 +1,44 @@
+# == Schema Information
+#
+# Table name: communication_website_pages
+#
+#  id                       :uuid             not null, primary key
+#  bodyclass                :string
+#  breadcrumb_title         :string
+#  description              :text
+#  description_short        :text
+#  featured_image_alt       :string
+#  featured_image_credit    :text
+#  full_width               :boolean          default(FALSE)
+#  github_path              :text
+#  header_text              :text
+#  kind                     :integer
+#  position                 :integer          default(0), not null
+#  published                :boolean          default(FALSE)
+#  slug                     :string
+#  text                     :text
+#  title                    :string
+#  type                     :string
+#  created_at               :datetime         not null
+#  updated_at               :datetime         not null
+#  communication_website_id :uuid             not null, indexed
+#  language_id              :uuid             indexed
+#  parent_id                :uuid             indexed
+#  university_id            :uuid             not null, indexed
+#
+# Indexes
+#
+#  index_communication_website_pages_on_communication_website_id  (communication_website_id)
+#  index_communication_website_pages_on_language_id               (language_id)
+#  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_university_id             (university_id)
+#
+# Foreign Keys
+#
+#  fk_rails_1a42003f06  (parent_id => communication_website_pages.id)
+#  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
+#  fk_rails_d208d15a73  (university_id => universities.id)
+#
+class Communication::Website::Page::EducationDiploma < Communication::Website::Page
+
+end
diff --git a/app/models/communication/website/page/education_diplomas.rb b/app/models/communication/website/page/education_diplomas.rb
deleted file mode 100644
index 52877ff07068b49455a1c382a271bc8f96838e66..0000000000000000000000000000000000000000
--- a/app/models/communication/website/page/education_diplomas.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# == Schema Information
-#
-# Table name: communication_website_pages
-#
-#  id                       :uuid             not null, primary key
-#  bodyclass                :string
-#  breadcrumb_title         :string
-#  description              :text
-#  description_short        :text
-#  featured_image_alt       :string
-#  featured_image_credit    :text
-#  full_width               :boolean          default(FALSE)
-#  github_path              :text
-#  header_text              :text
-#  kind                     :integer
-#  position                 :integer          default(0), not null
-#  published                :boolean          default(FALSE)
-#  slug                     :string
-#  text                     :text
-#  title                    :string
-#  type                     :string
-#  created_at               :datetime         not null
-#  updated_at               :datetime         not null
-#  communication_website_id :uuid             not null, indexed
-#  language_id              :uuid             indexed
-#  parent_id                :uuid             indexed
-#  university_id            :uuid             not null, indexed
-#
-# Indexes
-#
-#  index_communication_website_pages_on_communication_website_id  (communication_website_id)
-#  index_communication_website_pages_on_language_id               (language_id)
-#  index_communication_website_pages_on_parent_id                 (parent_id)
-#  index_communication_website_pages_on_university_id             (university_id)
-#
-# Foreign Keys
-#
-#  fk_rails_1a42003f06  (parent_id => communication_website_pages.id)
-#  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
-#  fk_rails_d208d15a73  (university_id => universities.id)
-#
-class Communication::Website::Page::EducationDiplomas < Communication::Website::Page
-
-end
diff --git a/app/models/communication/website/page/education_program.rb b/app/models/communication/website/page/education_program.rb
new file mode 100644
index 0000000000000000000000000000000000000000..b84bda7a46a6cb29007c7a0b306bdf8b4b7f0e9b
--- /dev/null
+++ b/app/models/communication/website/page/education_program.rb
@@ -0,0 +1,44 @@
+# == Schema Information
+#
+# Table name: communication_website_pages
+#
+#  id                       :uuid             not null, primary key
+#  bodyclass                :string
+#  breadcrumb_title         :string
+#  description              :text
+#  description_short        :text
+#  featured_image_alt       :string
+#  featured_image_credit    :text
+#  full_width               :boolean          default(FALSE)
+#  github_path              :text
+#  header_text              :text
+#  kind                     :integer
+#  position                 :integer          default(0), not null
+#  published                :boolean          default(FALSE)
+#  slug                     :string
+#  text                     :text
+#  title                    :string
+#  type                     :string
+#  created_at               :datetime         not null
+#  updated_at               :datetime         not null
+#  communication_website_id :uuid             not null, indexed
+#  language_id              :uuid             indexed
+#  parent_id                :uuid             indexed
+#  university_id            :uuid             not null, indexed
+#
+# Indexes
+#
+#  index_communication_website_pages_on_communication_website_id  (communication_website_id)
+#  index_communication_website_pages_on_language_id               (language_id)
+#  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_university_id             (university_id)
+#
+# Foreign Keys
+#
+#  fk_rails_1a42003f06  (parent_id => communication_website_pages.id)
+#  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
+#  fk_rails_d208d15a73  (university_id => universities.id)
+#
+class Communication::Website::Page::EducationProgram < Communication::Website::Page
+
+end
diff --git a/app/models/communication/website/page/education_programs.rb b/app/models/communication/website/page/education_programs.rb
deleted file mode 100644
index c94991234df3fcb6c78c076bd1db80d3423fbf47..0000000000000000000000000000000000000000
--- a/app/models/communication/website/page/education_programs.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# == Schema Information
-#
-# Table name: communication_website_pages
-#
-#  id                       :uuid             not null, primary key
-#  bodyclass                :string
-#  breadcrumb_title         :string
-#  description              :text
-#  description_short        :text
-#  featured_image_alt       :string
-#  featured_image_credit    :text
-#  full_width               :boolean          default(FALSE)
-#  github_path              :text
-#  header_text              :text
-#  kind                     :integer
-#  position                 :integer          default(0), not null
-#  published                :boolean          default(FALSE)
-#  slug                     :string
-#  text                     :text
-#  title                    :string
-#  type                     :string
-#  created_at               :datetime         not null
-#  updated_at               :datetime         not null
-#  communication_website_id :uuid             not null, indexed
-#  language_id              :uuid             indexed
-#  parent_id                :uuid             indexed
-#  university_id            :uuid             not null, indexed
-#
-# Indexes
-#
-#  index_communication_website_pages_on_communication_website_id  (communication_website_id)
-#  index_communication_website_pages_on_language_id               (language_id)
-#  index_communication_website_pages_on_parent_id                 (parent_id)
-#  index_communication_website_pages_on_university_id             (university_id)
-#
-# Foreign Keys
-#
-#  fk_rails_1a42003f06  (parent_id => communication_website_pages.id)
-#  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
-#  fk_rails_d208d15a73  (university_id => universities.id)
-#
-class Communication::Website::Page::EducationPrograms < Communication::Website::Page
-
-end
diff --git a/app/models/communication/website/page/home.rb b/app/models/communication/website/page/home.rb
index b62ff158eb516b1f25e2520a7b7c42fc34bfab8c..4a850e99191c4ed9869773316e4f6276988f727d 100644
--- a/app/models/communication/website/page/home.rb
+++ b/app/models/communication/website/page/home.rb
@@ -42,7 +42,7 @@
 class Communication::Website::Page::Home < Communication::Website::Page
 
   def git_path(website)
-    "#{git_path_content_prefix(website)}_index.html"
+    "#{git_path_prefix}_index.html"
   end
 
   protected 
diff --git a/app/models/communication/website/page/organization.rb b/app/models/communication/website/page/organization.rb
new file mode 100644
index 0000000000000000000000000000000000000000..ff0017ce96b78ea26c798bd23578732bd5fc3e22
--- /dev/null
+++ b/app/models/communication/website/page/organization.rb
@@ -0,0 +1,44 @@
+# == Schema Information
+#
+# Table name: communication_website_pages
+#
+#  id                       :uuid             not null, primary key
+#  bodyclass                :string
+#  breadcrumb_title         :string
+#  description              :text
+#  description_short        :text
+#  featured_image_alt       :string
+#  featured_image_credit    :text
+#  full_width               :boolean          default(FALSE)
+#  github_path              :text
+#  header_text              :text
+#  kind                     :integer
+#  position                 :integer          default(0), not null
+#  published                :boolean          default(FALSE)
+#  slug                     :string
+#  text                     :text
+#  title                    :string
+#  type                     :string
+#  created_at               :datetime         not null
+#  updated_at               :datetime         not null
+#  communication_website_id :uuid             not null, indexed
+#  language_id              :uuid             indexed
+#  parent_id                :uuid             indexed
+#  university_id            :uuid             not null, indexed
+#
+# Indexes
+#
+#  index_communication_website_pages_on_communication_website_id  (communication_website_id)
+#  index_communication_website_pages_on_language_id               (language_id)
+#  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_university_id             (university_id)
+#
+# Foreign Keys
+#
+#  fk_rails_1a42003f06  (parent_id => communication_website_pages.id)
+#  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
+#  fk_rails_d208d15a73  (university_id => universities.id)
+#
+class Communication::Website::Page::Organization < Communication::Website::Page
+
+end
diff --git a/app/models/communication/website/page/teachers.rb b/app/models/communication/website/page/person.rb
similarity index 95%
rename from app/models/communication/website/page/teachers.rb
rename to app/models/communication/website/page/person.rb
index 06ec7215e99c16cff1102e99153a9d1c45950861..1a084c359da98995ea19ba4c3a8c2d055540f1c6 100644
--- a/app/models/communication/website/page/teachers.rb
+++ b/app/models/communication/website/page/person.rb
@@ -39,6 +39,6 @@
 #  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
 #  fk_rails_d208d15a73  (university_id => universities.id)
 #
-class Communication::Website::Page::Teachers < Communication::Website::Page
+class Communication::Website::Page::Person < Communication::Website::Page
 
 end
diff --git a/app/models/communication/website/page/research_paper.rb b/app/models/communication/website/page/research_paper.rb
new file mode 100644
index 0000000000000000000000000000000000000000..e03da13f5451ec6edcafc9a84969275d002b9315
--- /dev/null
+++ b/app/models/communication/website/page/research_paper.rb
@@ -0,0 +1,44 @@
+# == Schema Information
+#
+# Table name: communication_website_pages
+#
+#  id                       :uuid             not null, primary key
+#  bodyclass                :string
+#  breadcrumb_title         :string
+#  description              :text
+#  description_short        :text
+#  featured_image_alt       :string
+#  featured_image_credit    :text
+#  full_width               :boolean          default(FALSE)
+#  github_path              :text
+#  header_text              :text
+#  kind                     :integer
+#  position                 :integer          default(0), not null
+#  published                :boolean          default(FALSE)
+#  slug                     :string
+#  text                     :text
+#  title                    :string
+#  type                     :string
+#  created_at               :datetime         not null
+#  updated_at               :datetime         not null
+#  communication_website_id :uuid             not null, indexed
+#  language_id              :uuid             indexed
+#  parent_id                :uuid             indexed
+#  university_id            :uuid             not null, indexed
+#
+# Indexes
+#
+#  index_communication_website_pages_on_communication_website_id  (communication_website_id)
+#  index_communication_website_pages_on_language_id               (language_id)
+#  index_communication_website_pages_on_parent_id                 (parent_id)
+#  index_communication_website_pages_on_university_id             (university_id)
+#
+# Foreign Keys
+#
+#  fk_rails_1a42003f06  (parent_id => communication_website_pages.id)
+#  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
+#  fk_rails_d208d15a73  (university_id => universities.id)
+#
+class Communication::Website::Page::ResearchPaper < Communication::Website::Page
+
+end
diff --git a/app/models/communication/website/page/research_papers.rb b/app/models/communication/website/page/research_papers.rb
deleted file mode 100644
index c2b9393d3a1f63a7c7cdaf859586829010b82d21..0000000000000000000000000000000000000000
--- a/app/models/communication/website/page/research_papers.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# == Schema Information
-#
-# Table name: communication_website_pages
-#
-#  id                       :uuid             not null, primary key
-#  bodyclass                :string
-#  breadcrumb_title         :string
-#  description              :text
-#  description_short        :text
-#  featured_image_alt       :string
-#  featured_image_credit    :text
-#  full_width               :boolean          default(FALSE)
-#  github_path              :text
-#  header_text              :text
-#  kind                     :integer
-#  position                 :integer          default(0), not null
-#  published                :boolean          default(FALSE)
-#  slug                     :string
-#  text                     :text
-#  title                    :string
-#  type                     :string
-#  created_at               :datetime         not null
-#  updated_at               :datetime         not null
-#  communication_website_id :uuid             not null, indexed
-#  language_id              :uuid             indexed
-#  parent_id                :uuid             indexed
-#  university_id            :uuid             not null, indexed
-#
-# Indexes
-#
-#  index_communication_website_pages_on_communication_website_id  (communication_website_id)
-#  index_communication_website_pages_on_language_id               (language_id)
-#  index_communication_website_pages_on_parent_id                 (parent_id)
-#  index_communication_website_pages_on_university_id             (university_id)
-#
-# Foreign Keys
-#
-#  fk_rails_1a42003f06  (parent_id => communication_website_pages.id)
-#  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
-#  fk_rails_d208d15a73  (university_id => universities.id)
-#
-class Communication::Website::Page::ResearchPapers < Communication::Website::Page
-
-end
diff --git a/app/models/communication/website/page/administrators.rb b/app/models/communication/website/page/research_volume.rb
similarity index 96%
rename from app/models/communication/website/page/administrators.rb
rename to app/models/communication/website/page/research_volume.rb
index e52736db5847f0af06891953ee122ff0d33c1ac0..d758ea6ee9ec86d0b7a17abf475dc8ca6f1d3247 100644
--- a/app/models/communication/website/page/administrators.rb
+++ b/app/models/communication/website/page/research_volume.rb
@@ -39,6 +39,6 @@
 #  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
 #  fk_rails_d208d15a73  (university_id => universities.id)
 #
-class Communication::Website::Page::Administrators < Communication::Website::Page
+class Communication::Website::Page::ResearchVolume < Communication::Website::Page
 
 end
diff --git a/app/models/communication/website/page/research_volumes.rb b/app/models/communication/website/page/research_volumes.rb
deleted file mode 100644
index 0dc34f594f5a59ba7b442b22d93cbb7e9dafdbc7..0000000000000000000000000000000000000000
--- a/app/models/communication/website/page/research_volumes.rb
+++ /dev/null
@@ -1,44 +0,0 @@
-# == Schema Information
-#
-# Table name: communication_website_pages
-#
-#  id                       :uuid             not null, primary key
-#  bodyclass                :string
-#  breadcrumb_title         :string
-#  description              :text
-#  description_short        :text
-#  featured_image_alt       :string
-#  featured_image_credit    :text
-#  full_width               :boolean          default(FALSE)
-#  github_path              :text
-#  header_text              :text
-#  kind                     :integer
-#  position                 :integer          default(0), not null
-#  published                :boolean          default(FALSE)
-#  slug                     :string
-#  text                     :text
-#  title                    :string
-#  type                     :string
-#  created_at               :datetime         not null
-#  updated_at               :datetime         not null
-#  communication_website_id :uuid             not null, indexed
-#  language_id              :uuid             indexed
-#  parent_id                :uuid             indexed
-#  university_id            :uuid             not null, indexed
-#
-# Indexes
-#
-#  index_communication_website_pages_on_communication_website_id  (communication_website_id)
-#  index_communication_website_pages_on_language_id               (language_id)
-#  index_communication_website_pages_on_parent_id                 (parent_id)
-#  index_communication_website_pages_on_university_id             (university_id)
-#
-# Foreign Keys
-#
-#  fk_rails_1a42003f06  (parent_id => communication_website_pages.id)
-#  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
-#  fk_rails_d208d15a73  (university_id => universities.id)
-#
-class Communication::Website::Page::ResearchVolumes < Communication::Website::Page
-
-end
diff --git a/app/models/communication/website/page/researchers.rb b/app/models/communication/website/page/researcher.rb
similarity index 95%
rename from app/models/communication/website/page/researchers.rb
rename to app/models/communication/website/page/researcher.rb
index 38d9cb85076dfcf463e6f1c3fbcea0c2bc6b5f85..2133aaa4db427e76e9d8a48aa52f92025050eb91 100644
--- a/app/models/communication/website/page/researchers.rb
+++ b/app/models/communication/website/page/researcher.rb
@@ -39,6 +39,6 @@
 #  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
 #  fk_rails_d208d15a73  (university_id => universities.id)
 #
-class Communication::Website::Page::Researchers < Communication::Website::Page
+class Communication::Website::Page::Researcher < Communication::Website::Page
 
 end
diff --git a/app/models/communication/website/page/authors.rb b/app/models/communication/website/page/teacher.rb
similarity index 96%
rename from app/models/communication/website/page/authors.rb
rename to app/models/communication/website/page/teacher.rb
index 24c5e7aee033af976c6171e4de19ca2f1dc404fc..148eaa1b0377af9061412ca2c0cb85572f16bd56 100644
--- a/app/models/communication/website/page/authors.rb
+++ b/app/models/communication/website/page/teacher.rb
@@ -39,6 +39,6 @@
 #  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
 #  fk_rails_d208d15a73  (university_id => universities.id)
 #
-class Communication::Website::Page::Authors < Communication::Website::Page
+class Communication::Website::Page::Teacher < Communication::Website::Page
 
 end
diff --git a/app/models/communication/website/page/with_kind.rb b/app/models/communication/website/page/with_kind.rb
index bfb4c49e0073427417482bb6454e31c2e31a4a77..36d449b37d82d18b97ca8f6515e6b5f2afac06dd 100644
--- a/app/models/communication/website/page/with_kind.rb
+++ b/app/models/communication/website/page/with_kind.rb
@@ -37,27 +37,6 @@ module Communication::Website::Page::WithKind
       'teachers'
     ].freeze
 
-    # deprecated, remove
-    after_create :move_legacy_root_pages, if: :kind_home?
-
-    def as_special_page
-      @as_special_page ||= begin
-        # A normal page is always a normal page
-        return self if is_regular_page?
-        # A special page is the same in the database, but has some additional and specific methods
-        special_page_class = "Communication::Website::Page::#{kind.to_s.classify}".constantize
-        special_page_class.find id
-      end
-    end
-
-    def is_special_page?
-      kind != nil
-    end
-
-    def is_regular_page?
-      kind == nil
-    end
-
     # -> dans les nouvelles classes
     def has_special_git_path?
       is_special_page? && SPECIAL_PAGES_WITH_GIT_SPECIAL_PATH.include?(kind)
@@ -88,12 +67,4 @@ module Communication::Website::Page::WithKind
 
   end
 
-  private
-
-  # deprecated, remove
-  def move_legacy_root_pages
-    root_pages = website.pages.where.not(id: id).root
-    root_pages.update_all(parent_id: id)
-  end
-
 end
diff --git a/app/models/communication/website/page/with_path.rb b/app/models/communication/website/page/with_path.rb
index ae2f1356ca1a0283e62ddb35b31540eccbc2c5ff..15692369ee25a91de8c6581f760f02174f850fa8 100644
--- a/app/models/communication/website/page/with_path.rb
+++ b/app/models/communication/website/page/with_path.rb
@@ -31,6 +31,7 @@ module Communication::Website::Page::WithPath
   end
 
   def git_path(website)
+    # Same website and page published
     return unless website.id == communication_website_id && published
 
     path = git_path_content_prefix(website)
@@ -39,10 +40,9 @@ module Communication::Website::Page::WithPath
     elsif has_special_git_path?
       path += "#{kind.split('_').last}/_index.html"
     else
-      path += "pages/#{slug_with_ancestors}/_index.html"
     end
-
-    path
+    
+    "#{git_path_prefix}pages/#{slug_with_ancestors}/_index.html"
   end
 
   def url
@@ -53,6 +53,10 @@ module Communication::Website::Page::WithPath
 
   protected
 
+  def git_path_prefix
+    git_path_content_prefix(website)
+  end
+
   def set_slug
     self.slug = to_s.parameterize if self.slug.blank?
     current_slug = self.slug
diff --git a/app/models/communication/website/page/with_type.rb b/app/models/communication/website/page/with_type.rb
index e3a30a650bed071523e7a6be10576ce2e36ae390..3ea32edae9cbd12970dfd2c8dfdc7786ffc062ab 100644
--- a/app/models/communication/website/page/with_type.rb
+++ b/app/models/communication/website/page/with_type.rb
@@ -1,7 +1,21 @@
 module Communication::Website::Page::WithType
   extend ActiveSupport::Concern
 
-  def is_necessary?
+  # Communication::Website::Page::CommunicationPosts -> communication_posts
+  # Used for i18n
+  def type_key
+    type.demodulize.underscore
+  end
+
+  def is_special_page?
+    type.present?
+  end
+
+  def is_regular_page?
+    type.blank?
+  end
+
+  def is_necessary_for_website?
     true
   end
 
@@ -13,7 +27,12 @@ module Communication::Website::Page::WithType
     true
   end
 
-  def unpublishable?
+  # Can it be unpublished?
+  def draftable?
+    true
+  end
+
+  def deletable?
     true
   end
 end
\ No newline at end of file
diff --git a/app/views/admin/communication/websites/pages/_treebranch.html.erb b/app/views/admin/communication/websites/pages/_treebranch.html.erb
index 8244cfbae23a4b647ac0ae0567be6d3b4ea21c0b..8f92b6e4934687eaa9a62ebecbc5db7bad2ac0a6 100644
--- a/app/views/admin/communication/websites/pages/_treebranch.html.erb
+++ b/app/views/admin/communication/websites/pages/_treebranch.html.erb
@@ -25,7 +25,7 @@
       <% end %>
       <div class="ms-auto align-items-center" role="group">
         <% if page.is_special_page? %>
-          <span class="me-3 show-on-hover"><%= t("communication.website.pages.defaults.#{page.kind}.admin_description") %></span>
+          <span class="me-3 show-on-hover"><%= t("communication.website.pages.defaults.#{page.type_key}.admin_description") %></span>
         <% end %>
         <div class="btn-group">
           <%= duplicate_link page if page.is_regular_page? %>
diff --git a/app/views/admin/communication/websites/pages/show.html.erb b/app/views/admin/communication/websites/pages/show.html.erb
index c8d6a61915e894a811f6b7df9ebac17c03a4ed92..e84d716eb03585d7144f41fedcbfa9136c1179f9 100644
--- a/app/views/admin/communication/websites/pages/show.html.erb
+++ b/app/views/admin/communication/websites/pages/show.html.erb
@@ -12,7 +12,7 @@
         <div class="card">
           <div class="card-body">
             <%= t('admin.communication.website.pages.is_special_page') %>
-            <b><%= t("communication.website.pages.defaults.#{@page.kind}.admin_description") %></b>
+            <b><%= t("communication.website.pages.defaults.#{@page.type_key}.admin_description") %></b>
           </div>
         </div>
       <% end %>
diff --git a/config/locales/communication/en.yml b/config/locales/communication/en.yml
index c62fc53e7e70ed54d7849be7cec4ceb2889b8880..e21f65a8020a24966c88531d01190994a17d2fcc 100644
--- a/config/locales/communication/en.yml
+++ b/config/locales/communication/en.yml
@@ -572,27 +572,27 @@ en:
             description_short: ''
             slug: accessibility
             title: Accessibility
-          administrators:
+          administrator:
             admin_description: list of members in the administrative team
             description_short: List of members in the administrative team
             slug: administrative-team
             title: Administrative team
-          authors:
+          author:
             admin_description: list of members in the editorial team
             description_short: List of members in the editorial team
             slug: editorial-team
             title: Editorial team
-          communication_posts:
+          communication_post:
             admin_description: list of posts
             description_short: List of posts
             slug: posts
             title: Posts
-          education_diplomas:
+          education_diploma:
             admin_description: list of available diplomas
             description_short: List of available diplomas
             slug: diplomas
             title: Diplomas
-          education_programs:
+          education_program:
             admin_description: list of available programs
             description_short: List of available programs
             slug: programs
@@ -602,17 +602,17 @@ en:
             description_short: ''
             slug: ''
             title: Home
-          legal_terms:
+          legal_term:
             admin_description: legal terms page
             description_short: ''
             slug: legal-terms
             title: Legal terms
-          organizations:
+          organization:
             admin_description: organizations page
             description_short: List of organizations
             slug: organizations
             title: Organizations
-          persons:
+          person:
             admin_description: list of members in the team
             description_short: List of members in the team
             slug: team
@@ -622,17 +622,17 @@ en:
             description_short: ''
             slug: privacy-policy
             title: Privacy policy
-          research_papers:
+          research_paper:
             admin_description: list of papers
             description_short: List of papers
             slug: papers
             title: Papers
-          research_volumes:
+          research_volume:
             admin_description: list of volumes
             description_short: List of volumes
             slug: volumes
             title: Volumes
-          researchers:
+          researcher:
             admin_description: list of members in the research team
             description_short: List of members in the research team
             slug: research-team
@@ -642,7 +642,7 @@ en:
             description_short: ''
             slug: sitemap
             title: Sitemap
-          teachers:
+          teacher:
             admin_description: list of members in the educational team
             description_short: List of members in the educational team
             slug: educational-team
diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml
index c03f082c151daab4130e493067442bb78989d174..f899c21d6fe8ff76ece5c5060905cd73219d57c3 100644
--- a/config/locales/communication/fr.yml
+++ b/config/locales/communication/fr.yml
@@ -574,27 +574,27 @@ fr:
             description_short: ''
             slug: accessibilite
             title: Accessibilité
-          administrators:
+          administrator:
             admin_description: liste des membres de l'équipe administrative
             description_short: Liste des membres de l'équipe administrative
             slug: equipe-administrative
             title: Équipe administrative
-          authors:
+          author:
             admin_description: liste des membres de l'équipe éditoriale
             description_short: Liste des membres de l'équipe éditoriale
             slug: equipe-editoriale
             title: Équipe éditoriale
-          communication_posts:
+          communication_post:
             admin_description: liste des actualités
             description_short: Liste des actualités
             slug: actualites
             title: Actualités
-          education_diplomas:
+          education_diploma:
             admin_description: liste des diplômes proposés
             description_short: Liste des diplômes proposés
             slug: diplomes
             title: "Diplômes"
-          education_programs:
+          education_program:
             admin_description: liste des formations proposées
             description_short: Liste des formations proposées
             slug: offre-de-formation
@@ -604,17 +604,17 @@ fr:
             description_short: ''
             slug: ''
             title: Accueil
-          legal_terms:
+          legal_term:
             admin_description: page des mentions légales
             description_short: ''
             slug: mentions-legales
             title: Mentions légales
-          organizations:
+          organization:
             admin_description: page des organisations
             description_short: Liste des organisations
             slug: organisations
             title: Organisations
-          persons:
+          person:
             admin_description: liste des membres de l'équipe
             description_short: Liste des membres de l'équipe
             slug: equipe
@@ -624,17 +624,17 @@ fr:
             description_short: ''
             slug: politique-de-confidentialite
             title: Politique de confidentialité
-          research_papers:
+          research_paper:
             admin_description: liste des papiers
             description_short: Liste des papiers
             slug: papiers
             title: Papiers
-          research_volumes:
+          research_volume:
             admin_description: liste des volumes
             description_short: Liste des volumes
             slug: volumes
             title: Volumes
-          researchers:
+          researcher:
             admin_description: liste des membres de l'équipe de recherche
             description_short: Liste des membres de l'équipe de recherche
             slug: equipe-de-recherche
@@ -644,7 +644,7 @@ fr:
             description_short: ''
             slug: plan-du-site
             title: Plan du site
-          teachers:
+          teacher:
             admin_description: liste des membres de l'équipe pédagogique
             description_short: Liste des membres de l'équipe pédagogique
             slug: equipe-pedagogique
diff --git a/lib/tasks/app.rake b/lib/tasks/app.rake
index fdb5a6a689b384355942b2a8f91c47e8ac2e0d6f..6324ffc3bc2092f055200286888f4af743e93271 100644
--- a/lib/tasks/app.rake
+++ b/lib/tasks/app.rake
@@ -9,7 +9,10 @@ namespace :app do
   desc 'Fix things'
   task fix: :environment do
     Communication::Website::Page.find_each do |page|
-      page.update_column :type, "::Communication::Website::Page::#{page.kind.to_s.classify}"
+      if page.kind
+        type = "::Communication::Website::Page::#{page.kind.to_s.classify}"
+        page.update_column :type, type
+      end
     end
   end