diff --git a/index-wp-redis.php b/index-wp-redis.php
index 5eb527b9b70fac2103cc2f858a33dd1de2187c00..46e4d9c1168ec34d725b40cecf44511a73898f45 100644
--- a/index-wp-redis.php
+++ b/index-wp-redis.php
@@ -1,74 +1,93 @@
 <?php
 
-$seconds_cache_redis = 60*60*12; // 12 hours by default, you can change in this in wp-admin options page
-$ip_of_your_website = '64.90.38.145';  //You must set this to the IP of your website
-$secret_string = "changeme";    /*This is if you want to manually refresh the cache
-								 ex: http://example.com/sample-post?refresh=changeme    */
+$seconds_cache_redis = 60 * 60 * 12; // 12 hours by default, you can change in this in wp-admin options page
+$ip_of_your_website  = '64.90.38.145'; //You must set this to the IP of your website
+$secret_string       = "changeme";
+/*This is if you want to manually refresh the cache
+ex: http://example.com/sample-post?refresh=changeme    */
+
 
- 
 // so we don't confuse the cloudflare server 
 if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
-	$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
+    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
 }
 
 define('WP_USE_THEMES', true);
- 
+
 // Start the timer so we can track the page load time
 $start = microtime();
- 
-include("wp-content/plugins/wp-redis-cache/predis5.2.php");  //we need this to use Redis inside of PHP
+
+include("wp-content/plugins/wp-redis-cache/predis5.2.php"); //we need this to use Redis inside of PHP
 $redis = new Predis_Client();
- 
-$current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
-$current_url = str_replace("?refresh=$secret_string", '', $current_url);  //clean up the URL
+
+$current_url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+$current_url = str_replace("?refresh=$secret_string", '', $current_url); //clean up the URL
 $current_url = str_replace("&refresh=$secret_string", '', $current_url);
-$redis_key = md5($current_url);
+$redis_key   = md5($current_url);
 
 //Either manual refresh cache by adding ?refresh=secret_string after the URL or somebody posting a comment
-if (isset($_GET['refresh']) || $_GET['refresh']==$secret_string || ($_SERVER['HTTP_REFERER'] == $current_url && $_SERVER['REQUEST_URI'] != '/' && $_SERVER['REMOTE_ADDR'] != $ip_of_your_website)) {
-
-	$redis->del($redis_key);
-	require('./wp-blog-header.php');
- 
-// This page is cached, lets display it
+if (isset($_GET['refresh']) || $_GET['refresh'] == $secret_string || ($_SERVER['HTTP_REFERER'] == $current_url && $_SERVER['REQUEST_URI'] != '/' && $_SERVER['REMOTE_ADDR'] != $ip_of_your_website)) {
+    
+    $redis->del($redis_key);
+    require('./wp-blog-header.php');
+    
+    // This page is cached, lets display it
 } else if ($redis->exists($redis_key)) {
-	$html_of_page = $redis->get($redis_key);
-	echo $html_of_page;
- 
-// If the cache does not exist lets display the user the normal page without cache, and then fetch a new cache page
+    $html_of_page = $redis->get($redis_key);
+    echo $html_of_page;
+    
+    // If the cache does not exist lets display the user the normal page without cache, and then fetch a new cache page
 } else if ($_SERVER['REMOTE_ADDR'] != $ip_of_your_website && strstr($current_url, 'preview=true') == false) {
-	require('./wp-blog-header.php');
-	$html_of_page = @file_get_contents($current_url);
-
-	$usr_seconds=get_option('wp-redis-cache-seconds');  //if the user has the seconds defined in the admin section use it
-	if(isset($usr_seconds) &&   is_numeric($usr_seconds))
-	{
-		$seconds_cache_redis=$usr_seconds;
-	}
-	
-	if(strlen($html_of_page) > 5000)
-	{
-	$redis->setex($redis_key, $seconds_cache_redis, $html_of_page);
-	}
- 
-// This is what your server should get if no cache exists
-} else {
-	require('./wp-blog-header.php');
+    
+    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
+        $isPOST = 1;
+    } else {
+        $isPOST = 0;
+    }
+    
+    $loggedIn = preg_match("/wordpress_logged_in/", var_export($_COOKIE, true));
+    if ($isPost == 0 && $loggedIn == 0) {
+        ob_start();
+        require('./wp-blog-header.php');
+        $html_of_page = ob_get_contents();
+        ob_end_clean();
+        echo $html_of_page;
+        
+        $usr_seconds = get_option('wp-redis-cache-seconds'); //if the user has the seconds defined in the admin section use it
+        if (isset($usr_seconds) && is_numeric($usr_seconds)) {
+            $seconds_cache_redis = $usr_seconds;
+        }
+        
+        if (strlen($html_of_page) > 5000) {   //prevents caching error pages 
+            $redis->setex($redis_key, $seconds_cache_redis, $html_of_page);
+        }
+    } else //either the user is logged in, or is posting a comment, show them uncached
+        {
+        require('./wp-blog-header.php');
+    }
+    
+    
+    
+    
 }
- 
- 
+ // else {   // This is what your server should get if no cache exists  //depricated, as the ob_start() is cleaner
+    // require('./wp-blog-header.php');
+// }
+
+
 
 if ($_SERVER['REMOTE_ADDR'] != $ip_of_your_website) {
-// How long did it take to load the page? (CloudFlare may strip out comments)
-$end = microtime();
-$time = (@getMicroTime($end) - @getMicroTime($start));
-	echo "<!-- Cache system by Benjamin Adams. Page generated in ".round($time,5)." seconds. -->";
+    // How long did it take to load the page? (CloudFlare may strip out comments)
+    $end  = microtime();
+    $time = (@getMicroTime($end) - @getMicroTime($start));
+    echo "<!-- Cache system by Benjamin Adams. Page generated in " . round($time, 5) . " seconds. -->";
 }
 
 
-function getMicroTime($t) {
-	list($usec, $sec) = explode(" ",$t);
-	return ((float)$usec + (float)$sec);
+function getMicroTime($t)
+{
+    list($usec, $sec) = explode(" ", $t);
+    return ((float) $usec + (float) $sec);
 }