diff --git a/app/models/alchemy/page.rb b/app/models/alchemy/page.rb
index <HASH>..<HASH> 100644
--- a/app/models/alchemy/page.rb
+++ b/app/models/alchemy/page.rb
@@ -70,9 +70,11 @@ module Alchemy
 
     stampable stamper_class_name: Alchemy.user_class_name
 
+    belongs_to :language
+
+    has_one :site, through: :language
     has_many :folded_pages
     has_many :legacy_urls, class_name: 'Alchemy::LegacyPageUrl'
-    belongs_to :language
 
     validates_presence_of :language, on: :create, unless: :root
     validates_presence_of :page_layout, unless: :systempage?
diff --git a/spec/models/alchemy/page_spec.rb b/spec/models/alchemy/page_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/models/alchemy/page_spec.rb
+++ b/spec/models/alchemy/page_spec.rb
@@ -12,6 +12,8 @@ module Alchemy
     let(:public_page)   { create(:alchemy_page, :public) }
     let(:news_page)     { create(:alchemy_page, :public, page_layout: 'news', do_not_autogenerate: false) }
 
+    it { is_expected.to have_one(:site) }
+
     # Validations
 
     context 'validations' do
Adds site association to page model

Shortcut through page's associated language