From 9c165f4ce96b96ac0d77d6d86ebf21ca49405f1c Mon Sep 17 00:00:00 2001
From: mattab <matthieu.aubry@gmail.com>
Date: Thu, 27 Nov 2014 16:05:39 +1300
Subject: [PATCH] Fixes #3147 Add rel="noreferrer" to all outgoing links . This
 works in Firefox so far and only for "left clicks". Not perfect, but
 hopefully other browsers will implement this in the future, as it's a useful
 privacy enhancing feature!

---
 core/API/DocumentationGenerator.php           | 16 +++---
 core/Error.php                                |  2 +-
 core/Plugin/ControllerAdmin.php               |  2 +-
 core/Session.php                              |  2 +-
 core/Updates/0.6-rc1.php                      |  4 +-
 core/Updates/1.2-rc1.php                      |  2 +-
 core/testMinimumPhpVersion.php                | 14 ++---
 plugins/API/API.php                           |  4 +-
 plugins/API/templates/listAllAPI.twig         |  2 +-
 plugins/Actions/API.php                       |  2 +-
 .../Actions/Reports/GetSiteSearchKeywords.php |  2 +-
 .../templates/generalSettings.twig            | 12 ++---
 .../templates/trackingCodeGenerator.twig      | 10 ++--
 .../enrichedheadline.directive.html           |  2 +
 plugins/CoreHome/javascripts/dataTable.js     |  2 +-
 .../ReportRenderer/_htmlReportHeader.twig     |  2 +-
 .../CoreHome/templates/_dataTableCell.twig    |  2 +-
 plugins/CoreHome/templates/_donate.twig       |  2 +-
 .../CoreHome/templates/_headerMessage.twig    |  4 +-
 .../templates/_warningInvalidHost.twig        |  4 +-
 plugins/CoreHome/templates/getPromoVideo.twig |  6 +--
 .../templates/browsePlugins.twig              |  2 +-
 .../CorePluginsAdmin/templates/macros.twig    |  4 +-
 .../templates/pluginDetails.twig              |  2 +-
 .../CorePluginsAdmin/templates/safemode.twig  |  2 +-
 .../templates/oneClickResults.twig            |  2 +-
 .../templates/runUpdaterAndExit_done.twig     |  4 +-
 .../templates/runUpdaterAndExit_welcome.twig  |  4 +-
 .../templates/_dataTableViz_tagCloud.twig     |  2 +-
 plugins/CustomVariables/API.php               |  2 +-
 .../Reports/GetCustomVariables.php            |  2 +-
 .../GetCustomVariablesValuesFromNameId.php    |  2 +-
 plugins/DBStats/templates/index.twig          |  2 +-
 plugins/Dashboard/API.php                     |  2 +-
 plugins/ExampleAPI/API.php                    |  2 +-
 plugins/ExampleRssWidget/RssRenderer.php      |  2 +-
 plugins/Feedback/templates/index.twig         | 54 +++++++++----------
 plugins/Goals/API.php                         |  2 +-
 plugins/Goals/Goals.php                       |  2 +-
 plugins/Goals/Visualizations/Goals.php        |  2 +-
 plugins/Goals/templates/_addEditGoal.twig     |  8 +--
 plugins/Goals/templates/_formAddGoal.twig     |  2 +-
 plugins/Goals/templates/addNewGoal.twig       |  2 +-
 plugins/Installation/FormSuperUser.php        |  2 +-
 .../templates/_systemCheckSection.twig        |  8 +--
 plugins/Installation/templates/finished.twig  |  4 +-
 .../Installation/templates/reuseTables.twig   |  2 +-
 .../Installation/templates/systemCheck.twig   |  2 +-
 .../Installation/templates/trackingCode.twig  |  4 +-
 plugins/LanguagesManager/API.php              |  2 +-
 .../translationsearch.directive.html          |  2 +-
 plugins/Live/API.php                          |  4 +-
 plugins/Live/templates/_actionsList.twig      |  2 +-
 .../templates/_dataTableViz_visitorLog.twig   |  6 +--
 .../Live/templates/getLastVisitsStart.twig    |  2 +-
 .../templates/getVisitorProfilePopup.twig     |  2 +-
 plugins/Login/Controller.php                  |  2 +-
 plugins/Login/templates/login.twig            |  2 +-
 plugins/MobileMessaging/SMSProvider.php       |  6 +--
 .../angularjs/site/site.directive.html        |  4 +-
 plugins/Overlay/templates/index.twig          |  4 +-
 .../templates/privacySettings.twig            |  6 +--
 plugins/Provider/Reports/GetProvider.php      |  2 +-
 plugins/Referrers/API.php                     |  4 +-
 plugins/Referrers/Controller.php              |  4 +-
 plugins/Referrers/Reports/GetCampaigns.php    |  2 +-
 .../Reports/GetKeywordsFromCampaignId.php     |  2 +-
 plugins/SEO/templates/getRank.twig            |  4 +-
 plugins/ScheduledReports/API.php              |  2 +-
 .../templates/_addReport.twig                 |  2 +-
 .../templates/_listReports.twig               |  2 +-
 plugins/SecurityInfo                          |  2 +-
 .../templates/_segmentSelector.twig           |  2 +-
 plugins/SitesManager/API.php                  |  2 +-
 .../templates/_displayJavascriptCode.twig     |  4 +-
 .../UserCountry/LocationProvider/Default.php  |  2 +-
 .../LocationProvider/GeoIp/Pecl.php           |  2 +-
 .../LocationProvider/GeoIp/Php.php            |  2 +-
 .../LocationProvider/GeoIp/ServerBased.php    |  4 +-
 plugins/UserCountry/Reports/Base.php          |  8 +--
 plugins/UserCountry/Reports/GetCountry.php    |  2 +-
 plugins/UserCountry/templates/adminIndex.twig |  2 +-
 plugins/UsersManager/API.php                  |  2 +-
 plugins/UsersManager/Model.php                |  2 +-
 plugins/VisitorGenerator                      |  2 +-
 plugins/VisitsSummary/Controller.php          |  2 +-
 plugins/Widgetize/javascripts/widgetize.js    |  2 +-
 plugins/Widgetize/templates/index.twig        |  8 +--
 88 files changed, 174 insertions(+), 172 deletions(-)

diff --git a/core/API/DocumentationGenerator.php b/core/API/DocumentationGenerator.php
index 6a140ac8fb..3c88f62027 100644
--- a/core/API/DocumentationGenerator.php
+++ b/core/API/DocumentationGenerator.php
@@ -132,13 +132,13 @@ class DocumentationGenerator
             $lastNUrls = '';
             if (preg_match('/(&period)|(&date)/', $exampleUrl)) {
                 $exampleUrlRss = $prefixUrls . $this->getExampleUrl($class, $methodName, array('date' => 'last10', 'period' => 'day') + $parametersToSet);
-                $lastNUrls = ", RSS of the last <a target=_blank href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>";
+                $lastNUrls = ", RSS of the last <a target='_blank' href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>";
             }
             $exampleUrl = $prefixUrls . $exampleUrl;
             $str .= " [ Example in
-                                                                    <a target=_blank href='$exampleUrl&format=xml$token_auth'>XML</a>,
-                                                                    <a target=_blank href='$exampleUrl&format=JSON$token_auth'>Json</a>,
-                                                                    <a target=_blank href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a>
+                                                                    <a target='_blank' href='$exampleUrl&format=xml$token_auth'>XML</a>,
+                                                                    <a target='_blank' href='$exampleUrl&format=JSON$token_auth'>Json</a>,
+                                                                    <a target='_blank' href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a>
                                                                     $lastNUrls
                                                                     ]";
         } else {
@@ -350,13 +350,13 @@ class DocumentationGenerator
                 $lastNUrls = '';
                 if (preg_match('/(&period)|(&date)/', $exampleUrl)) {
                     $exampleUrlRss = $prefixUrls . $this->getExampleUrl($class, $methodName, array('date' => 'last10', 'period' => 'day') + $parametersToSet);
-                    $lastNUrls = ",	RSS of the last <a target=_blank href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>";
+                    $lastNUrls = ",	RSS of the last <a target='_blank' href='$exampleUrlRss&format=rss$token_auth&translateColumnNames=1'>10 days</a>";
                 }
                 $exampleUrl = $prefixUrls . $exampleUrl;
                 $str .= " [ Example in
-									<a target=_blank href='$exampleUrl&format=xml$token_auth'>XML</a>,
-									<a target=_blank href='$exampleUrl&format=JSON$token_auth'>Json</a>,
-									<a target=_blank href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a>
+									<a target='_blank' href='$exampleUrl&format=xml$token_auth'>XML</a>,
+									<a target='_blank' href='$exampleUrl&format=JSON$token_auth'>Json</a>,
+									<a target='_blank' href='$exampleUrl&format=Tsv$token_auth&translateColumnNames=1'>Tsv (Excel)</a>
 									$lastNUrls
 									]";
             } else {
diff --git a/core/Error.php b/core/Error.php
index c56e3301a7..d8fa0706fc 100644
--- a/core/Error.php
+++ b/core/Error.php
@@ -148,7 +148,7 @@ class Error
             $htmlString = '';
             $htmlString .= "\n<div style='word-wrap: break-word; border: 3px solid red; padding:4px; width:70%; background-color:#FFFF96;'>
         <strong>There is an error. Please report the message (Piwik " . (class_exists('Piwik\Version') ? Version::VERSION : '') . ")
-        and full backtrace in the <a href='?module=Proxy&action=redirect&url=http://forum.piwik.org' target='_blank'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/>
+        and full backtrace in the <a href='?module=Proxy&action=redirect&url=http://forum.piwik.org' rel='noreferrer' target='_blank'>Piwik forums</a> (please do a Search first as it might have been reported already!).<br /><br/>
         ";
             $htmlString .= Error::getErrNoString($message->errno);
             $htmlString .= ":</strong> <em>{$message->errstr}</em> in <strong>{$message->errfile}</strong>";
diff --git a/core/Plugin/ControllerAdmin.php b/core/Plugin/ControllerAdmin.php
index 746395e88e..008cb4d2f4 100644
--- a/core/Plugin/ControllerAdmin.php
+++ b/core/Plugin/ControllerAdmin.php
@@ -131,7 +131,7 @@ abstract class ControllerAdmin extends Controller
         $message = sprintf("You are using the PHP accelerator & optimizer eAccelerator which is known to be not compatible with Piwik.
             We have disabled eAccelerator, which might affect the performance of Piwik.
             Read the %srelated ticket%s for more information and how to fix this problem.",
-            '<a target="_blank" href="https://github.com/piwik/piwik/issues/4439">', '</a>');
+            '<a rel="noreferrer" target="_blank" href="https://github.com/piwik/piwik/issues/4439">', '</a>');
 
         $notification = new Notification($message);
         $notification->context = Notification::CONTEXT_WARNING;
diff --git a/core/Session.php b/core/Session.php
index f67b2e4caf..edd468c95e 100644
--- a/core/Session.php
+++ b/core/Session.php
@@ -120,7 +120,7 @@ class Session extends Zend_Session
             $enableDbSessions = '';
             if (DbHelper::isInstalled()) {
                 $enableDbSessions = "<br/>If you still experience issues after trying these changes,
-			            			we recommend that you <a href='http://piwik.org/faq/how-to-install/#faq_133' target='_blank'>enable database session storage</a>.";
+			            			we recommend that you <a href='http://piwik.org/faq/how-to-install/#faq_133' rel='noreferrer' target='_blank'>enable database session storage</a>.";
             }
 
             $pathToSessions = Filechecks::getErrorMessageMissingPermissions(Filesystem::getPathToPiwikRoot() . '/tmp/sessions/');
diff --git a/core/Updates/0.6-rc1.php b/core/Updates/0.6-rc1.php
index 9f293dda97..9a946251ad 100644
--- a/core/Updates/0.6-rc1.php
+++ b/core/Updates/0.6-rc1.php
@@ -42,8 +42,8 @@ class Updates_0_6_rc1 extends Updates
     {
         // first we disable the plugins and keep an array of warnings messages
         $pluginsToDisableMessage = array(
-            'SearchEnginePosition' => "SearchEnginePosition plugin was disabled, because it is not compatible with the new Piwik 0.6. \n You can download the latest version of the plugin, compatible with Piwik 0.6.\n<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/502'>Click here.</a>",
-            'GeoIP'                => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 0.6. \nYou can download the latest version of the plugin, compatible with Piwik 0.6.\n<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/45'>Click here.</a>"
+            'SearchEnginePosition' => "SearchEnginePosition plugin was disabled, because it is not compatible with the new Piwik 0.6. \n You can download the latest version of the plugin, compatible with Piwik 0.6.\n<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/502'>Click here.</a>",
+            'GeoIP'                => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 0.6. \nYou can download the latest version of the plugin, compatible with Piwik 0.6.\n<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/45'>Click here.</a>"
         );
         $disabledPlugins = array();
         foreach ($pluginsToDisableMessage as $pluginToDisable => $warningMessage) {
diff --git a/core/Updates/1.2-rc1.php b/core/Updates/1.2-rc1.php
index e268ad8570..658dffeb27 100644
--- a/core/Updates/1.2-rc1.php
+++ b/core/Updates/1.2-rc1.php
@@ -129,7 +129,7 @@ class Updates_1_2_rc1 extends Updates
     {
         // first we disable the plugins and keep an array of warnings messages
         $pluginsToDisableMessage = array(
-            'GeoIP'     => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 1.2. \nYou can download the latest version of the plugin, compatible with Piwik 1.2.\n<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/45'>Click here.</a>",
+            'GeoIP'     => "GeoIP plugin was disabled, because it is not compatible with the new Piwik 1.2. \nYou can download the latest version of the plugin, compatible with Piwik 1.2.\n<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/45'>Click here.</a>",
             'EntryPage' => "EntryPage plugin is not compatible with this version of Piwik, it was disabled.",
         );
         $disabledPlugins = array();
diff --git a/core/testMinimumPhpVersion.php b/core/testMinimumPhpVersion.php
index a24780077d..eec5a50d1b 100644
--- a/core/testMinimumPhpVersion.php
+++ b/core/testMinimumPhpVersion.php
@@ -52,11 +52,11 @@ if ($minimumPhpInvalid) {
             $composerInstall = "Download and run <a href=\"https://getcomposer.org/Composer-Setup.exe\"><b>Composer-Setup.exe</b></a>, it will install the latest Composer version and set up your PATH so that you can just call composer from any directory in your command line. "
                 . " <br>Then run this command in a terminal in the piwik directory: <br> $ php composer.phar update ";
         }
-        $piwik_errorMessage .= "<p>It appears the <a href='https://getcomposer.org/' target='_blank'>composer</a> tool is not yet installed. You can install Composer in a few easy steps:\n\n".
+        $piwik_errorMessage .= "<p>It appears the <a href='https://getcomposer.org/' rel='noreferrer' target='_blank'>composer</a> tool is not yet installed. You can install Composer in a few easy steps:\n\n".
                     "<br/>" . $composerInstall.
                     " This will initialize composer for Piwik and download libraries we use in vendor/* directory.".
                     "\n\n<br/><br/>Then reload this page to access your analytics reports." .
-                    "\n\n<br/><br/>For more information check out this FAQ: <a href='http://piwik.org/faq/how-to-install/faq_18271/' target='_blank'>How do I use Piwik from the Git repository?</a>." .
+                    "\n\n<br/><br/>For more information check out this FAQ: <a href='http://piwik.org/faq/how-to-install/faq_18271/' rel='noreferrer' target='_blank'>How do I use Piwik from the Git repository?</a>." .
                     "\n\n<br/><br/>Note: if for some reasons you cannot install composer, instead install the latest Piwik release from ".
                     "<a href='http://builds.piwik.org/piwik.zip'>builds.piwik.org</a>.</p>";
     }
@@ -122,11 +122,11 @@ if (!function_exists('Piwik_GetErrorMessagePage')) {
 
         if ($optionalLinks) {
             $optionalLinks = '<ul>
-                            <li><a target="_blank" href="http://piwik.org">Piwik.org homepage</a></li>
-                            <li><a target="_blank" href="http://piwik.org/faq/">Piwik Frequently Asked Questions</a></li>
-                            <li><a target="_blank" href="http://piwik.org/docs/">Piwik Documentation</a></li>
-                            <li><a target="_blank" href="http://forum.piwik.org/">Piwik Forums</a></li>
-                            <li><a target="_blank" href="http://demo.piwik.org">Piwik Online Demo</a></li>
+                            <li><a rel="noreferrer" target="_blank" href="http://piwik.org">Piwik.org homepage</a></li>
+                            <li><a rel="noreferrer" target="_blank" href="http://piwik.org/faq/">Piwik Frequently Asked Questions</a></li>
+                            <li><a rel="noreferrer" target="_blank" href="http://piwik.org/docs/">Piwik Documentation</a></li>
+                            <li><a rel="noreferrer" target="_blank" href="http://forum.piwik.org/">Piwik Forums</a></li>
+                            <li><a rel="noreferrer" target="_blank" href="http://demo.piwik.org">Piwik Online Demo</a></li>
                             </ul>';
         }
         if ($optionalLinkBack) {
diff --git a/plugins/API/API.php b/plugins/API/API.php
index c65c04fffe..7802d3ffd8 100644
--- a/plugins/API/API.php
+++ b/plugins/API/API.php
@@ -30,7 +30,7 @@ use Piwik\Version;
 require_once PIWIK_INCLUDE_PATH . '/core/Config.php';
 
 /**
- * This API is the <a href='http://piwik.org/docs/analytics-api/metadata/' target='_blank'>Metadata API</a>: it gives information about all other available APIs methods, as well as providing
+ * This API is the <a href='http://piwik.org/docs/analytics-api/metadata/' rel='noreferrer' target='_blank'>Metadata API</a>: it gives information about all other available APIs methods, as well as providing
  * human readable and more complete outputs than normal API methods.
  *
  * Some of the information that is returned by the Metadata API:
@@ -43,7 +43,7 @@ require_once PIWIK_INCLUDE_PATH . '/core/Config.php';
  * <li>the method "getSuggestedValuesForSegment" returns top suggested values for a particular segment. It uses the Live.getLastVisitsDetails API to fetch the most recently used values, and will return the most often used values first.</li>
  * </ul>
  * The Metadata API is for example used by the Piwik Mobile App to automatically display all Piwik reports, with translated report & columns names and nicely formatted values.
- * More information on the <a href='http://piwik.org/docs/analytics-api/metadata/' target='_blank'>Metadata API documentation page</a>
+ * More information on the <a href='http://piwik.org/docs/analytics-api/metadata/' rel='noreferrer' target='_blank'>Metadata API documentation page</a>
  *
  * @method static \Piwik\Plugins\API\API getInstance()
  */
diff --git a/plugins/API/templates/listAllAPI.twig b/plugins/API/templates/listAllAPI.twig
index e4cf96174c..6ccd5db38f 100644
--- a/plugins/API/templates/listAllAPI.twig
+++ b/plugins/API/templates/listAllAPI.twig
@@ -16,7 +16,7 @@
     <p>{{ 'API_PluginDescription'|translate }}</p>
 
     <p>
-        <strong>{{ 'API_MoreInformation'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api'>","</a>","<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api/reference'>","</a>")|raw }}</strong>
+        <strong>{{ 'API_MoreInformation'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api'>","</a>","<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/analytics-api/reference'>","</a>")|raw }}</strong>
     </p>
 
     <h2>{{ 'API_UserAuthentication'|translate }}</h2>
diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php
index ed161bdfec..1bddaab3c8 100644
--- a/plugins/Actions/API.php
+++ b/plugins/Actions/API.php
@@ -25,7 +25,7 @@ use Piwik\Tracker\PageUrl;
  * The Actions API lets you request reports for all your Visitor Actions: Page URLs, Page titles (Piwik Events),
  * File Downloads and Clicks on external websites.
  *
- * For example, "getPageTitles" will return all your page titles along with standard <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' target='_blank'>Actions metrics</a> for each row.
+ * For example, "getPageTitles" will return all your page titles along with standard <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' rel='noreferrer' target='_blank'>Actions metrics</a> for each row.
  *
  * It is also possible to request data for a specific Page Title with "getPageTitle"
  * and setting the parameter pageName to the page title you wish to request.
diff --git a/plugins/Actions/Reports/GetSiteSearchKeywords.php b/plugins/Actions/Reports/GetSiteSearchKeywords.php
index 61fc0a84ed..32ce9e3b4b 100644
--- a/plugins/Actions/Reports/GetSiteSearchKeywords.php
+++ b/plugins/Actions/Reports/GetSiteSearchKeywords.php
@@ -20,7 +20,7 @@ class GetSiteSearchKeywords extends SiteSearchBase
         $this->dimension     = new Keyword();
         $this->name          = Piwik::translate('Actions_WidgetSearchKeywords');
         $this->documentation = Piwik::translate('Actions_SiteSearchKeywordsDocumentation') . '<br/><br/>' . Piwik::translate('Actions_SiteSearchIntro') . '<br/><br/>'
-                             . '<a href="http://piwik.org/docs/site-search/" target="_blank">' . Piwik::translate('Actions_LearnMoreAboutSiteSearchLink') . '</a>';
+                             . '<a href="http://piwik.org/docs/site-search/" rel="noreferrer"  target="_blank">' . Piwik::translate('Actions_LearnMoreAboutSiteSearchLink') . '</a>';
         $this->metrics       = array('nb_visits', 'nb_pages_per_search', 'exit_rate');
         $this->order = 15;
         $this->widgetTitle  = 'Actions_WidgetSearchKeywords';
diff --git a/plugins/CoreAdminHome/templates/generalSettings.twig b/plugins/CoreAdminHome/templates/generalSettings.twig
index 772d5d600c..d7f49b07e9 100644
--- a/plugins/CoreAdminHome/templates/generalSettings.twig
+++ b/plugins/CoreAdminHome/templates/generalSettings.twig
@@ -24,13 +24,13 @@
 
                     <input id="enableBrowserTriggerArchiving-no" type="radio" value="0" name="enableBrowserTriggerArchiving"{% if enableBrowserTriggerArchiving==0 %} checked="checked"{% endif %} />
                     <label for="enableBrowserTriggerArchiving-no">{{ 'General_No'|translate }}</label><br/>
-                    <span class="form-description">{{ 'General_ArchivingTriggerDescription'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>","</a>")|raw }}</span>
+                    <span class="form-description">{{ 'General_ArchivingTriggerDescription'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' rel='noreferrer' target='_blank'>","</a>")|raw }}</span>
                 </fieldset>
             <td>
                 {% set browserArchivingHelp %}
                     {{ 'General_ArchivingInlineHelp'|translate }}
                     <br/>
-                    {{ 'General_SeeTheOfficialDocumentationForMoreInformation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>","</a>")|raw }}
+                    {{ 'General_SeeTheOfficialDocumentationForMoreInformation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' rel='noreferrer' target='_blank'>","</a>")|raw }}
                 {% endset %}
                 {{ piwik.inlineHelp(browserArchivingHelp) }}
             </td>
@@ -100,9 +100,9 @@
                 </fieldset>
             <td>
                 {% set checkReleaseHelp %}
-                    {{ 'CoreAdminHome_DevelopmentProcess'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' target='_blank'>","</a>")|raw }}
+                    {{ 'CoreAdminHome_DevelopmentProcess'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' rel='noreferrer' target='_blank'>","</a>")|raw }}
                     <br/>
-                    {{ 'CoreAdminHome_StableReleases'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/user-feedback/' target='_blank'>","</a>")|raw }}
+                    {{ 'CoreAdminHome_StableReleases'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/user-feedback/' rel='noreferrer' target='_blank'>","</a>")|raw }}
                 {% endset %}
                 {{ piwik.inlineHelp(checkReleaseHelp) }}
             </td>
@@ -225,7 +225,7 @@
                 <td id="inlineHelpCustomLogo">
                     {% set giveUsFeedbackText %}"{{ 'General_GiveUsYourFeedback'|translate }}"{% endset %}
                     {% set customLogoHelp %}
-                    {{ 'CoreAdminHome_CustomLogoFeedbackInfo'|translate(giveUsFeedbackText,"<a href='?module=CorePluginsAdmin&action=plugins' target='_blank'>","</a>")|raw }}
+                    {{ 'CoreAdminHome_CustomLogoFeedbackInfo'|translate(giveUsFeedbackText,"<a href='?module=CorePluginsAdmin&action=plugins' rel='noreferrer' target='_blank'>","</a>")|raw }}
                     {% endset %}
                     {{ piwik.inlineHelp(customLogoHelp) }}
                 </td>
@@ -344,7 +344,7 @@
     {% endset %}
     <code>{{ iframeOptOut|escape }}</code>
     <br/>
-    {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' target='_blank'>","</a>")|raw }}
+    {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' rel='noreferrer' target='_blank'>","</a>")|raw }}
 </p>
 
 {% endblock %}
diff --git a/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig b/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig
index b3bfbf8d6b..bd54182b76 100644
--- a/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig
+++ b/plugins/CoreAdminHome/templates/trackingCodeGenerator.twig
@@ -18,11 +18,11 @@
     <p>
         {{ 'CoreAdminHome_JSTrackingIntro1'|translate }}
         <br/><br/>
-        {{ 'CoreAdminHome_JSTrackingIntro2'|translate }} {{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" target="_blank">','</a>')|raw }}
+        {{ 'CoreAdminHome_JSTrackingIntro2'|translate }} {{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" rel="noreferrer"  target="_blank">','</a>')|raw }}
         <br/><br/>
         {{ 'CoreAdminHome_JSTrackingIntro4'|translate('<a href="#image-tracking-link">','</a>')|raw }}
         <br/><br/>
-        {{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }}
+        {{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a rel="noreferrer"  target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }}
     </p>
 
     <div>
@@ -167,7 +167,7 @@
                         <label for="custom-campaign-query-params-check">{{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParam'|translate }}</label>
 
                         <div class="small-form-description">
-                            {{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParamDesc'|translate('<a href="http://piwik.org/faq/general/#faq_119" target="_blank">','</a>')|raw }}
+                            {{ 'CoreAdminHome_JSTracking_CustomCampaignQueryParamDesc'|translate('<a href="http://piwik.org/faq/general/#faq_119" rel="noreferrer"  target="_blank">','</a>')|raw }}
                         </div>
 
                         <table style="display:none;" id="js-campaign-query-param-extra">
@@ -206,7 +206,7 @@
     <p>
         {{ 'CoreAdminHome_ImageTrackingIntro1'|translate }} {{ 'CoreAdminHome_ImageTrackingIntro2'|translate("<em>&lt;noscript&gt;&lt;/noscript&gt;</em>")|raw }}
         <br/><br/>
-        {{ 'CoreAdminHome_ImageTrackingIntro3'|translate('<a href="http://piwik.org/docs/tracking-api/reference/" target="_blank">','</a>')|raw }}
+        {{ 'CoreAdminHome_ImageTrackingIntro3'|translate('<a href="http://piwik.org/docs/tracking-api/reference/" rel="noreferrer"  target="_blank">','</a>')|raw }}
     </p>
 
     <div>
@@ -276,7 +276,7 @@
 <h2>{{ 'CoreAdminHome_ImportingServerLogs'|translate }}</h2>
 
 <p>
-    {{ 'CoreAdminHome_ImportingServerLogsDesc'|translate('<a href="http://piwik.org/log-analytics/" target="_blank">','</a>')|raw }}
+    {{ 'CoreAdminHome_ImportingServerLogsDesc'|translate('<a href="http://piwik.org/log-analytics/" rel="noreferrer"  target="_blank">','</a>')|raw }}
 </p>
 
 {% endblock %}
diff --git a/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html b/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html
index 53f04ecac1..2a03f809c4 100644
--- a/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html
+++ b/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.html
@@ -4,6 +4,7 @@
 
     <span ng-show="view.showIcons">
         <a ng-if="helpUrl && !inlineHelp"
+           rel="noreferrer"
            target="_blank"
            href="{{ helpUrl }}"
            title="{{ 'CoreHome_ExternalHelp'|translate }}"
@@ -22,6 +23,7 @@
     <div class="inlineHelp" ng-show="view.showIcons && view.showInlineHelp">
         <div ng-bind-html="inlineHelp"></div>
         <a ng-if="helpUrl"
+           rel="noreferrer"
            target="_blank"
            href="{{ helpUrl }}"
            class="readMore">{{ 'General_MoreDetails'|translate }}</a>
diff --git a/plugins/CoreHome/javascripts/dataTable.js b/plugins/CoreHome/javascripts/dataTable.js
index 60b703ecbd..ac59e4ff2b 100644
--- a/plugins/CoreHome/javascripts/dataTable.js
+++ b/plugins/CoreHome/javascripts/dataTable.js
@@ -1708,7 +1708,7 @@ $.extend(DataTable.prototype, UIControl.prototype, {
     },
 
     handleSummaryRow: function (domElem) {
-        var details = _pk_translate('General_LearnMore', [' (<a href="http://piwik.org/faq/how-to/faq_54/" target="_blank">', '</a>)']);
+        var details = _pk_translate('General_LearnMore', [' (<a href="http://piwik.org/faq/how-to/faq_54/" rel="noreferrer"  target="_blank">', '</a>)']);
 
         domElem.find('tr.summaryRow').each(function () {
             var labelSpan = $(this).find('.label .value');
diff --git a/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig b/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig
index e594377e35..a471b38adf 100644
--- a/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig
+++ b/plugins/CoreHome/templates/ReportRenderer/_htmlReportHeader.twig
@@ -4,7 +4,7 @@
 </head>
 <body style="color: rgb({{ reportTextColor }});">
 
-<a id="reportTop" target="_blank" href="{{ currentPath }}"><img title="{{ 'General_GoTo'|translate("Piwik") }}" border="0" alt="Piwik" src='{{ logoHeader }}'/></a>
+<a id="reportTop" rel="noreferrer" target="_blank" href="{{ currentPath }}"><img title="{{ 'General_GoTo'|translate("Piwik") }}" border="0" alt="Piwik" src='{{ logoHeader }}'/></a>
 
 <h1 style="color: rgb({{ reportTitleTextColor }}); font-size: {{ reportTitleTextSize }}pt;">
     {{ reportTitle }}
diff --git a/plugins/CoreHome/templates/_dataTableCell.twig b/plugins/CoreHome/templates/_dataTableCell.twig
index 0b040fe86b..1dd22bf024 100644
--- a/plugins/CoreHome/templates/_dataTableCell.twig
+++ b/plugins/CoreHome/templates/_dataTableCell.twig
@@ -2,7 +2,7 @@
 {% set tooltipIndex = column ~ '_tooltip' %}
 {% if row.getMetadata(tooltipIndex) %}<span class="cell-tooltip" data-tooltip="{{ row.getMetadata(tooltipIndex) }}">{% endif %}
 {% if not row.getIdSubDataTable() and column=='label' and row.getMetadata('url') %}
-    <a target="_blank" href='{% if row.getMetadata('url')|slice(0,4) not in ['http','ftp:'] %}http://{% endif %}{{ row.getMetadata('url')|rawSafeDecoded }}'>
+    <a rel="noreferrer" target="_blank" href='{% if row.getMetadata('url')|slice(0,4) not in ['http','ftp:'] %}http://{% endif %}{{ row.getMetadata('url')|rawSafeDecoded }}'>
     {% if not row.getMetadata('logo') %}
         <img class="link" width="10" height="9" src="plugins/Morpheus/images/link.gif"/>
     {% endif %}
diff --git a/plugins/CoreHome/templates/_donate.twig b/plugins/CoreHome/templates/_donate.twig
index 1fff9d4015..d7dbde58c2 100755
--- a/plugins/CoreHome/templates/_donate.twig
+++ b/plugins/CoreHome/templates/_donate.twig
@@ -37,7 +37,7 @@
                 title="{{ 'CoreHome_SubscribeAndBecomePiwikSupporter'|translate }}"/>
 			<a class="donate-spacer">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a>
             <a href="index.php?module=CoreHome&action=redirectToPaypal&idSite=1&cmd=_s-xclick&hosted_button_id=RPL23NJURMTFA&bb2_screener_=1357583494+83.233.186.82"
-                target="_blank" class="donate-one-time">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a>
+               rel="noreferrer"  target="_blank" class="donate-one-time">{{ 'CoreHome_MakeOneTimeDonation'|translate }}</a>
         </div>
 
         <!-- to cache images -->
diff --git a/plugins/CoreHome/templates/_headerMessage.twig b/plugins/CoreHome/templates/_headerMessage.twig
index d25fc17bdc..0d13585f1a 100644
--- a/plugins/CoreHome/templates/_headerMessage.twig
+++ b/plugins/CoreHome/templates/_headerMessage.twig
@@ -31,12 +31,12 @@
             <br/>
         {% endif %}
         {% if latest_version_available and isSuperUser %}
-            {{ 'General_PiwikXIsAvailablePleaseUpdateNow'|translate(latest_version_available,"<br /><a href='index.php?module=CoreUpdater&amp;action=newVersionAvailable'>","</a>","<a href='?module=Proxy&amp;action=redirect&amp;url=http://piwik.org/changelog/' target='_blank'>","</a>")|raw }}
+            {{ 'General_PiwikXIsAvailablePleaseUpdateNow'|translate(latest_version_available,"<br /><a href='index.php?module=CoreUpdater&amp;action=newVersionAvailable'>","</a>","<a href='?module=Proxy&amp;action=redirect&amp;url=http://piwik.org/changelog/' rel='noreferrer' target='_blank'>","</a>")|raw }}
             <br/>
             {{ 'General_YouAreCurrentlyUsing'|translate(piwik_version) }}
         {% elseif latest_version_available and not isPiwikDemo and hasSomeViewAccess and not isUserIsAnonymous %}
             {% set updateSubject = 'General_NewUpdatePiwikX'|translate(latest_version_available)|e('url') %}
-            {{ 'General_PiwikXIsAvailablePleaseNotifyPiwikAdmin'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/' target='_blank'>Piwik</a> <a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' target='_blank'>" ~ latest_version_available ~ "</a>", "<a href='mailto:" ~ superUserEmails ~ "?subject=" ~ updateSubject ~ "'>", "</a>")|raw }}
+            {{ 'General_PiwikXIsAvailablePleaseNotifyPiwikAdmin'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/' rel='noreferrer' target='_blank'>Piwik</a> <a href='?module=Proxy&action=redirect&url=http://piwik.org/changelog/' rel='noreferrer' target='_blank'>" ~ latest_version_available ~ "</a>", "<a href='mailto:" ~ superUserEmails ~ "?subject=" ~ updateSubject ~ "'>", "</a>")|raw }}
         {% elseif isSuperUser and adminMenu is defined and adminMenu %}
             {{ updateCheck|raw }}
             <br />
diff --git a/plugins/CoreHome/templates/_warningInvalidHost.twig b/plugins/CoreHome/templates/_warningInvalidHost.twig
index d3a2661a86..71d2716893 100644
--- a/plugins/CoreHome/templates/_warningInvalidHost.twig
+++ b/plugins/CoreHome/templates/_warningInvalidHost.twig
@@ -1,14 +1,14 @@
 {# untrusted host warning #}
 {% if (isValidHost is defined and invalidHostMessage is defined and isValidHost == false) %}
     {% set invalidHostText %}
-        <a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" target="_blank"><img src="plugins/Morpheus/images/help.png"/></a>
+        <a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" rel="noreferrer" target="_blank"><img src="plugins/Morpheus/images/help.png"/></a>
         <strong>{{ 'General_Warning'|translate }}:&nbsp;</strong>{{ invalidHostMessage|raw }}
 
         <br>
         <br>
 
         <small>{{ invalidHostMessageHowToFix|raw }}
-        <br/><br/><a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" target="_blank">{{ 'General_Help'|translate }}
+        <br/><br/><a style="float:right;" href="http://piwik.org/faq/troubleshooting/#faq_171" rel="noreferrer" target="_blank">{{ 'General_Help'|translate }}
         <img style="vertical-align: bottom;" src="plugins/Morpheus/images/help.png"/></a><br/>
         </small>
     {% endset %}
diff --git a/plugins/CoreHome/templates/getPromoVideo.twig b/plugins/CoreHome/templates/getPromoVideo.twig
index 36d94381a9..0a0bd0fb63 100755
--- a/plugins/CoreHome/templates/getPromoVideo.twig
+++ b/plugins/CoreHome/templates/getPromoVideo.twig
@@ -8,7 +8,7 @@
         </div>
     </div>
 
-    <a id="piwik-promo-videos-link" href="http://piwik.org/blog/2012/12/piwik-how-to-videos/" target="_blank">
+    <a id="piwik-promo-videos-link" href="http://piwik.org/blog/2012/12/piwik-how-to-videos/" rel="noreferrer"  target="_blank">
         {{ 'CoreHome_ViewAllPiwikVideoTutorials'|translate }}
     </a>
 
@@ -16,12 +16,12 @@
         <span>{{ 'CoreHome_ShareThis'|translate }}:</span>
 
         {# facebook #}
-        <a href="http://www.facebook.com/sharer.php?u={{ promoVideoUrl|url_encode }}" target="_blank">
+        <a href="http://www.facebook.com/sharer.php?u={{ promoVideoUrl|url_encode }}" rel="noreferrer"  target="_blank">
             <img src="plugins/Referrers/images/socials/facebook.com.png" />
         </a>
 
         {# twitter #}
-        <a href="http://twitter.com/share?text={{ shareText|url_encode }}&url={{ promoVideoUrl|url_encode }}" target="_blank">
+        <a href="http://twitter.com/share?text={{ shareText|url_encode }}&url={{ promoVideoUrl|url_encode }}" rel="noreferrer"  target="_blank">
             <img src="plugins/Referrers/images/socials/twitter.com.png" />
         </a>
 
diff --git a/plugins/CorePluginsAdmin/templates/browsePlugins.twig b/plugins/CorePluginsAdmin/templates/browsePlugins.twig
index 9259081a0c..2624dd00e9 100644
--- a/plugins/CorePluginsAdmin/templates/browsePlugins.twig
+++ b/plugins/CorePluginsAdmin/templates/browsePlugins.twig
@@ -55,6 +55,6 @@
     {% set marketplaceSellPluginSubject = 'CorePluginsAdmin_MarketplaceSellPluginSubject'|translate %}
         {{ 'CorePluginsAdmin_GetEarlyAccessForPaidPlugins'|translate("<a href='mailto:hello@piwik.org?subject=" ~ marketplaceSellPluginSubject ~ "'>", "</a>")|raw }}
         <br/>
-        {{ 'CorePluginsAdmin_DevelopersLearnHowToDevelopPlugins'|translate('<a href="?module=Proxy&action=redirect&url=http://developer.piwik.org/plugins" target="_blank">', '</a>')|raw }}
+        {{ 'CorePluginsAdmin_DevelopersLearnHowToDevelopPlugins'|translate('<a href="?module=Proxy&action=redirect&url=http://developer.piwik.org/plugins" rel="noreferrer"  target="_blank">', '</a>')|raw }}
     </div>
 {% endblock %}
diff --git a/plugins/CorePluginsAdmin/templates/macros.twig b/plugins/CorePluginsAdmin/templates/macros.twig
index 8c057ed06f..f5c9220721 100644
--- a/plugins/CorePluginsAdmin/templates/macros.twig
+++ b/plugins/CorePluginsAdmin/templates/macros.twig
@@ -190,7 +190,7 @@
                         </div>
                         {% if plugin.info.license is defined %}
                         <div class="plugin-license">
-                            {% if plugin.info.license_homepage is defined %}<a title="{{ 'CorePluginsAdmin_LicenseHomepage'|translate }}" target="_blank" href="{{ plugin.info.license_homepage }}">{% endif %}{{ plugin.info.license }}{% if plugin.info.license_homepage is defined %}</a>{% endif %}
+                            {% if plugin.info.license_homepage is defined %}<a title="{{ 'CorePluginsAdmin_LicenseHomepage'|translate }}" rel="noreferrer" target="_blank" href="{{ plugin.info.license_homepage }}">{% endif %}{{ plugin.info.license }}{% if plugin.info.license_homepage is defined %}</a>{% endif %}
                         </div>
                         {% endif %}
                         {% if plugin.info.authors is defined %}
@@ -200,7 +200,7 @@
                             {% spaceless %}
                             {% for author in plugin.info.authors if author.name %}
                                 {% if author.homepage is defined %}
-                                    <a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ author.homepage }}" target="_blank">{{ author.name }}</a>
+                                    <a title="{{ 'CorePluginsAdmin_AuthorHomepage'|translate }}" href="{{ aurel="noreferrer"  target="_blank"" target="_blank">{{ author.name }}</a>
                                 {% else %}
                                     {{ author.name }}
                                 {% endif %}
diff --git a/plugins/CorePluginsAdmin/templates/pluginDetails.twig b/plugins/CorePluginsAdmin/templates/pluginDetails.twig
index 2487ef41d6..077f3755c5 100644
--- a/plugins/CorePluginsAdmin/templates/pluginDetails.twig
+++ b/plugins/CorePluginsAdmin/templates/pluginDetails.twig
@@ -69,7 +69,7 @@
                             {{ pluginsMacro.missingRequirementsPleaseUpdateNotice(plugin) }}
                             {% if plugin.canBeUpdated %}
                                 <p class="updateAvailableNotice">{{ 'CorePluginsAdmin_PluginUpdateAvailable'|translate(plugin.currentVersion, plugin.latestVersion) }}
-                                    {% if plugin.repositoryChangelogUrl %}<a target="_blank" href="{{ plugin.repositoryChangelogUrl }}">{{ 'CorePluginsAdmin_ViewRepositoryChangelog'|translate }}</a>{% endif %}
+                                    {% if plugin.repositoryChangelogUrl %}<a rel="noreferrer"  target="_blank" href="{{ plugin.repositoryChangelogUrl }}">{{ 'CorePluginsAdmin_ViewRepositoryChangelog'|translate }}</a>{% endif %}
                                 </p>
                             {% endif %}
 
diff --git a/plugins/CorePluginsAdmin/templates/safemode.twig b/plugins/CorePluginsAdmin/templates/safemode.twig
index e2608c147e..53de56181b 100644
--- a/plugins/CorePluginsAdmin/templates/safemode.twig
+++ b/plugins/CorePluginsAdmin/templates/safemode.twig
@@ -63,7 +63,7 @@
             <p>
                 If this error continues to happen, you may be able to fix this issue by disabling one or more of
                 the Third-Party plugins. You can enable them again in the
-                <a target="_blank" href="index.php?module=CorePluginsAdmin&action=plugins">Plugins</a> or <a target="_blank" href="index.php?module=CorePluginsAdmin&action=themes">Themes</a> page under
+                <a rel="noreferrer"  target="_blank" href="index.php?module=CorePluginsAdmin&action=plugins">Plugins</a> or <a target="_blank" href="index.php?module=CorePluginsAdmin&action=themes">Themes</a> page under
                 settings at any time.
 
                 {% if pluginCausesIssue %}
diff --git a/plugins/CoreUpdater/templates/oneClickResults.twig b/plugins/CoreUpdater/templates/oneClickResults.twig
index 555e1ef568..7696e724ae 100644
--- a/plugins/CoreUpdater/templates/oneClickResults.twig
+++ b/plugins/CoreUpdater/templates/oneClickResults.twig
@@ -14,7 +14,7 @@
     <br/>
     <div class="warning">
         <img src="plugins/Morpheus/images/warning_medium.png"/>
-        {{ 'CoreUpdater_UpdateHasBeenCancelledExplanation'|translate("<br /><br />","<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/update/'>","</a>")|raw }}
+        {{ 'CoreUpdater_UpdateHasBeenCancelledExplanation'|translate("<br /><br />","<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/update/'>","</a>")|raw }}
     </div>
     <br/>
     <br/>
diff --git a/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig b/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig
index 0a2eaa5efe..8ddf66876d 100644
--- a/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig
+++ b/plugins/CoreUpdater/templates/runUpdaterAndExit_done.twig
@@ -1,6 +1,6 @@
 {% extends '@CoreUpdater/layout.twig' %}
 {% set helpMessage %}
-    {{ 'CoreUpdater_HelpMessageContent'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">','</a>','</li><li>')|raw }}
+    {{ 'CoreUpdater_HelpMessageContent'|translate('<a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">','</a>','</li><li>')|raw }}
 {% endset %}
 
 {% block content %}
@@ -24,7 +24,7 @@
     <ul>
         <li>{{ 'CoreUpdater_ErrorDIYHelp_1'|translate }}</li>
         <li>{{ 'CoreUpdater_ErrorDIYHelp_2'|translate }}</li>
-        <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' target='_blank'>(see FAQ)</a></li>
+        <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' rel='noreferrer' target='_blank'>(see FAQ)</a></li>
         <li>{{ 'CoreUpdater_ErrorDIYHelp_4'|translate }}</li>
         <li>{{ 'CoreUpdater_ErrorDIYHelp_5'|translate }}</li>
     </ul>
diff --git a/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig b/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig
index b6318e5c6a..c468beb3db 100644
--- a/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig
+++ b/plugins/CoreUpdater/templates/runUpdaterAndExit_welcome.twig
@@ -4,7 +4,7 @@
 {% spaceless %}
 <span style="float:right;">{{ postEvent('Template.topBar')|raw }}</span>
 {% set helpMessage %}
-    {{ 'CoreUpdater_HelpMessageContent'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">','</a>','</li><li>')|raw }}
+    {{ 'CoreUpdater_HelpMessageContent'|translate('<a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/faq/">','</a>','</li><li>')|raw }}
 {% endset %}
 
 {% if coreError %}
@@ -49,7 +49,7 @@
         {% endif %}
         <ul>
             <li>{{ 'CoreUpdater_TheUpgradeProcessMayFailExecuteCommand'|translate(commandUpgradePiwik)|raw }}</li>
-            <li>{{ 'CoreUpdater_HighTrafficPiwikServerEnableMaintenance'|translate('<a target="_blank" href="?module=Proxy&action=redirect&url=http%3A%2F%2Fpiwik.org%2Ffaq%2Fhow-to%2F%23faq_111">', '</a>')|raw }}</li>
+            <li>{{ 'CoreUpdater_HighTrafficPiwikServerEnableMaintenance'|translate('<a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http%3A%2F%2Fpiwik.org%2Ffaq%2Fhow-to%2F%23faq_111">', '</a>')|raw }}</li>
             <li>{{ 'CoreUpdater_YouCouldManuallyExecuteSqlQueries'|translate }}<br/>
                 <a href="#titleUpdate" id="showSql" style="margin-left:20px;">› {{ 'CoreUpdater_ClickHereToViewSqlQueries'|translate }}</a>
 
diff --git a/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig b/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig
index 1513daca34..d7f328b923 100644
--- a/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig
+++ b/plugins/CoreVisualizations/templates/_dataTableViz_tagCloud.twig
@@ -5,7 +5,7 @@
     {# we strike tags with 0 hits #}
     {% if value.value == 0 %}valueIsZero{% endif %}">
     {% if labelMetadata[value.word].url is not sameas(false) %}
-        <a href="{{ labelMetadata[value.word].url }}" target="_blank">
+        <a href="{{ labelMetadata[value.word].url }}" rel="noreferrer" target="_blank">
     {% endif %}
     {% if labelMetadata[value.word].logo is not sameas(false) %}
         <img src="{{ labelMetadata[value.word].logo }}" width="{{ value.logoWidth }}" />
diff --git a/plugins/CustomVariables/API.php b/plugins/CustomVariables/API.php
index 1f03f873fe..727ef7d42c 100644
--- a/plugins/CustomVariables/API.php
+++ b/plugins/CustomVariables/API.php
@@ -16,7 +16,7 @@ use Piwik\Piwik;
 use Piwik\Plugins\Actions\Actions\ActionSiteSearch;
 
 /**
- * The Custom Variables API lets you access reports for your <a href='http://piwik.org/docs/custom-variables/' target='_blank'>Custom Variables</a> names and values.
+ * The Custom Variables API lets you access reports for your <a href='http://piwik.org/docs/custom-variables/' rel='noreferrer' target='_blank'>Custom Variables</a> names and values.
  *
  * @method static \Piwik\Plugins\CustomVariables\API getInstance()
  */
diff --git a/plugins/CustomVariables/Reports/GetCustomVariables.php b/plugins/CustomVariables/Reports/GetCustomVariables.php
index 3edc0d276c..2ddedc4e97 100644
--- a/plugins/CustomVariables/Reports/GetCustomVariables.php
+++ b/plugins/CustomVariables/Reports/GetCustomVariables.php
@@ -20,7 +20,7 @@ class GetCustomVariables extends Base
         $this->dimension     = new CustomVariableName();
         $this->name          = Piwik::translate('CustomVariables_CustomVariables');
         $this->documentation = Piwik::translate('CustomVariables_CustomVariablesReportDocumentation',
-                               array('<br />', '<a href="http://piwik.org/docs/custom-variables/" target="_blank">', '</a>'));
+                               array('<br />', '<a href="http://piwik.org/docs/custom-variables/" rel="noreferrer"  target="_blank">', '</a>'));
         $this->actionToLoadSubTables = 'getCustomVariablesValuesFromNameId';
         $this->order = 10;
         $this->widgetTitle  = 'CustomVariables_CustomVariables';
diff --git a/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php b/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php
index 8b88fb20bb..e4f57af4fc 100644
--- a/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php
+++ b/plugins/CustomVariables/Reports/GetCustomVariablesValuesFromNameId.php
@@ -20,7 +20,7 @@ class GetCustomVariablesValuesFromNameId extends Base
         $this->dimension     = new CustomVariableValue();
         $this->name          = Piwik::translate('CustomVariables_CustomVariables');
         $this->documentation = Piwik::translate('CustomVariables_CustomVariablesReportDocumentation',
-            array('<br />', '<a href="http://piwik.org/docs/custom-variables/" target="_blank">', '</a>'));
+            array('<br />', '<a href="http://piwik.org/docs/custom-variables/" rel="noreferrer"  target="_blank">', '</a>'));
         $this->isSubtableReport = true;
         $this->order = 15;
     }
diff --git a/plugins/DBStats/templates/index.twig b/plugins/DBStats/templates/index.twig
index 32a8e78d08..3d0d578f26 100755
--- a/plugins/DBStats/templates/index.twig
+++ b/plugins/DBStats/templates/index.twig
@@ -5,7 +5,7 @@
 <h2 id="databaseUsageSummary">{{ 'DBStats_DatabaseUsage'|translate }}</h2>
 <p>
     {{ 'DBStats_MainDescription'|translate(totalSpaceUsed) }}<br/>
-    {{ 'DBStats_LearnMore'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>Piwik Auto Archiving</a>")|raw }}
+    {{ 'DBStats_LearnMore'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/setup-auto-archiving/' rel='noreferrer' target='_blank'>Piwik Auto Archiving</a>")|raw }}
     <br/>
     <br/>
 </p>
diff --git a/plugins/Dashboard/API.php b/plugins/Dashboard/API.php
index 21003135c5..ec41bb626f 100644
--- a/plugins/Dashboard/API.php
+++ b/plugins/Dashboard/API.php
@@ -11,7 +11,7 @@ use Piwik\Piwik;
 use Piwik\WidgetsList;
 
 /**
- * This API is the <a href='http://piwik.org/docs/analytics-api/reference/' target='_blank'>Dashboard API</a>: it gives information about dashboards.
+ * This API is the <a href='http://piwik.org/docs/analytics-api/reference/' rel='noreferrer' target='_blank'>Dashboard API</a>: it gives information about dashboards.
  *
  * @method static \Piwik\Plugins\Dashboard\API getInstance()
  */
diff --git a/plugins/ExampleAPI/API.php b/plugins/ExampleAPI/API.php
index 63e66fac9b..f0d331c010 100644
--- a/plugins/ExampleAPI/API.php
+++ b/plugins/ExampleAPI/API.php
@@ -16,7 +16,7 @@ use Piwik\Version;
 /**
  * The ExampleAPI is useful to developers building a custom Piwik plugin.
  *
- * Please see the <a href='https://github.com/piwik/piwik/blob/master/plugins/ExampleAPI/API.php' target='_blank'>source code in in the file plugins/ExampleAPI/API.php</a> for more documentation.
+ * Please see the <a href='https://github.com/piwik/piwik/blob/master/plugins/ExampleAPI/API.php' rel='noreferrer' target='_blank'>source code in in the file plugins/ExampleAPI/API.php</a> for more documentation.
  * @method static \Piwik\Plugins\ExampleAPI\API getInstance()
  */
 class API extends \Piwik\Plugin\API
diff --git a/plugins/ExampleRssWidget/RssRenderer.php b/plugins/ExampleRssWidget/RssRenderer.php
index 7990b1acb8..829b6dfa2c 100644
--- a/plugins/ExampleRssWidget/RssRenderer.php
+++ b/plugins/ExampleRssWidget/RssRenderer.php
@@ -62,7 +62,7 @@ class RssRenderer
             $date = @strftime("%B %e, %Y", strtotime($post->pubDate));
             $link = $post->link;
 
-            $output .= '<li><a class="rss-title" title="" target="_blank" href="?module=Proxy&action=redirect&url=' . $link . '">' . $title . '</a>' .
+            $output .= '<li><a class="rss-title" title="" rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=' . $link . '">' . $title . '</a>' .
                 '<span class="rss-date">' . $date . '</span>';
             if ($this->showDescription) {
                 $output .= '<div class="rss-description">' . $post->description . '</div>';
diff --git a/plugins/Feedback/templates/index.twig b/plugins/Feedback/templates/index.twig
index e72ad2a5da..ba194dc9eb 100644
--- a/plugins/Feedback/templates/index.twig
+++ b/plugins/Feedback/templates/index.twig
@@ -12,13 +12,13 @@
 
         <div class="header_full">
             <p>{{ 'General_PiwikIsACollaborativeProjectYouCanContributeAndDonate'|translate(
-            "<a href='?module=Proxy&action=redirect&url=http://piwik.org' target='_blank'>",
+            "<a href='?module=Proxy&action=redirect&url=http://piwik.org' rel='noreferrer' target='_blank'>",
             "</a>",
-            "<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/get-involved/'>",
+            "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/get-involved/'>",
             "</a>",
             "<a href='#donate'>",
             "</a>",
-            "<a href='?module=Proxy&action=redirect&url=http://piwik.org/team/' target='_blank'>",
+            "<a href='?module=Proxy&action=redirect&url=http://piwik.org/team/' rel='noreferrer' target='_blank'>",
             "</a>"
             )|raw }}
             </p>
@@ -28,9 +28,9 @@
         <h2>{{ 'Do you need help?'|translate }}</h2>
 
         <div class="header_full">
-            <p> &bull; {{ 'Feedback_ViewUserGuides'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/'>","</a>")|raw }}.</p>
-            <p> &bull; {{ 'Feedback_ViewAnswersToFAQ'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/faq/'>","</a>")|raw }}.</p>
-            <p> &bull; {{ 'Feedback_VisitTheForums'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://forum.piwik.org/'>","</a>")|raw }}.</p>
+            <p> &bull; {{ 'Feedback_ViewUserGuides'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/'>","</a>")|raw }}.</p>
+            <p> &bull; {{ 'Feedback_ViewAnswersToFAQ'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/faq/'>","</a>")|raw }}.</p>
+            <p> &bull; {{ 'Feedback_VisitTheForums'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://forum.piwik.org/'>","</a>")|raw }}.</p>
             <br/>
         </div>
 
@@ -38,13 +38,13 @@
 
         <div class="header_full">
             <p>{{ 'Feedback_HowToCreateTicket'|translate(
-                "<a target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-bug-report'>",
+                "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-bug-report'>",
                 "</a>",
-                "<a target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-feature-request'>",
+                "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://developer.piwik.org/guides/core-team-workflow%23submitting-a-feature-request'>",
                 "</a>",
-                "<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues'>",
+                "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues'>",
                 "</a>",
-                "<a target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/new'>",
+                "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=https://github.com/piwik/piwik/issues/new'>",
                 "</a>"
                 )|raw }}</p>
             <br/>
@@ -54,7 +54,7 @@
 
         <div class="header_full">
             <p>{{ 'Feedback_GetInTouch'|translate }}
-                <a target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/contact/"
+                <a rel='noreferrer' target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/contact/"
                     >{{ 'Feedback_ContactThePiwikTeam'|translate }}</a>
             </p>
             <br/>
@@ -68,35 +68,35 @@
             <hr/>
             <ul class="social">
                 <li>
-                    <a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/"><img class="icon" src="plugins/Feedback/images/newsletter.png"></a>
-                    <a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/">Newsletter</a>
+                    <a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/"><img class="icon" src="plugins/Feedback/images/newsletter.png"></a>
+                    <a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/newsletter/">Newsletter</a>
                 </li>
                 <li>
-                    <a target="_blank" href="http://www.facebook.com/Piwik"><img class="icon" src="plugins/Feedback/images/facebook.png"></a>
-                    <a target="_blank" href="http://www.facebook.com/Piwik">Facebook</a>
+                    <a rel="noreferrer"  target="_blank" href="http://www.facebook.com/Piwik"><img class="icon" src="plugins/Feedback/images/facebook.png"></a>
+                    <a rel="noreferrer"  target="_blank" href="http://www.facebook.com/Piwik">Facebook</a>
                 </li>
                 <li>
-                    <a target="_blank" href="http://twitter.com/piwik"><img class="icon" src="plugins/Feedback/images/twitter.png"></a>
-                    <a target="_blank" href="http://twitter.com/piwik">Twitter</a>
+                    <a rel="noreferrer"  target="_blank" href="http://twitter.com/piwik"><img class="icon" src="plugins/Feedback/images/twitter.png"></a>
+                    <a rel="noreferrer"  target="_blank" href="http://twitter.com/piwik">Twitter</a>
                 </li>
                 <li>
-                    <a target="_blank" href="http://www.linkedin.com/groups?gid=867857"><img class="icon" src="plugins/Feedback/images/linkedin.png"></a>
-                    <a target="_blank" href="http://www.linkedin.com/groups?gid=867857">Linkedin</a>
+                    <a rel="noreferrer"  target="_blank" href="http://www.linkedin.com/groups?gid=867857"><img class="icon" src="plugins/Feedback/images/linkedin.png"></a>
+                    <a rel="noreferrer"  target="_blank" href="http://www.linkedin.com/groups?gid=867857">Linkedin</a>
                 </li>
                 <li>
-                    <a target="_blank" href="https://github.com/piwik/piwik"><img class="icon" src="plugins/Feedback/images/github.png"></a>
-                    <a target="_blank" href="https://github.com/piwik/piwik">GitHub</a>
+                    <a rel="noreferrer"  target="_blank" href="https://github.com/piwik/piwik"><img class="icon" src="plugins/Feedback/images/github.png"></a>
+                    <a rel="noreferrer"  target="_blank" href="https://github.com/piwik/piwik">GitHub</a>
                 </li>
             </ul>
             <ul class="menu">
-                <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/blog/">Blog</a></li>
-                <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/about/sponsors/">Sponsors</a></li>
-                <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://developer.piwik.org">Developers</a></li>
-                <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://plugins.piwik.org">Marketplace</a></li>
-                <li><a target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/thank-you-all/">Credits</a></li>
+                <li><a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/blog/">Blog</a></li>
+                <li><a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/about/sponsors/">Sponsors</a></li>
+                <li><a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://developer.piwik.org">Developers</a></li>
+                <li><a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://plugins.piwik.org">Marketplace</a></li>
+                <li><a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://piwik.org/thank-you-all/">Credits</a></li>
             </ul>
             <p class="claim"><small>{{ 'Feedback_PrivacyClaim'|translate(
-                    "<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/privacy/'>",
+                    "<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/privacy/'>",
                     "</a>"
                 )|raw}}</small></p>
         </div>
diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php
index 735b647866..076269ff6f 100644
--- a/plugins/Goals/API.php
+++ b/plugins/Goals/API.php
@@ -35,7 +35,7 @@ use Piwik\Tracker\GoalManager;
  * If you wish to request specific metrics about Ecommerce goals, you can set the parameter &idGoal=ecommerceAbandonedCart to get metrics about abandoned carts (including Lost revenue, and number of items left in the cart)
  * or &idGoal=ecommerceOrder to get metrics about Ecommerce orders (number of orders, visits with an order, subtotal, tax, shipping, discount, revenue, items ordered)
  *
- * See also the documentation about <a href='http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>Tracking Goals</a> in Piwik.
+ * See also the documentation about <a href='http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>Tracking Goals</a> in Piwik.
  *
  * @method static \Piwik\Plugins\Goals\API getInstance()
  */
diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php
index 381c37f7ee..a5659183ba 100644
--- a/plugins/Goals/Goals.php
+++ b/plugins/Goals/Goals.php
@@ -24,7 +24,7 @@ class Goals extends \Piwik\Plugin
     public function getInformation()
     {
         $suffix = Piwik::translate('SitesManager_PiwikOffersEcommerceAnalytics',
-            array('<a href="http://piwik.org/docs/ecommerce-analytics/" target="_blank">', '</a>'));
+            array('<a href="http://piwik.org/docs/ecommerce-analytics/" rel="noreferrer"  target="_blank">', '</a>'));
         $info = parent::getInformation();
         $info['description'] .= ' ' . $suffix;
         return $info;
diff --git a/plugins/Goals/Visualizations/Goals.php b/plugins/Goals/Visualizations/Goals.php
index 9808621b14..c373e5bac7 100644
--- a/plugins/Goals/Visualizations/Goals.php
+++ b/plugins/Goals/Visualizations/Goals.php
@@ -57,7 +57,7 @@ class Goals extends HtmlTable
         if (1 == Common::getRequestVar('documentationForGoalsPage', 0, 'int')) {
             // TODO: should not use query parameter
             $this->config->documentation = Piwik::translate('Goals_ConversionByTypeReportDocumentation',
-                array('<br />', '<br />', '<a href="http://piwik.org/docs/tracking-goals-web-analytics/" target="_blank">', '</a>'));
+                array('<br />', '<br />', '<a href="http://piwik.org/docs/tracking-goals-web-analytics/" rel="noreferrer"  target="_blank">', '</a>'));
         }
 
         parent::beforeRender();
diff --git a/plugins/Goals/templates/_addEditGoal.twig b/plugins/Goals/templates/_addEditGoal.twig
index f9449d8ce9..f7373b6b8e 100644
--- a/plugins/Goals/templates/_addEditGoal.twig
+++ b/plugins/Goals/templates/_addEditGoal.twig
@@ -4,7 +4,7 @@
     <p>{{ 'Goals_NewGoalDescription'|translate }}
         {{ 'Goals_NewWhatDoYouWantUsersToDo'|translate }}
         {{ 'Goals_NewGoalYouWillBeAbleTo'|translate }}</p>
-    <p>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }}
+    <p>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>","</a>")|raw }}
     </p>
 {% else %}
     <div class="clear"></div>
@@ -13,7 +13,7 @@
         <ul class='listCircle'>
             <li><a onclick='' name='linkAddNewGoal'>{{ 'Goals_CreateNewGOal'|translate }}</a></li>
             <li><a onclick='' name='linkEditGoals'>{{ 'Goals_ViewAndEditGoals'|translate }}</a></li>
-            <li>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }}</li>
+            <li>{{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>","</a>")|raw }}</li>
 
             <li>
                 {% if not ecommerceEnabled %}
@@ -21,11 +21,11 @@
                         <a href='{{ linkTo({'module':'SitesManager','action':'index' }) }}'>{{ 'SitesManager_WebsitesManagement'|translate }}</a>
                     {% endset %}
                     {% set ecommerceReportText %}
-                        <a href="http://piwik.org/docs/ecommerce-analytics/" target="_blank">{{ 'Goals_EcommerceReports'|translate }}</a>
+                        <a href="http://piwik.org/docs/ecommerce-analytics/" rel="noreferrer" target="_blank">{{ 'Goals_EcommerceReports'|translate }}</a>
                     {% endset %}
                     {{ 'Goals_Optional'|translate }} {{ 'Goals_Ecommerce'|translate }}: {{ 'Goals_YouCanEnableEcommerceReports'|translate(ecommerceReportText,websiteManageText)|raw }}
                 {% else %}
-                    {{ 'SitesManager_PiwikOffersEcommerceAnalytics'|translate('<a href="http://piwik.org/docs/ecommerce-analytics/" target="_blank">',"</a>")|raw }}
+                    {{ 'SitesManager_PiwikOffersEcommerceAnalytics'|translate('<a href="http://piwik.org/docs/ecommerce-analytics/" rel="noreferrer" target="_blank">',"</a>")|raw }}
                 {% endif %}
             </li>
         </ul>
diff --git a/plugins/Goals/templates/_formAddGoal.twig b/plugins/Goals/templates/_formAddGoal.twig
index 7bff75f8cb..e2da3c1ffb 100644
--- a/plugins/Goals/templates/_formAddGoal.twig
+++ b/plugins/Goals/templates/_formAddGoal.twig
@@ -67,7 +67,7 @@
             <tbody id="manual_trigger_section" style="display:none;">
             <tr>
                 <td colspan="2" class="first">
-                    {{ 'Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore'|translate("<a target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/javascript-tracking/%23toc-manually-trigger-a-conversion-for-a-goal'>","</a>")|raw }}
+                    {{ 'Goals_WhereVisitedPageManuallyCallsJavascriptTrackerLearnMore'|translate("<a rel='noreferrer' target='_blank' href='?module=Proxy&action=redirect&url=http://piwik.org/docs/javascript-tracking/%23toc-manually-trigger-a-conversion-for-a-goal'>","</a>")|raw }}
                 </td>
             </tr>
             </tbody>
diff --git a/plugins/Goals/templates/addNewGoal.twig b/plugins/Goals/templates/addNewGoal.twig
index e4cbaea787..6d227bc11c 100644
--- a/plugins/Goals/templates/addNewGoal.twig
+++ b/plugins/Goals/templates/addNewGoal.twig
@@ -6,6 +6,6 @@
         {{ 'Goals_NoGoalsNeedAccess'|translate|raw }}
     </p>
     <p>
-        {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' target='_blank'>","</a>")|raw }}
+        {{ 'Goals_LearnMoreAboutGoalTrackingDocumentation'|translate("<a href='?module=Proxy&action=redirect&url=http://piwik.org/docs/tracking-goals-web-analytics/' rel='noreferrer' target='_blank'>","</a>")|raw }}
     </p>
 {% endif %}
diff --git a/plugins/Installation/FormSuperUser.php b/plugins/Installation/FormSuperUser.php
index aef40d6a40..87adc47259 100644
--- a/plugins/Installation/FormSuperUser.php
+++ b/plugins/Installation/FormSuperUser.php
@@ -61,7 +61,7 @@ class FormSuperUser extends QuickForm2
         $this->addElement('checkbox', 'subscribe_newsletter_piwikpro', null,
             array(
                 'content' => '&nbsp;&nbsp;' . Piwik::translate('Installation_PiwikProNewsletter',
-                        array("<a href='http://piwik.pro' style='color:#444;' target='_blank'>", "</a>")
+                        array("<a href='http://piwik.pro' style='color:#444;' rel='noreferrer' target='_blank'>", "</a>")
                     ),
             ));
 
diff --git a/plugins/Installation/templates/_systemCheckSection.twig b/plugins/Installation/templates/_systemCheckSection.twig
index f9a4b6d474..871b06d981 100755
--- a/plugins/Installation/templates/_systemCheckSection.twig
+++ b/plugins/Installation/templates/_systemCheckSection.twig
@@ -209,7 +209,7 @@
                 {{ warning }}
                 <span class="warn">{{ 'SitesManager_AdvancedTimezoneSupportNotFound'|translate }} </span>
                 <br/>
-                <a href="http://php.net/manual/en/datetime.installation.php" target="_blank">Timezone PHP documentation</a>
+                <a href="http://php.net/manual/en/datetime.installation.php" rel="noreferrer" target="_blank">Timezone PHP documentation</a>
                 .
             {% endif %}
         </td>
@@ -311,12 +311,12 @@
             {% elseif infos.extra.geolocation_using_non_recommended %}
                 {{ warning }}
                 <span class="warn">{{ 'UserCountry_GeoIpLocationProviderNotRecomnended'|translate }}
-                    {{ 'UserCountry_GeoIpLocationProviderDesc_ServerBased2'|translate('<a href="http://piwik.org/docs/geo-locate/" target="_blank">', '', '', '</a>')|raw }}</span>
+                    {{ 'UserCountry_GeoIpLocationProviderDesc_ServerBased2'|translate('<a href="http://piwik.org/docs/geo-locate/" rel="noreferrer" target="_blank">', '', '', '</a>')|raw }}</span>
                 <br/>
             {% else %}
                 {{ warning }}
                 <span class="warn">{{ 'UserCountry_DefaultLocationProviderDesc1'|translate }}
-                    {{ 'UserCountry_DefaultLocationProviderDesc2'|translate('<a href="http://piwik.org/docs/geo-locate/" target="_blank">', '', '', '</a>')|raw }} </span>
+                    {{ 'UserCountry_DefaultLocationProviderDesc2'|translate('<a href="http://piwik.org/docs/geo-locate/" rel="noreferrer" target="_blank">', '', '', '</a>')|raw }} </span>
                 </span>
             {% endif %}
         </td>
@@ -340,7 +340,7 @@
                         <em><strong>{{ 'General_Error'|translate }}:</strong></em>
                         {{ infos.extra.load_data_infile_error|raw }}
                     {% endif %}
-                    <p>Troubleshooting: <a target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/faq/troubleshooting/%23faq_194">FAQ on piwik.org</a></p>
+                    <p>Troubleshooting: <a rel='noreferrer' target='_blank' href="?module=Proxy&action=redirect&url=http://piwik.org/faq/troubleshooting/%23faq_194">FAQ on piwik.org</a></p>
                 {% endif %}
             </td>
         </tr>
diff --git a/plugins/Installation/templates/finished.twig b/plugins/Installation/templates/finished.twig
index 468fe0600b..6e428916fb 100644
--- a/plugins/Installation/templates/finished.twig
+++ b/plugins/Installation/templates/finished.twig
@@ -11,8 +11,8 @@
     {{ 'Installation_CollaborativeProject'|translate }}
 </p>
 <p>
-    {{ 'Installation_GetInvolved'|translate('<a  target="_blank" href="http://piwik.org/get-involved/">','</a>')|raw }}
-    {{ 'General_HelpTranslatePiwik'|translate("<a target='_blank' href=\'http://piwik.org/translations/\'>","<\/a>")|raw }}
+    {{ 'Installation_GetInvolved'|translate('<a  rel="noreferrer"  target="_blank" href="http://piwik.org/get-involved/">','</a>')|raw }}
+    {{ 'General_HelpTranslatePiwik'|translate("<a rel='noreferrer' target='_blank' href=\'http://piwik.org/translations/\'>","<\/a>")|raw }}
 </p>
 <p>{{ 'Installation_WeHopeYouWillEnjoyPiwik'|translate }}</p>
 <p><i>{{ 'Installation_HappyAnalysing'|translate }}</i></p>
diff --git a/plugins/Installation/templates/reuseTables.twig b/plugins/Installation/templates/reuseTables.twig
index 909c6d5c95..12eb53bca6 100644
--- a/plugins/Installation/templates/reuseTables.twig
+++ b/plugins/Installation/templates/reuseTables.twig
@@ -26,7 +26,7 @@
     <ul>
         <li>{{ 'CoreUpdater_ErrorDIYHelp_1'|translate }}</li>
         <li>{{ 'CoreUpdater_ErrorDIYHelp_2'|translate }}</li>
-        <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' target='_blank'>(see FAQ)</a></li>
+        <li>{{ 'CoreUpdater_ErrorDIYHelp_3'|translate }} <a href='https://piwik.org/faq/how-to-update/#faq_179' rel='noreferrer' target='_blank'>(see FAQ)</a></li>
         <li>{{ 'CoreUpdater_ErrorDIYHelp_4'|translate }}</li>
         <li>{{ 'CoreUpdater_ErrorDIYHelp_5'|translate }}</li>
     </ul>
diff --git a/plugins/Installation/templates/systemCheck.twig b/plugins/Installation/templates/systemCheck.twig
index f142e4edef..a8bb2c2e99 100644
--- a/plugins/Installation/templates/systemCheck.twig
+++ b/plugins/Installation/templates/systemCheck.twig
@@ -24,7 +24,7 @@
     <br/>
     <p>
         <img src='plugins/Morpheus/images/link.gif'/> &nbsp;
-        <a href="?module=Proxy&action=redirect&url=http://piwik.org/docs/requirements/" target="_blank">{{ 'Installation_Requirements'|translate }}</a>
+        <a href="?module=Proxy&action=redirect&url=http://piwik.org/docs/requirements/" rel="noreferrer"  target="_blank">{{ 'Installation_Requirements'|translate }}</a>
     </p>
     {% include "@Installation/_systemCheckLegend.twig" %}
 {% endif %}
diff --git a/plugins/Installation/templates/trackingCode.twig b/plugins/Installation/templates/trackingCode.twig
index 3ca7992cfa..f58e4efaff 100644
--- a/plugins/Installation/templates/trackingCode.twig
+++ b/plugins/Installation/templates/trackingCode.twig
@@ -11,7 +11,7 @@
 {{ trackingHelp|raw }}
 <br/><br/>
 <h2>{{ 'Installation_LargePiwikInstances'|translate }}</h2>
-{{ 'Installation_JsTagArchivingHelp1'|translate('<a target="_blank" href="http://piwik.org/docs/setup-auto-archiving/">','</a>')|raw }}
-{{ 'General_ReadThisToLearnMore'|translate('<a target="_blank" href="http://piwik.org/docs/optimize/">','</a>')|raw }}
+{{ 'Installation_JsTagArchivingHelp1'|translate('<a rel="noreferrer"  target="_blank" href="http://piwik.org/docs/setup-auto-archiving/">','</a>')|raw }}
+{{ 'General_ReadThisToLearnM rel="noreferrer"  target="_blank"<a target="_blank" href="http://piwik.org/docs/optimize/">','</a>')|raw }}
 
 {% endblock %}
\ No newline at end of file
diff --git a/plugins/LanguagesManager/API.php b/plugins/LanguagesManager/API.php
index eaa5263ff6..2c8d74978a 100644
--- a/plugins/LanguagesManager/API.php
+++ b/plugins/LanguagesManager/API.php
@@ -19,7 +19,7 @@ use Piwik\Plugin\Manager as PluginManager;
  * The LanguagesManager API lets you access existing Piwik translations, and change Users languages preferences.
  *
  * "getTranslationsForLanguage" will return all translation strings for a given language,
- * so you can leverage Piwik translations in your application (and automatically benefit from the <a href='http://piwik.org/translations/' target='_blank'>40+ translations</a>!).
+ * so you can leverage Piwik translations in your application (and automatically benefit from the <a href='http://piwik.org/translations/' rel='noreferrer' target='_blank'>40+ translations</a>!).
  * This is mostly useful to developers who integrate Piwik API results in their own application.
  *
  * You can also request the default language to load for a user via "getLanguageForUser",
diff --git a/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html b/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html
index 55ee2281fe..c21cffd24a 100644
--- a/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html
+++ b/plugins/LanguagesManager/angularjs/translationsearch/translationsearch.directive.html
@@ -2,7 +2,7 @@
 
     <p class="adminTable">
         This page helps you to find existing translations that you can reuse in your Plugin.
-        If you want to know more about translations have a look at our <a href="http://developer.piwik.org/guides/internationalization" target="_blank">Internationalization guide</a>.
+        If you want to know more about translations have a look at our <a href="http://developer.piwik.org/guides/internationalization" rel="noreferrer"  target="_blank">Internationalization guide</a>.
         Enter a search term to find translations and their corresponding keys:
     </p>
 
diff --git a/plugins/Live/API.php b/plugins/Live/API.php
index d15cca9e36..402150924a 100644
--- a/plugins/Live/API.php
+++ b/plugins/Live/API.php
@@ -44,12 +44,12 @@ require_once PIWIK_INCLUDE_PATH . '/plugins/UserCountry/functions.php';
  * browser, type of screen, resolution, supported browser plugins (flash, java, silverlight, pdf, etc.), various dates & times format to make
  * it easier for API users... and more!
  *
- * With the parameter <a href='http://piwik.org/docs/analytics-api/segmentation/' target='_blank'>'&segment='</a> you can filter the
+ * With the parameter <a href='http://piwik.org/docs/analytics-api/segmentation/' rel='noreferrer' target='_blank'>'&segment='</a> you can filter the
  * returned visits by any criteria (visitor IP, visitor ID, country, keyword used, time of day, etc.).
  *
  * The method "getCounters" is used to return a simple counter: visits, number of actions, number of converted visits, in the last N minutes.
  *
- * See also the documentation about <a href='http://piwik.org/docs/real-time/' target='_blank'>Real time widget and visitor level reports</a> in Piwik.
+ * See also the documentation about <a href='http://piwik.org/docs/real-time/' rel='noreferrer' target='_blank'>Real time widget and visitor level reports</a> in Piwik.
  * @method static \Piwik\Plugins\Live\API getInstance()
  */
 class API extends \Piwik\Plugin\API
diff --git a/plugins/Live/templates/_actionsList.twig b/plugins/Live/templates/_actionsList.twig
index 8463d0e461..cc798f4f6e 100644
--- a/plugins/Live/templates/_actionsList.twig
+++ b/plugins/Live/templates/_actionsList.twig
@@ -101,7 +101,7 @@
                         and previousAction.url|default(false) == action.url %}
                         {# For events, do not show (url) if the Event URL is the same as the URL last displayed #}
                     {% else %}
-                        <a href="{{ action.url }}" target="_blank" class="{% if action.eventCategory|default(false) is empty %}action-list-url{# don't put URL on new line for events #}{% endif %} truncated-text-line"
+                        <a href="{{ action.url }}" rel="noreferrer"  target="_blank" rel="noreferrer" class="{% if action.eventCategory|default(false) is empty %}action-list-url{# don't put URL on new line for events #}{% endif %} truncated-text-line"
                            {% if overrideLinkStyle is not defined or overrideLinkStyle %}style="{% if action.type=='action' and action.pageTitle|default(false) is not empty %}margin-left: 9px;{% endif %}text-decoration:underline;"{% endif %}>
                            {% if action.eventCategory|default(false) is not empty %}
                                (url)
diff --git a/plugins/Live/templates/_dataTableViz_visitorLog.twig b/plugins/Live/templates/_dataTableViz_visitorLog.twig
index e91ee9a75a..922ed2057b 100644
--- a/plugins/Live/templates/_dataTableViz_visitorLog.twig
+++ b/plugins/Live/templates/_dataTableViz_visitorLog.twig
@@ -71,7 +71,7 @@
     <div class="referrer">
         {% if visitor.getColumn('referrerType') == 'website' %}
             {{ 'Referrers_ColumnWebsite'|translate }}:
-            <a href="{{ visitor.getColumn('referrerUrl') }}" target="_blank" title="{{ visitor.getColumn('referrerUrl') }}"
+            <a href="{{ visitor.getColumn('referrerUrl') }}" rel="noreferrer" target="_blank" title="{{ visitor.getColumn('referrerUrl') }}"
                style="text-decoration:underline;">
                 {{ visitor.getColumn('referrerName') }}
             </a>
@@ -91,7 +91,7 @@
             <span {% if not showKeyword %}title="{{ keywordNotDefined }}"{% endif %}>{{ visitor.getColumn('referrerName') }}</span>
             {% if showKeyword %}{{ 'Referrers_Keywords'|translate }}:
                 <br/>
-                <a href="{{ visitor.getColumn('referrerUrl') }}" target="_blank" style="text-decoration:underline;">
+                <a href="{{ visitor.getColumn('referrerUrl') }}" rel="noreferrer" target="_blank" style="text-decoration:underline;">
                     "{{ visitor.getColumn('referrerKeyword') }}"</a>
             {% endif %}
             {% set keyword %}{{ visitor.getColumn('referrerKeyword') }}{% endset %}
@@ -134,7 +134,7 @@ GPS (lat/long): {{ visitor.getColumn('latitude') }},{{ visitor.getColumn('longit
                 {% if visitor.getColumn('provider') %}
                     <br/>
                     {{ 'Provider_ColumnProvider'|translate }}:
-                    <a href="{{ visitor.getColumn('providerUrl') }}" target="_blank" title="{{ visitor.getColumn('providerUrl') }}" style="text-decoration:underline;">
+                    <a href="{{ visitor.getColumn('providerUrl') }}" rel="noreferrer" target="_blank" title="{{ visitor.getColumn('providerUrl') }}" style="text-decoration:underline;">
                         {{ visitor.getColumn('providerName') }}
                     </a>
                 {% endif %}
diff --git a/plugins/Live/templates/getLastVisitsStart.twig b/plugins/Live/templates/getLastVisitsStart.twig
index c762688f58..7b9f6a4d9d 100644
--- a/plugins/Live/templates/getLastVisitsStart.twig
+++ b/plugins/Live/templates/getLastVisitsStart.twig
@@ -42,7 +42,7 @@
                 {% if visitor.referrerType is defined and visitor.referrerType != 'direct' %}
                     {{ 'General_FromReferrer'|translate }}
                     {% if visitor.referrerUrl is not empty %}
-                        <a href="{{ visitor.referrerUrl }}" target="_blank">
+                        <a href="{{ visitor.referrerUrl }}" rel="noreferrer"  target="_blank">
                     {% endif %}
                     {% if visitor.searchEngineIcon is defined %}
                         <img src="{{ visitor.searchEngineIcon }}" />
diff --git a/plugins/Live/templates/getVisitorProfilePopup.twig b/plugins/Live/templates/getVisitorProfilePopup.twig
index 9e68dde96b..0a25de6a39 100644
--- a/plugins/Live/templates/getVisitorProfilePopup.twig
+++ b/plugins/Live/templates/getVisitorProfilePopup.twig
@@ -26,7 +26,7 @@
                                 {%- if visitorData.userId is not empty %}: <span title="{{'General_UserId'|translate}}: {{ visitorData.userId|raw }}">{{ visitorData.userId|raw }}</span>{% endif -%}
                                 <img class="loadingPiwik" style="display:none;" src="plugins/Morpheus/images/loading-blue.gif"/>
                             </h1>
-                            <a href="http://piwik.org/docs/user-profile/" class="reportDocumentationIcon" target="_blank" title="{{ 'General_ViewDocumentationFor'|translate("Live_VisitorProfile"|translate|ucwords) }}"></a>
+                            <a href="http://piwik.org/docs/user-profile/" class="reportDocumentationIcon" rel="noreferrer"  target="_blank" title="{{ 'General_ViewDocumentationFor'|translate("Live_VisitorProfile"|translate|ucwords) }}"></a>
                             {% if visitorData.nextVisitorId is not empty %}<a class="visitor-profile-next-visitor" href="#" title="{{ 'Live_NextVisitor'|translate }}">&rarr;</a>{% endif %}
                         </div>
                         <div class="visitor-profile-latest-visit">
diff --git a/plugins/Login/Controller.php b/plugins/Login/Controller.php
index 62c8b40740..ed790ec899 100644
--- a/plugins/Login/Controller.php
+++ b/plugins/Login/Controller.php
@@ -194,7 +194,7 @@ class Controller extends \Piwik\Plugin\Controller
 
     protected function getMessageExceptionNoAccess()
     {
-        $message = Piwik::translate('Login_InvalidNonceOrHeadersOrReferrer', array('<a href="?module=Proxy&action=redirect&url=' . urlencode('http://piwik.org/faq/how-to-install/#faq_98') . '" target="_blank">', '</a>'));
+        $message = Piwik::translate('Login_InvalidNonceOrHeadersOrReferrer', array('<a href="?module=Proxy&action=redirect&url=' . urlencode('http://piwik.org/faq/how-to-install/#faq_98') . '" rel="noreferrer"  target="_blank">', '</a>'));
         // Should mention trusted_hosts or link to FAQ
         return $message;
     }
diff --git a/plugins/Login/templates/login.twig b/plugins/Login/templates/login.twig
index aca53736f6..bc756aebc4 100644
--- a/plugins/Login/templates/login.twig
+++ b/plugins/Login/templates/login.twig
@@ -54,7 +54,7 @@
 
         {% if isCustomLogo %}
             {% set poweredByPiwik %}
-            <i><a href="http://piwik.org/" target="_blank">{{ linkTitle }}</a></i>
+            <i><a href="http://piwik.org/" rel="noreferrer"  target="_blank">{{ linkTitle }}</a></i>
             {% endset %}
         {% endif %}
 
diff --git a/plugins/MobileMessaging/SMSProvider.php b/plugins/MobileMessaging/SMSProvider.php
index c9212971e2..c3794f7d7b 100644
--- a/plugins/MobileMessaging/SMSProvider.php
+++ b/plugins/MobileMessaging/SMSProvider.php
@@ -24,15 +24,15 @@ abstract class SMSProvider extends BaseFactory
     const MAX_UCS2_CHARS_IN_ONE_CONCATENATED_SMS = 67;
 
     public static $availableSMSProviders = array(
-        'Clockwork' => 'You can use <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/platforms/piwik/"><img src="plugins/MobileMessaging/images/Clockwork.png"/></a> to send SMS Reports from Piwik.<br/>
+        'Clockwork' => 'You can use <a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/platforms/piwik/"><img src="plugins/MobileMessaging/images/Clockwork.png"/></a> to send SMS Reports from Piwik.<br/>
 			<ul>
-			<li> First, <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/platforms/piwik/">get an API Key from Clockwork</a> (Signup is free!)
+			<li> First, <a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/platforms/piwik/">get an API Key from Clockwork</a> (Signup is free!)
 			</li><li> Enter your Clockwork API Key on this page. </li>
 			</ul>
 			<br/><em>About Clockwork: </em><ul>
 			<li>Clockwork gives you fast, reliable high quality worldwide SMS delivery, over 450 networks in every corner of the globe.
 			</li><li>Cost per SMS message is around ~0.08USD (0.06EUR).
-			</li><li>Most countries and networks are supported but we suggest you check the latest position on their coverage map <a target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/sms-coverage/">here</a>.
+			</li><li>Most countries and networks are supported but we suggest you check the latest position on their coverage map <a rel="noreferrer"  target="_blank" href="?module=Proxy&action=redirect&url=http://www.clockworksms.com/sms-coverage/">here</a>.
 			</li>
 			</ul>
 			',
diff --git a/plugins/MultiSites/angularjs/site/site.directive.html b/plugins/MultiSites/angularjs/site/site.directive.html
index a976edccbc..dbca619b87 100644
--- a/plugins/MultiSites/angularjs/site/site.directive.html
+++ b/plugins/MultiSites/angularjs/site/site.directive.html
@@ -3,7 +3,7 @@
         <a title="View reports" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}">{{ website.label }}</a>
 
         <span style="width: 10px; margin-left:3px;">
-            <a target="_blank" title="{{ 'General_GoTo'|translate:website.main_url }}" ng-href="{{ website.main_url }}">
+            <a rel="noreferrer"  target="_blank" title="{{ 'General_GoTo'|translate:website.main_url }}" ng-href="{{ website.main_url }}">
             <img src="plugins/Morpheus/images/link.gif"/></a>
         </span>
     </td>
@@ -30,7 +30,7 @@
 
     <td ng-if="showSparklines" style="width:180px;">
         <div ng-if="!website.isGroup" class="sparkline" style="width: 100px; margin: auto;">
-            <a target="_blank" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}"
+            <a rel="noreferrer"  target="_blank" ng-href="index.php?module=CoreHome&action=index&date={{ date }}&period={{ period }}&idSite={{ website.idsite }}"
                title="{{ 'General_GoTo'|translate:('Dashboard_DashboardOf'|translate:website.label) }}">
                 <img alt="" ng-src="{{ sparklineImage(website) }}" width="100" height="25" />
             </a>
diff --git a/plugins/Overlay/templates/index.twig b/plugins/Overlay/templates/index.twig
index 7984e8302b..7c400b9e57 100644
--- a/plugins/Overlay/templates/index.twig
+++ b/plugins/Overlay/templates/index.twig
@@ -8,7 +8,7 @@
 
 {% block content %}
     <div class="overlay-sidebar-container">
-        <a id="Overlay_Title" href="http://piwik.org/docs/page-overlay/" target="_blank">
+        <a id="Overlay_Title" href="http://piwik.org/docs/page-overlay/" rel="noreferrer"  target="_blank">
             {{ 'Overlay_Overlay'|translate }}
             <img src="plugins/Morpheus/images/help.png" alt="Documentation"/>
         </a>
@@ -37,7 +37,7 @@
             </p>
 
             <p>
-                <a href="http://piwik.org/docs/page-overlay/#toc-page-overlay-troubleshooting" target="_blank">
+                <a href="http://piwik.org/docs/page-overlay/#toc-page-overlay-troubleshooting" rel="noreferrer"  target="_blank">
                     {{ 'Overlay_ErrorNotLoadingLink'|translate }}
                 </a>
             </p>
diff --git a/plugins/PrivacyManager/templates/privacySettings.twig b/plugins/PrivacyManager/templates/privacySettings.twig
index 588e0537c3..dc989fbf04 100644
--- a/plugins/PrivacyManager/templates/privacySettings.twig
+++ b/plugins/PrivacyManager/templates/privacySettings.twig
@@ -6,7 +6,7 @@
     <h2 piwik-enriched-headline
         help-url="http://piwik.org/docs/privacy/">{{ 'PrivacyManager_TeaserHeadline'|translate }}</h2>
     <p>{{ 'PrivacyManager_Teaser'|translate('<a href="#anonymizeIPAnchor">',"</a>",'<a href="#deleteLogsAnchor">',"</a>",'<a href="#optOutAnchor">',"</a>")|raw }}
-        {{'PrivacyManager_SeeAlsoOurOfficialGuidePrivacy'|translate('<strong><a href="http://piwik.org/privacy/" target="_blank">','</a></strong>')|raw }}</p>
+        {{'PrivacyManager_SeeAlsoOurOfficialGuidePrivacy'|translate('<strong><a href="http://piwik.org/privacy/" rel="noreferrer"  target="_blank">','</a></strong>')|raw }}</p>
     <h2 id="anonymizeIPAnchor">{{ 'PrivacyManager_UseAnonymizeIp'|translate }}</h2>
     <form method="post" action="{{ {'action':'saveSettings', 'form':'formMaskLength', 'token_auth':token_auth} | urlRewriteWithParameters }}" id="formMaskLength">
         <div id='anonymizeIpSettings'>
@@ -118,7 +118,7 @@
 				<span id="privacyManagerDeleteLogDescription" style="margin-top: 10px;display:inline-block;">
                     {% set deleteLogDescription %}
                         {{ 'PrivacyManager_DeleteLogDescription2'|translate|raw }}
-                        <a href="http://piwik.org/faq/general/#faq_125" target="_blank">
+                        <a href="http://piwik.org/faq/general/#faq_125" rel="noreferrer"  target="_blank">
                             {{ 'General_ClickHere'|translate }}
                         </a>
                     {% endset %}
@@ -307,7 +307,7 @@
     {% set iframeOptOut %}<iframe style="border: 0; height: 200px; width: 600px;" src="{{ optOutUrl }}"></iframe>{% endset %}
     <code>{{ iframeOptOut|e('html') }}</code>
     <br/>
-    {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' target='_blank'>","</a>")|raw }}
+    {{ 'CoreAdminHome_OptOutExplanationBis'|translate("<a href='" ~ optOutUrl ~ "' rel='noreferrer' target='_blank'>","</a>")|raw }}
 </p>
 
 <div style="height:100px;"></div>
diff --git a/plugins/Provider/Reports/GetProvider.php b/plugins/Provider/Reports/GetProvider.php
index 739124088c..e7cfcfa753 100644
--- a/plugins/Provider/Reports/GetProvider.php
+++ b/plugins/Provider/Reports/GetProvider.php
@@ -35,7 +35,7 @@ class GetProvider extends Report
         if (! Common::getRequestVar('disableLink', 0, 'int')) {
             $message .= ' ' . Piwik::translate(
                     'General_SeeThisFaq',
-                    array('<a href="http://piwik.org/faq/general/faq_52/" target="_blank">', '</a>')
+                    array('<a href="http://piwik.org/faq/general/faq_52/" rel="noreferrer"  target="_blank">', '</a>')
                 );
         }
         $view->config->show_footer_message = $message;
diff --git a/plugins/Referrers/API.php b/plugins/Referrers/API.php
index 01854ac9f1..5172729e86 100644
--- a/plugins/Referrers/API.php
+++ b/plugins/Referrers/API.php
@@ -21,11 +21,11 @@ use Piwik\Piwik;
 /**
  * The Referrers API lets you access reports about Websites, Search engines, Keywords, Campaigns used to access your website.
  *
- * For example, "getKeywords" returns all search engine keywords (with <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' target='_blank'>general analytics metrics</a> for each keyword), "getWebsites" returns referrer websites (along with the full Referrer URL if the parameter &expanded=1 is set).
+ * For example, "getKeywords" returns all search engine keywords (with <a href='http://piwik.org/docs/analytics-api/reference/#toc-metric-definitions' rel='noreferrer' target='_blank'>general analytics metrics</a> for each keyword), "getWebsites" returns referrer websites (along with the full Referrer URL if the parameter &expanded=1 is set).
  * "getReferrerType" returns the Referrer overview report. "getCampaigns" returns the list of all campaigns (and all campaign keywords if the parameter &expanded=1 is set).
  *
  * The methods "getKeywordsForPageUrl" and "getKeywordsForPageTitle" are used to output the top keywords used to find a page.
- * Check out the widget <a href='http://demo.piwik.org/index.php?module=Widgetize&action=iframe&moduleToWidgetize=Referrers&actionToWidgetize=getKeywordsForPage&idSite=7&period=day&date=2011-02-15&disableLink=1' target='_blank'>"Top keywords used to find this page"</a> that you can easily re-use on your website.
+ * Check out the widget <a href='http://demo.piwik.org/index.php?module=Widgetize&action=iframe&moduleToWidgetize=Referrers&actionToWidgetize=getKeywordsForPage&idSite=7&period=day&date=2011-02-15&disableLink=1' rel='noreferrer' target='_blank'>"Top keywords used to find this page"</a> that you can easily re-use on your website.
  * @method static \Piwik\Plugins\Referrers\API getInstance()
  */
 class API extends \Piwik\Plugin\API
diff --git a/plugins/Referrers/Controller.php b/plugins/Referrers/Controller.php
index f01c61f647..71960c379b 100644
--- a/plugins/Referrers/Controller.php
+++ b/plugins/Referrers/Controller.php
@@ -354,8 +354,8 @@ function DisplayTopKeywords($url = "")
         echo "<p>This widget is designed to work in your website directly.
 		This widget makes it easy to use Piwik to <i>automatically display the list of Top Keywords</i>, for each of your website Page URLs.</p>
 		<p>
-		<b>Example API URL</b> - For example if you would like to get the top 10 keywords, used last week, to land on the page <a target='_blank' href='$topPageUrl'>$topPageUrl</a>,
-		in format JSON: you would dynamically fetch the data using <a target='_blank' href='$jsonRequest&url=" . urlencode($topPageUrl) . "'>this API request URL</a>. Make sure you encode the 'url' parameter in the URL.</p>
+		<b>Example API URL</b> - For example if you would like to get the top 10 keywords, used last week, to land on the page <a rel='noreferrer' target='_blank' href='$topPageUrl'>$topPageUrl</a>,
+		in format JSON: you would dynamically fetch the data using <a rel='noreferrer' target='_blank' href='$jsonRequest&url=" . urlencode($topPageUrl) . "'>this API request URL</a>. Make sure you encode the 'url' parameter in the URL.</p>
 
 		<p><b>PHP Function ready to use!</b> - If you use PHP on your website, we have prepared a small code snippet that you can copy paste in your Website PHP files. You can then simply call the function <code>DisplayTopKeywords();</code> anywhere in your template, at the bottom of the content or in your blog sidebar.
 		If you run this code in your page $topPageUrl, it would output the following:";
diff --git a/plugins/Referrers/Reports/GetCampaigns.php b/plugins/Referrers/Reports/GetCampaigns.php
index fbc0835a3b..a09affa70c 100644
--- a/plugins/Referrers/Reports/GetCampaigns.php
+++ b/plugins/Referrers/Reports/GetCampaigns.php
@@ -20,7 +20,7 @@ class GetCampaigns extends Base
         $this->dimension     = new Campaign();
         $this->name          = Piwik::translate('Referrers_Campaigns');
         $this->documentation = Piwik::translate('Referrers_CampaignsReportDocumentation',
-                               array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" target="_blank">', '</a>'));
+                               array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" rel="noreferrer"  target="_blank">', '</a>'));
         $this->actionToLoadSubTables = 'getKeywordsFromCampaignId';
         $this->hasGoalMetrics = true;
         $this->order = 9;
diff --git a/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php b/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php
index 6230faec9f..0a12e87fde 100644
--- a/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php
+++ b/plugins/Referrers/Reports/GetKeywordsFromCampaignId.php
@@ -20,7 +20,7 @@ class GetKeywordsFromCampaignId extends Base
         $this->dimension     = new Keyword();
         $this->name          = Piwik::translate('Referrers_Campaigns');
         $this->documentation = Piwik::translate('Referrers_CampaignsReportDocumentation',
-                               array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" target="_blank">', '</a>'));
+                               array('<br />', '<a href="http://piwik.org/docs/tracking-campaigns/" rel="noreferrer"  target="_blank">', '</a>'));
         $this->isSubtableReport = true;
         $this->order = 10;
     }
diff --git a/plugins/SEO/templates/getRank.twig b/plugins/SEO/templates/getRank.twig
index 08839997b3..491e36ea57 100644
--- a/plugins/SEO/templates/getRank.twig
+++ b/plugins/SEO/templates/getRank.twig
@@ -18,14 +18,14 @@
                 {{ 'General_Error'|translate }}
             {% else %}
                 {% set cleanUrl %}
-                    <a href="http://{{ urlToRank }}" target="_blank">{{ urlToRank }}</a>
+                    <a href="http://{{ urlToRank }}" rel="noreferrer"  target="_blank">{{ urlToRank }}</a>
                 {% endset %}
                 {{ 'SEO_SEORankingsFor'|translate(cleanUrl)|raw }}
                 <table cellspacing="2" style="margin:auto;line-height:1.5em;padding-top:10px;">
                     {% for rank in ranks %}
                         <tr>
 {% set seoLink %}{% if rank.logo_link is defined %}<a class="linkContent" href="?module=Proxy&action=redirect&url={{ rank.logo_link|url_encode }}"
-                                                    target="_blank"
+                                                    rel="noreferrer"  target="_blank"
                          {% if rank.logo_tooltip is not empty %}title="{{ rank.logo_tooltip }}"{% endif %}>{% endif %}{% endset %}
                             {% set majesticLink %}{{ seoLink }}Majestic</a>{% endset %}
                             <td>{% if rank.logo_link is defined %}{{ seoLink|raw }}{% endif %}<img
diff --git a/plugins/ScheduledReports/API.php b/plugins/ScheduledReports/API.php
index 3798c166da..54cbf41125 100644
--- a/plugins/ScheduledReports/API.php
+++ b/plugins/ScheduledReports/API.php
@@ -31,7 +31,7 @@ use Piwik\Translate;
  *
  * You can also get the list of all existing reports via "getReports", create new reports via "addReport",
  * or manage existing reports with "updateReport" and "deleteReport".
- * See also the documentation about <a href='http://piwik.org/docs/email-reports/' target='_blank'>Scheduled Email reports</a> in Piwik.
+ * See also the documentation about <a href='http://piwik.org/docs/email-reports/' rel='noreferrer' target='_blank'>Scheduled Email reports</a> in Piwik.
  *
  * @method static \Piwik\Plugins\ScheduledReports\API getInstance()
  */
diff --git a/plugins/ScheduledReports/templates/_addReport.twig b/plugins/ScheduledReports/templates/_addReport.twig
index c059692ecb..3fbc21b98b 100644
--- a/plugins/ScheduledReports/templates/_addReport.twig
+++ b/plugins/ScheduledReports/templates/_addReport.twig
@@ -41,7 +41,7 @@
                     <div class="entityInlineHelp">
                         {% set SegmentEditor_DefaultAllVisits %}{{ 'SegmentEditor_DefaultAllVisits'|translate }}{% endset %}
                         {% set SegmentEditor_AddNewSegment %}{{ 'SegmentEditor_AddNewSegment'|translate }}{% endset %}
-                        {{ 'ScheduledReports_Segment_Help'|translate('<a href="./" target="_blank">','</a>',SegmentEditor_DefaultAllVisits,SegmentEditor_AddNewSegment)|raw }}
+                        {{ 'ScheduledReports_Segment_Help'|translate('<a href="./" rel="noreferrer"  target="_blank">','</a>',SegmentEditor_DefaultAllVisits,SegmentEditor_AddNewSegment)|raw }}
                     </div>
                 </td>
             </tr>
diff --git a/plugins/ScheduledReports/templates/_listReports.twig b/plugins/ScheduledReports/templates/_listReports.twig
index 5497dfc98e..b9359f21a0 100644
--- a/plugins/ScheduledReports/templates/_listReports.twig
+++ b/plugins/ScheduledReports/templates/_listReports.twig
@@ -75,7 +75,7 @@
                             'outputType':downloadOutputType, 'language':language,
                             'format': (report.format in ['html', 'csv']) ? report.format : false
                        }) }}"
-                   target="_blank" name="linkDownloadReport" id="{{ report.idreport }}" class="link_but">
+                   rel="noreferrer"  target="_blank" name="linkDownloadReport" id="{{ report.idreport }}" class="link_but">
                     <img src='{{ reportFormatsByReportType[report.type][report.format] }}' border="0"/>
                     {{ 'General_Download'|translate }}
                 </a>
diff --git a/plugins/SecurityInfo b/plugins/SecurityInfo
index c76e640f24..36fa09c377 160000
--- a/plugins/SecurityInfo
+++ b/plugins/SecurityInfo
@@ -1 +1 @@
-Subproject commit c76e640f2404371566a65a640c41af85075e336e
+Subproject commit 36fa09c37715435b96731dceae7ebab05a7d6a01
diff --git a/plugins/SegmentEditor/templates/_segmentSelector.twig b/plugins/SegmentEditor/templates/_segmentSelector.twig
index 1d1b2275d8..a3a8ee90ae 100644
--- a/plugins/SegmentEditor/templates/_segmentSelector.twig
+++ b/plugins/SegmentEditor/templates/_segmentSelector.twig
@@ -139,7 +139,7 @@
         </div>
         <div class="segment-footer">
             <div piwik-rate-feature title="Segment Editor" style="display:inline-block;float: left;margin-top: 2px;margin-right: 10px;"></div>
-            <span class="segmentFooterNote">The Segment Editor was <a class='crowdfundingLink' href='http://crowdfunding.piwik.org/custom-segments-editor/' target='_blank'>crowdfunded</a> with the awesome support of 80 companies and Piwik users worldwide!</span>
+            <span class="segmentFooterNote">The Segment Editor was <a class='crowdfundingLink' href='http://crowdfunding.piwik.org/custom-segments-editor/' rel='noreferrer' target='_blank'>crowdfunded</a> with the awesome support of 80 companies and Piwik users worldwide!</span>
             <a class="delete" href="#">{{ 'General_Delete'|translate }}</a>
             <a class="close" href="#">{{ 'General_Close'|translate }}</a>
             <button class="saveAndApply">{{ 'SegmentEditor_SaveAndApply'|translate }}</button>
diff --git a/plugins/SitesManager/API.php b/plugins/SitesManager/API.php
index 24bb750f12..445715eda8 100644
--- a/plugins/SitesManager/API.php
+++ b/plugins/SitesManager/API.php
@@ -41,7 +41,7 @@ use Piwik\UrlHelper;
  * Some methods will affect all websites globally: "setGlobalExcludedIps" will set the list of IPs to be excluded on all websites,
  * "setGlobalExcludedQueryParameters" will set the list of URL parameters to remove from URLs for all websites.
  * The existing values can be fetched via "getExcludedIpsGlobal" and "getExcludedQueryParametersGlobal".
- * See also the documentation about <a href='http://piwik.org/docs/manage-websites/' target='_blank'>Managing Websites</a> in Piwik.
+ * See also the documentation about <a href='http://piwik.org/docs/manage-websites/' rel='noreferrer' target='_blank'>Managing Websites</a> in Piwik.
  * @method static \Piwik\Plugins\SitesManager\API getInstance()
  */
 class API extends \Piwik\Plugin\API
diff --git a/plugins/SitesManager/templates/_displayJavascriptCode.twig b/plugins/SitesManager/templates/_displayJavascriptCode.twig
index 9684358aee..d82826b3be 100644
--- a/plugins/SitesManager/templates/_displayJavascriptCode.twig
+++ b/plugins/SitesManager/templates/_displayJavascriptCode.twig
@@ -3,7 +3,7 @@
 <div class='trackingHelp'>
     <p>{{ 'Installation_JSTracking_Intro'|translate }}</p>
 
-    <p>{{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" target="_blank">','</a>')|raw }}</p>
+    <p>{{ 'CoreAdminHome_JSTrackingIntro3'|translate('<a href="http://piwik.org/integrate/" rel="noreferrer" target="_blank">','</a>')|raw }}</p>
 
     <h3>{{ 'General_JsTrackingTag'|translate }}</h3>
 
@@ -12,7 +12,7 @@
     <pre class="code-pre"><code>{{ jsTag|raw }}</code></pre>
 
     <br/>
-    <p>{{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }}</p>
+    <p>{{ 'CoreAdminHome_JSTrackingIntro5'|translate('<a rel="noreferrer" target="_blank" href="http://piwik.org/docs/javascript-tracking/">','</a>')|raw }}</p>
 
     <p>{{ 'Installation_JSTracking_EndNote'|translate('<em>','</em>')|raw }}</p>
 </div>
\ No newline at end of file
diff --git a/plugins/UserCountry/LocationProvider/Default.php b/plugins/UserCountry/LocationProvider/Default.php
index 1681efb4f7..ab93545dd9 100755
--- a/plugins/UserCountry/LocationProvider/Default.php
+++ b/plugins/UserCountry/LocationProvider/Default.php
@@ -104,7 +104,7 @@ class DefaultProvider extends LocationProvider
         $desc = Piwik::translate('UserCountry_DefaultLocationProviderDesc1') . ' '
             . Piwik::translate('UserCountry_DefaultLocationProviderDesc2',
                 array('<strong>', '<em>', '</em>', '</strong>'))
-            . '<p><em><a href="http://piwik.org/faq/how-to/#faq_163" target="_blank">'
+            . '<p><em><a href="http://piwik.org/faq/how-to/#faq_163" rel="noreferrer"  target="_blank">'
             . Piwik::translate('UserCountry_HowToInstallGeoIPDatabases')
             . '</em></a></p>';
         return array('id' => self::ID, 'title' => self::TITLE, 'description' => $desc, 'order' => 1);
diff --git a/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php b/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php
index 3326248ecc..f5f28c9719 100755
--- a/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php
+++ b/plugins/UserCountry/LocationProvider/GeoIp/Pecl.php
@@ -218,7 +218,7 @@ class Pecl extends GeoIp
         $desc = Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Pecl1') . '<br/><br/>'
             . Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Pecl2');
         $installDocs = '<em>'
-            . '<a target="_blank" href="http://piwik.org/faq/how-to/#faq_164">'
+            . '<a rel="noreferrer"  target="_blank" href="http://piwik.org/faq/how-to/#faq_164">'
             . Piwik::translate('UserCountry_HowToInstallGeoIpPecl')
             . '</a>'
             . '</em>';
diff --git a/plugins/UserCountry/LocationProvider/GeoIp/Php.php b/plugins/UserCountry/LocationProvider/GeoIp/Php.php
index 2a3fda9dee..abaa88139d 100755
--- a/plugins/UserCountry/LocationProvider/GeoIp/Php.php
+++ b/plugins/UserCountry/LocationProvider/GeoIp/Php.php
@@ -297,7 +297,7 @@ class Php extends GeoIp
         $desc = Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Php1') . '<br/><br/>'
             . Piwik::translate('UserCountry_GeoIpLocationProviderDesc_Php2',
                 array('<strong><em>', '</em></strong>', '<strong><em>', '</em></strong>'));
-        $installDocs = '<em><a target="_blank" href="http://piwik.org/faq/how-to/#faq_163">'
+        $installDocs = '<em><a rel="noreferrer"  target="_blank" href="http://piwik.org/faq/how-to/#faq_163">'
             . Piwik::translate('UserCountry_HowToInstallGeoIPDatabases')
             . '</em></a>';
 
diff --git a/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php b/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php
index b7df996637..90a73b8c79 100755
--- a/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php
+++ b/plugins/UserCountry/LocationProvider/GeoIp/ServerBased.php
@@ -223,10 +223,10 @@ class ServerBased extends GeoIp
             . Piwik::translate('UserCountry_GeoIpLocationProviderDesc_ServerBased2',
                 array('<strong><em>', '</em></strong>', '<strong><em>', '</em></strong>'));
         $installDocs =
-            '<em><a target="_blank" href="http://piwik.org/faq/how-to/#faq_165">'
+            '<em><a rel="noreferrer"  target="_blank" href="http://piwik.org/faq/how-to/#faq_165">'
             . Piwik::translate('UserCountry_HowToInstallApacheModule')
             . '</a></em><br/><em>'
-            . '<a target="_blank" href="http://piwik.org/faq/how-to/#faq_166">'
+            . '<a rel="noreferrer"  target="_blank" href="http://piwik.org/faq/how-to/#faq_166">'
             . Piwik::translate('UserCountry_HowToInstallNginxModule')
             . '</a></em>';
 
diff --git a/plugins/UserCountry/Reports/Base.php b/plugins/UserCountry/Reports/Base.php
index 9e62b0a6b6..f7a4f34203 100644
--- a/plugins/UserCountry/Reports/Base.php
+++ b/plugins/UserCountry/Reports/Base.php
@@ -23,9 +23,9 @@ abstract class Base extends \Piwik\Plugin\Report
     protected function getGeoIPReportDocSuffix()
     {
         return Piwik::translate('UserCountry_GeoIPDocumentationSuffix',
-            array('<a target="_blank" href="http://www.maxmind.com/?rId=piwik">',
+            array('<a rel="noreferrer"  target="_blank" href="http://www.maxmind.com/?rId=piwik">',
                 '</a>',
-                '<a target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">',
+                '<a rel="noreferrer"  target="_blank" href="http://www.maxmind.com/en/city_accuracy?rId=piwik">',
                 '</a>')
         );
     }
@@ -50,11 +50,11 @@ abstract class Base extends \Piwik\Plugin\Report
                     $footerMessage .= ' ' . Piwik::translate('UserCountry_NoDataForGeoIPReport2',
                             array('<a target="_blank" href="' . Url::getCurrentQueryStringWithParametersModified($params) . '">',
                                 '</a>',
-                                '<a target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">',
+                                '<a rel="noreferrer"  target="_blank" href="http://dev.maxmind.com/geoip/geolite?rId=piwik">',
                                 '</a>'));
                 } else {
                     $footerMessage .= ' ' . Piwik::translate('UserCountry_ToGeolocateOldVisits',
-                            array('<a target="_blank" href="http://piwik.org/faq/how-to/#faq_167">', '</a>'));
+                            array('<a rel="noreferrer"  target="_blank" href="http://piwik.org/faq/how-to/#faq_167">', '</a>'));
                 }
 
                 $view->config->show_footer_message = $footerMessage;
diff --git a/plugins/UserCountry/Reports/GetCountry.php b/plugins/UserCountry/Reports/GetCountry.php
index 17d8e8a83c..88363e1efa 100644
--- a/plugins/UserCountry/Reports/GetCountry.php
+++ b/plugins/UserCountry/Reports/GetCountry.php
@@ -40,7 +40,7 @@ class GetCountry extends Base
             // if we're using the default location provider, add a note explaining how it works
             $footerMessage = Piwik::translate("General_Note") . ': '
                 . Piwik::translate('UserCountry_DefaultLocationProviderExplanation',
-                    array('<a target="_blank" href="http://piwik.org/docs/geo-locate/">', '</a>'));
+                    array('<a rel="noreferrer"  target="_blank" href="http://piwik.org/docs/geo-locate/">', '</a>'));
 
             $view->config->show_footer_message = $footerMessage;
         }
diff --git a/plugins/UserCountry/templates/adminIndex.twig b/plugins/UserCountry/templates/adminIndex.twig
index 65d83cba31..587abe25bd 100755
--- a/plugins/UserCountry/templates/adminIndex.twig
+++ b/plugins/UserCountry/templates/adminIndex.twig
@@ -15,7 +15,7 @@
         <h3 style="margin-top:0;">{{ 'UserCountry_HowToSetupGeoIP'|translate }}</h3>
         <p>{{ 'UserCountry_HowToSetupGeoIPIntro'|translate }}</p>
         <ul style="list-style:disc;margin-left:2em;">
-            <li>{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a href="http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz">','</a>','<a target="_blank" href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}</li>
+            <li>{{ 'UserCountry_HowToSetupGeoIP_Step1'|translate('<a href="http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz">','</a>','<a rel="noreferrer"  target="_blank" href="http://www.maxmind.com/?rId=piwik">','</a>')|raw }}</li>
             <li>{{ 'UserCountry_HowToSetupGeoIP_Step2'|translate("'GeoLiteCity.dat'",'<strong>','</strong>')|raw }}</li>
             <li>{{ 'UserCountry_HowToSetupGeoIP_Step3'|translate('<strong>','</strong>','<span style="color:green"><strong>','</strong></span>')|raw }}</li>
             <li>{{ 'UserCountry_HowToSetupGeoIP_Step4'|translate }}</li>
diff --git a/plugins/UsersManager/API.php b/plugins/UsersManager/API.php
index 751e61dbbc..1e651eef13 100644
--- a/plugins/UsersManager/API.php
+++ b/plugins/UsersManager/API.php
@@ -28,7 +28,7 @@ use Piwik\Tracker\Cache;
  * Existing Permissions are listed given a login via "getSitesAccessFromUser", or a website ID via "getUsersAccessFromSite",
  * or you can list all users and websites for a given permission via "getUsersSitesFromAccess". Permissions are set and updated
  * via the method "setUserAccess".
- * See also the documentation about <a href='http://piwik.org/docs/manage-users/' target='_blank'>Managing Users</a> in Piwik.
+ * See also the documentation about <a href='http://piwik.org/docs/manage-users/' rel='noreferrer' target='_blank'>Managing Users</a> in Piwik.
  */
 class API extends \Piwik\Plugin\API
 {
diff --git a/plugins/UsersManager/Model.php b/plugins/UsersManager/Model.php
index 3d69f0ab14..f6b453e4e9 100644
--- a/plugins/UsersManager/Model.php
+++ b/plugins/UsersManager/Model.php
@@ -22,7 +22,7 @@ use Piwik\Piwik;
  * Existing Permissions are listed given a login via "getSitesAccessFromUser", or a website ID via "getUsersAccessFromSite",
  * or you can list all users and websites for a given permission via "getUsersSitesFromAccess". Permissions are set and updated
  * via the method "setUserAccess".
- * See also the documentation about <a href='http://piwik.org/docs/manage-users/' target='_blank'>Managing Users</a> in Piwik.
+ * See also the documentation about <a href='http://piwik.org/docs/manage-users/' rel='noreferrer' target='_blank'>Managing Users</a> in Piwik.
  */
 class Model
 {
diff --git a/plugins/VisitorGenerator b/plugins/VisitorGenerator
index f516179c7e..0ed78a595d 160000
--- a/plugins/VisitorGenerator
+++ b/plugins/VisitorGenerator
@@ -1 +1 @@
-Subproject commit f516179c7e7d5ae3cf28123c8e09f168e03dfca6
+Subproject commit 0ed78a595d4d12965cd66f85a7a09b91ec94b55a
diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php
index 63fe8ef205..b94c440f1d 100644
--- a/plugins/VisitsSummary/Controller.php
+++ b/plugins/VisitsSummary/Controller.php
@@ -61,7 +61,7 @@ class Controller extends \Piwik\Plugin\Controller
             . Piwik::translate('General_ColumnNbActionsDocumentation') . '<br />'
 
             . '<b>' . Piwik::translate('General_ColumnNbUsers') . ':</b> '
-            . Piwik::translate('General_ColumnNbUsersDocumentation') . ' (<a target="_blank" href="http://piwik.org/docs/user-id/">User ID</a>)<br />'
+            . Piwik::translate('General_ColumnNbUsersDocumentation') . ' (<a rel="noreferrer"  target="_blank" href="http://piwik.org/docs/user-id/">User ID</a>)<br />'
 
             . '<b>' . Piwik::translate('General_ColumnActionsPerVisit') . ':</b> '
             . Piwik::translate('General_ColumnActionsPerVisitDocumentation');
diff --git a/plugins/Widgetize/javascripts/widgetize.js b/plugins/Widgetize/javascripts/widgetize.js
index c341c7c5c3..3e7d8787b6 100644
--- a/plugins/Widgetize/javascripts/widgetize.js
+++ b/plugins/Widgetize/javascripts/widgetize.js
@@ -64,7 +64,7 @@ function widgetize() {
                 '</span>' +
                 '</div>' +
                 '<div> <label for="embedThisWidgetDirectLink">&rsaquo; Direct Link</label>' +
-                '<span id="embedThisWidgetDirectLink"> ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - <a href="' + urlIframe + '" target="_blank">' + _pk_translate('Widgetize_OpenInNewWindow') + '</a></span>'
+                '<span id="embedThisWidgetDirectLink"> ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - <a href="' + urlIframe + '" rel="noreferrer"  target="_blank">' + _pk_translate('Widgetize_OpenInNewWindow') + '</a></span>'
                 + '</div>'
         );
 
diff --git a/plugins/Widgetize/templates/index.twig b/plugins/Widgetize/templates/index.twig
index 4ef49917bd..4763473a62 100644
--- a/plugins/Widgetize/templates/index.twig
+++ b/plugins/Widgetize/templates/index.twig
@@ -35,14 +35,14 @@
 
     <p>
         <strong>&rsaquo; Widget authentication:</strong> If you want your widgets to be viewable by everybody, you first have to set the 'view' permissions
-        to the anonymous user in the <a href='index.php?module=UsersManager' target='_blank'>Users Management section</a>.
+        to the anonymous user in the <a href='index.php?module=UsersManager' rel='noreferrer' target='_blank'>Users Management section</a>.
         <br/>Alternatively, if you are publishing widgets on a password protected or private page,
         you don't necessarily have to allow 'anonymous' to view your reports. In this case, you can add the secret token_auth parameter (found in the
-        <a href='{{ linkTo({'module':'API','action':'listAllAPI'}) }}' target='_blank'>API page</a>) in the widget URL.
+        <a href='{{ linkTo({'module':'API','action':'listAllAPI'}) }}' rel='noreferrer' target='_blank'>API page</a>) in the widget URL.
     </p>
 
     <p><strong>&rsaquo; Widgetize the full dashboard:</strong> You can also display the full Piwik dashboard in your application or website in an IFRAME
-        (<a href='' target='_blank' id='linkDashboardUrl'>see example</a>).
+        (<a href='' rel='noreferrer' target='_blank' id='linkDashboardUrl'>see example</a>).
         The date parameter can be set to a specific calendar date, "today", or "yesterday". The period parameter can be set to "day", "week", "month", or
         "year".
         The language parameter can be set to the language code of a translation, such as language=fr.
@@ -50,7 +50,7 @@
     </p>
 
     <p>
-        <strong>&rsaquo; Widgetize the all websites dashboard in an IFRAME</strong> (<a href='' target='_blank' id='linkAllWebsitesDashboardUrl'>see example</a>)
+        <strong>&rsaquo; Widgetize the all websites dashboard in an IFRAME</strong> (<a href='' rel='noreferrer' target='_blank' id='linkAllWebsitesDashboardUrl'>see example</a>)
         <span id='exportAllWebsitesDashboard'></span>
     </p>
 
-- 
GitLab