diff --git a/front/src/views/dashboard.html b/front/src/views/dashboard.html
index e38ce19..808019d 100644
--- a/front/src/views/dashboard.html
+++ b/front/src/views/dashboard.html
@@ -55,6 +55,10 @@
+ <%if (sponsoring.wordpress) { %>
+
+ <% } %>
+
<%if (sponsoring.dashboard) { %>
<% } %>
diff --git a/lib/runner.js b/lib/runner.js
index 31e2044..29332fb 100644
--- a/lib/runner.js
+++ b/lib/runner.js
@@ -77,6 +77,10 @@ var Runner = function(params) {
data.blockedRequests = data.toolsResults.phantomas.offenders.blockedRequests;
}
+ // Report WordPress detection
+ if (data.toolsResults.redownload.metrics.isWordPress === true) {
+ data.frameworks = {isWordPress: true};
+ }
// Finished!
deferred.resolve(data);
diff --git a/lib/tools/redownload/redownload.js b/lib/tools/redownload/redownload.js
index f7169c3..cb1adce 100644
--- a/lib/tools/redownload/redownload.js
+++ b/lib/tools/redownload/redownload.js
@@ -178,6 +178,8 @@ var Redownload = function() {
offenders.unusedUnicodeRanges = listUnusedUnicodeRanges(results);
metrics.unusedUnicodeRanges = offenders.unusedUnicodeRanges.count;
+ // Detect WordPress
+ metrics.isWordPress = detectWordPress(results);
data.toolsResults.redownload = {
metrics: metrics,
@@ -741,6 +743,17 @@ var Redownload = function() {
};
}
+ function detectWordPress(requests) {
+ // Check the first file only
+ if (requests[0].isHTML
+ && requests[0].weightCheck.bodyBuffer
+ && requests[0].weightCheck.bodyBuffer.indexOf('/wp-content/') > 0) {
+
+ return true;
+ }
+ return false;
+ }
+
function redownloadEntry(entry, httpAuth, proxy) {
var deferred = Q.defer();