diff --git a/lib/refrepo/gen/wiki/generators/environments.rb b/lib/refrepo/gen/wiki/generators/environments.rb
index fe8c13bedfdb7816fadb917155424148ee408767..3d24e652e7238f57bc0b1a02919dc3a7e52bae31 100644
--- a/lib/refrepo/gen/wiki/generators/environments.rb
+++ b/lib/refrepo/gen/wiki/generators/environments.rb
@@ -42,7 +42,7 @@ class EnvironmentsGenerator < WikiGenerator
     table_data = []
     envs = []
 
-    G5K::SITES.each do |site|
+    G5K::get_sites_in_production.each do |site|
       envs += RefRepo::Utils::get_api("sites/#{site}/internal/kadeployapi/environments?username=deploy&last")
     end
     envs.select!{|x| x['visibility'] == 'public'}
diff --git a/lib/refrepo/gen/wiki/generators/hardware.rb b/lib/refrepo/gen/wiki/generators/hardware.rb
index df47812e8f3db41f6473dfdce0ea7e2b5cd00016..c04ce28793ab99da1bde996a50c902da1d20c84c 100644
--- a/lib/refrepo/gen/wiki/generators/hardware.rb
+++ b/lib/refrepo/gen/wiki/generators/hardware.rb
@@ -5,12 +5,12 @@ class G5KHardwareGenerator < WikiGenerator
 
   def generate_content(_options)
     @global_hash = get_global_hash
-    @site_uids = G5K::SITES
+    @site_uids = G5K::get_sites_in_production
 
     @generated_content = "__NOEDITSECTION__\n"
     @generated_content += "{{Portal|User}}\n"
-    @generated_content += "<div class=\"sitelink\">Hardware: [[Hardware|Global]] | " + G5K::SITES.map { |e| "[[#{e.capitalize}:Hardware|#{e.capitalize}]]" }.join(" | ") + "</div>\n"
-    @generated_content += SiteHardwareGenerator.generate_header_summary(@global_hash['sites'])
+    @generated_content += "<div class=\"sitelink\">Hardware: [[Hardware|Global]] | " + G5K::get_sites_in_production.map { |e| "[[#{e.capitalize}:Hardware|#{e.capitalize}]]" }.join(" | ") + "</div>\n"
+    @generated_content += SiteHardwareGenerator.generate_header_summary(@global_hash['sites'].select{|_site_uid, site_hash| site_hash['production'] == true})
     @generated_content += "\n= Clusters =\n"
     @generated_content += SiteHardwareGenerator.generate_all_clusters
     @generated_content += generate_totals
@@ -35,6 +35,7 @@ class G5KHardwareGenerator < WikiGenerator
     }
 
     @global_hash['sites'].sort.to_h.each { |site_uid, site_hash|
+      next if site_hash['production'] == false
       site_hash.fetch('clusters', {}).sort.to_h.each { |_cluster_uid, cluster_hash|
         cluster_hash['nodes'].sort.to_h.each { |node_uid, node_hash|
           begin
@@ -369,6 +370,7 @@ class G5KHardwareGenerator < WikiGenerator
 
     # Loop over Grid'5000 sites
     global_hash["sites"].sort.to_h.each do |site_uid, site_hash|
+      next if site_hash['production'] == false
       site_hash.fetch("clusters", {}).sort.to_h.each do |cluster_uid, cluster_hash|
         nodes_data = []
         cluster_hash.fetch('nodes').sort.to_h.each do |node_uid, node_hash|
@@ -431,6 +433,7 @@ class G5KHardwareGenerator < WikiGenerator
   def generate_interfaces
     table_data = []
     @global_hash["sites"].sort.to_h.each { |site_uid, site_hash|
+      next if site_hash['production'] == false
       site_hash.fetch("clusters", {}).sort.to_h.each { |cluster_uid, cluster_hash|
         network_interfaces = {}
         cluster_hash.fetch('nodes').sort.to_h.each { |node_uid, node_hash|
@@ -481,6 +484,7 @@ class G5KHardwareGenerator < WikiGenerator
   def generate_sriov_interfaces
     table_data = []
     @global_hash["sites"].sort.to_h.each { |site_uid, site_hash|
+      next if site_hash['production'] == false
       site_hash.fetch("clusters", {}).sort.to_h.each { |cluster_uid, cluster_hash|
         network_interfaces = {}
         cluster_hash.fetch('nodes').sort.to_h.each { |node_uid, node_hash|
diff --git a/lib/refrepo/gen/wiki/generators/site_hardware.rb b/lib/refrepo/gen/wiki/generators/site_hardware.rb
index 757223d53ea057b53eedd8f2fbd80789302d491c..fcbf2e3b952fc98641f2914169bc4135ed99e11c 100644
--- a/lib/refrepo/gen/wiki/generators/site_hardware.rb
+++ b/lib/refrepo/gen/wiki/generators/site_hardware.rb
@@ -31,7 +31,7 @@ class SiteHardwareGenerator < WikiGenerator
 
     @generated_content = "__NOTOC__\n__NOEDITSECTION__\n" +
       "{{Portal|User}}\n" +
-      "<div class=\"sitelink\">Hardware: [[Hardware|Global]] | " + G5K::SITES.map { |e| "[[#{e.capitalize}:Hardware|#{e.capitalize}]]" }.join(" | ") + "</div>\n" +
+      "<div class=\"sitelink\">Hardware: [[Hardware|Global]] | " + G5K::get_sites_in_production.map { |e| "[[#{e.capitalize}:Hardware|#{e.capitalize}]]" }.join(" | ") + "</div>\n" +
       "'''See also:''' [[#{@site.capitalize}:Network|Network topology for #{@site.capitalize}]]\n" +
       "#{SiteHardwareGenerator.generate_header_summary({@site => G5K::get_global_hash['sites'][@site]})}\n" +
       "= Clusters =\n" +
@@ -45,7 +45,7 @@ class SiteHardwareGenerator < WikiGenerator
   def self.generate_all_clusters
     table_columns = []
     table_data = []
-    G5K::SITES.each{ |site|
+    G5K::get_sites_in_production.each{ |site|
       table_columns = self.generate_summary_data(site, true)[0]
       table_data += self.generate_summary_data(site, true)[1]
     }
@@ -66,6 +66,7 @@ class SiteHardwareGenerator < WikiGenerator
     flops = 0
 
     sites_hash.sort.to_h.each do |_site_uid, site_hash|
+      next if site_hash['production'] == false
       clusters_hash = site_hash.fetch('clusters', {})
       clusters += clusters_hash.length
       clusters_hash.sort.to_h.each do |_cluster_uid, cluster_hash|
@@ -349,6 +350,7 @@ def get_hardware(sites)
   # Loop over each cluster of the site
   hardware = {}
   global_hash['sites'].sort.to_h.select{ |site_uid, _site_hash| sites.include?(site_uid) }.each { |site_uid, site_hash|
+    next if site_hash['production'] == false
     hardware[site_uid] = {}
     site_hash.fetch('clusters', {}).sort.to_h.each { |cluster_uid, cluster_hash|
       hardware[site_uid][cluster_uid] = {}
diff --git a/lib/refrepo/gen/wiki/generators/status.rb b/lib/refrepo/gen/wiki/generators/status.rb
index 9ad5d4fa720c6246a62262530536bd89f5b0a66f..3a22147c8550470eacc1f400b42bf8ea4de2b089 100644
--- a/lib/refrepo/gen/wiki/generators/status.rb
+++ b/lib/refrepo/gen/wiki/generators/status.rb
@@ -4,7 +4,7 @@ class StatusGenerator < WikiGenerator
 
   def generate_content(_options)
     @global_hash = get_global_hash
-    @site_uids = G5K::SITES
+    @site_uids = G5K::get_sites_in_production
     @sites_number = @site_uids.length()
 
     @generated_content = "__NOEDITSECTION__\n"
diff --git a/lib/refrepo/gen/wiki/mw_utils.rb b/lib/refrepo/gen/wiki/mw_utils.rb
index 6a9654753e40069e521e4eb40874196728bf96ae..47c5341d452e96624e14701207669df575caa126 100644
--- a/lib/refrepo/gen/wiki/mw_utils.rb
+++ b/lib/refrepo/gen/wiki/mw_utils.rb
@@ -129,6 +129,18 @@ module G5K
     return Marshal.load(Marshal.dump(@@global_hash))
   end
 
+  @@sites_in_production = nil
+  def self.get_sites_in_production
+    if @@sites_in_production.nil?
+      self.get_global_hash if @@global_hash.nil?
+      @@sites_in_production = @@global_hash['sites']
+        .select{|_site_uid, site_hash| site_hash['production'] == true}
+        .map{|site_uid, _site_hash| site_uid}
+        .sort()
+    end
+    return @@sites_in_production
+  end
+
   SITES = RefRepo::Utils::get_sites
 end