diff --git a/app/models/university/person.rb b/app/models/university/person.rb
index 68e34359fc032ad9180617412b1933c65b723c35..68299e2fa74a136970c24d63b7be6eef2e7ef09c 100644
--- a/app/models/university/person.rb
+++ b/app/models/university/person.rb
@@ -55,17 +55,17 @@ class University::Person < ApplicationRecord
                           foreign_key: :author_id,
                           dependent: :nullify
 
-  has_many                :communication_websites,
+  has_many                :author_websites,
                           -> { distinct },
                           through: :communication_website_posts,
                           source: :website
 
-  has_many                :research_websites,
+  has_many                :researcher_websites,
                           -> { distinct },
                           through: :research_journal_articles,
                           source: :websites
 
-  has_many                :education_websites,
+  has_many                :teacher_websites,
                           -> { distinct },
                           through: :education_programs,
                           source: :websites
@@ -93,19 +93,19 @@ class University::Person < ApplicationRecord
 
   def websites
     Communication::Website.where(id: [
-      communication_website_ids,
-      research_website_ids,
-      education_website_ids
+      author_website_ids,
+      researcher_website_ids,
+      teacher_website_ids
     ].flatten.uniq)
   end
 
   def identifiers(website: nil)
     website_id = website&.id
     list = []
-    list << :author if communication_websites.pluck(:id).include?(website_id)
-    list << :researcher if research_websites.pluck(:id).include?(website_id)
-    list << :teacher if education_websites.pluck(:id).include?(website_id)
     # TODO :administrator
+    [:author, :researcher, :teacher].each do |role|
+      list << role if send("#{role.to_s}_websites").pluck(:id).include?(website_id)
+    end
     list << :static unless list.empty?
     list
   end