diff --git a/performance_hacks.api.php b/performance_hacks.api.php
index 11f8e95..3355c4f 100644
--- a/performance_hacks.api.php
+++ b/performance_hacks.api.php
@@ -23,3 +23,20 @@ function hook_performance_hacks_custom_cache_key($node, $view_mode) {
     }
   }
 } 
+
+
+/**
+ * Allow static $_GET values to be removed when caching an item.
+ *
+ * By default the presence of a $_GET value results in an item not entering the
+ * render cache however some $_GET values can be 'static' and have no effect on
+ * what is being rendered.
+ *
+ * @param $get
+ *   Array of get parameters.
+ */
+function hook_performance_hacks_cache_get_alter(&$get) {
+  if (isset($get['XDEBUG_PROFILE'])) {
+    unset($get['XDEBUG_PROFILE']);
+  }
+}
diff --git a/performance_hacks.module b/performance_hacks.module
index ea26882..ba5b520 100644
--- a/performance_hacks.module
+++ b/performance_hacks.module
@@ -332,15 +332,14 @@ function performance_hacks_node_render_is_cacheable($allow_caching = NULL, $node
   // Prevent caching if:
   // - there are any additional $_GET parameters.
   // - the user has access to edit or delete the node.
-  // If the only $_GET parameter is XDEBUG_PROFILE unset it so that caching is
-  // taken into account during profiling.
   $get = drupal_get_query_parameters();
 
-  if (isset($get['XDEBUG_PROFILE'])) {
-    unset($get['XDEBUG_PROFILE']);
-  }
+  // Allow sites to exclude specific $_GET parameters.
+  drupal_alter('performance_hacks_cache_get', $get);
+
   return $allow_caching_static && empty($get) && !node_access($node, 'update') && !node_access($node, 'delete');
 }
+
 /**
  * Determine all possible cache keys for a node.
  */
@@ -661,3 +660,14 @@ function performance_hacks_replace_menu_tree_page_data($menu_name, $max_depth =
 
   return array();
 }
+
+/**
+ * Implements hook_performance_hacks_cache_get_alter().
+ */
+function performance_hacks_performance_hacks_cache_get_alter(&$get) {
+  // If the only $_GET parameter is XDEBUG_PROFILE unset it so that caching is
+  // taken into account during profiling.
+  if (isset($get['XDEBUG_PROFILE'])) {
+    unset($get['XDEBUG_PROFILE']);
+  }
+}
