diff --git a/Gemfile b/Gemfile
index 46bb9791ab093d23ec6e2c3cd09f0e2b99e75691..00487f3afe42a1822eedad16eda518c6286ac0f6 100644
--- a/Gemfile
+++ b/Gemfile
@@ -4,11 +4,11 @@ gem 'rake'
 gem 'jekyll'
 
 group :default, :jekyll_plugins do
-  gem 'jekyll-scholar'
+  gem 'jekyll-scholar', '~> 5'
 end
 
 group :test do
-  gem 'html-proofer'
+  gem 'html-proofer', '~> 3'
 end
 
 group :development do
diff --git a/Gemfile.lock b/Gemfile.lock
index 94efa7e8c71b6413bdb7980131a4b85be5917287..abee24f70117d058ec37ce717ea1c17f2b8e684c 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -93,9 +93,9 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  html-proofer
+  html-proofer (~> 3)
   jekyll
-  jekyll-scholar
+  jekyll-scholar (~> 5)
   pry
   rake
 
diff --git a/Rakefile b/Rakefile
index cf312945d317d76011bd6c4c0384e558386e00da..9fd291a563cc60d0baf2c22ea97b7729bcf8fb14 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,4 +1,4 @@
-require 'html/proofer'
+require 'html-proofer'
 
 task :default => :build
 
@@ -7,30 +7,23 @@ task :build do
   sh "bundle exec jekyll build"
 end
 
-file_ignore = []
-url_ignore = []
+htmlproofer_config = {
+  :disable_external => true,
+  :check_favicon => true,
+  :check_html => true,
+  :parallel => { :in_processes => 4 }
+}
 
 desc "Build the site and test output for dead links, invalid html etc."
 task :test => :build do
-  HTML::Proofer.new("./_site", {
-    :disable_external => true,
-    :validate_html => true,
-    :file_ignore => file_ignore,
-    :url_ignore => url_ignore
-  }).run
+  HTMLProofer.check_directory("./_site", htmlproofer_config).run
 end
 
 desc "Test dead external links"
 task :testlinks => :build do
-  HTML::Proofer.new("./_site", {
-    :validate_html => true,
-    :file_ignore => file_ignore,
-    :url_ignore => url_ignore,
-    :typhoeus => {
-      :ssl_verifypeer => false,
-      :ssl_verifyhost => 0
-    }
-  }).run
+  HTMLProofer.check_directory("./_site", htmlproofer_config.merge({
+    :disable_external => false
+  })).run
 end
 
 desc "Build the site, rebuild when files are edited, and serve via a local http server"