gestion lien affiliation wordpress

Auparavant pour centraliser tous mes liens d’affiliation j’utilisais Pretty Link et pour les dissimuler à google j’utilisais LinkJuicer Optimization pour les obfusquer.

J’ai créé un script très simple qui permet de se passer de ces deux plugins. Cela permet de gagner en performance. Au lieu d’obfusquer les liens je les cloakues pour google et pour bing point

Avantages :

  • pas besoin d’extensions
  • inclut un compteur d’accès et date dernier accès facilement
  • modifiable facilement si la détection google/bing bot devait être modifiée

Enjoy !

Mode d’emploi

  • copier le fichier dans un sous-répertoire de votre site ( monsite.com/go)
  • Lancer le fichier une première fois monsite.com/go.index.html
  • Créer le fichier .htaccess comme indiqué par le script
  • Ensuite ajouter vos liens dans le fichier redirection.json créé par le script
<?php // index.html //  // A placer dans un sous répertoire de votre site // Par exemple monsite.com/go // // v1.0 Phil https://digit-mentor.com/ //  $redirectionFile = __DIR__ . '/redirection.json'; $htaccessFile = __DIR__ . '/.htaccess';  if (!file_exists($htaccessFile)) {     $htaccessContent = "RewriteEngine On\n"     . "RewriteBase /go/\n"     . "RewriteCond %{REQUEST_FILENAME} !-f\n"     . "RewriteCond %{REQUEST_FILENAME} !-d\n"     . "RewriteRule ^ index.php [QSA,L]\n"     . "RewriteRule ^(.*)/redirections.json$ - [F,L]\n";     echo "Le fichier .htaccess n'existe pas. Veuillez le créer avec le contenu suivant :<br>";     echo "<textarea rows='10' cols='50'>" . htmlentities($htaccessContent) . "</textarea>";     exit;  }   if (!file_exists($redirectionFile)) {     $initialContent = [            "raccourciNonTrouve" => [             "url" => "https://defaulturl.com/"         ],          "raccourci" => [             "non_affi" => "affi truc",             "url_redirection" => "https://example.com/?ref=40",             "url_cloackee" => "https://url_cloackee.com",             "notes" => "remarques",             "compteur" => 0,             "dernier_acces" => ""         ]     ];      $jsonContent = json_encode($initialContent, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);     file_put_contents($redirectionFile, $jsonContent);      echo "Le fichier redirection.json n'existe pas. Un fichier d'exemple a été créé avec une redirection par défaut pour les raccourcis non trouvés.";     exit; }   // Chargement des redirection depuis le fichier JSON $redirectionJson = file_get_contents($redirectionFile); $redirection = json_decode($redirectionJson, true);  // Obtient le chemin de la requête après '/v/' $path = trim($_SERVER['REQUEST_URI'], '/'); $path = substr($path, 2); // Assurez-vous que cela corresponde exactement à la façon dont les URL sont structurées  $isGoogleBot = preg_match('/googlebot/i', $_SERVER['HTTP_USER_AGENT']) && preg_match('/^66\.249/', $_SERVER['HTTP_X_FORWARDED_FOR']); $isBingBot = preg_match('/bingbot/i', $_SERVER['HTTP_USER_AGENT']); $isBot = $isGoogleBot || $isBingBot;  // Vérification et redirection if (isset($redirection[$path])) {     // Mise à jour du compteur et de la date du dernier accès     $redirection[$path]['compteur'] += 1;     $redirection[$path]['dernier_acces'] = date('Y-m-d H:i:s');     // Sauvegarde les modifications dans le fichier JSON     file_put_contents($redirectionFile, json_encode($redirection, JSON_PRETTY_PRINT));      if ($isBot) {         // Si c'est un bot, redirige vers l'URL cloackée         header('Location: ' . $redirection[$path]['url_cloackee'], true, 301);     } else {         // Sinon, redirige vers l'URL normalement prévue         header('Location: ' . $redirection[$path]['url_redirection'], true, 301);     }     exit; } else {   // Récupère l'URL de redirection pour les raccourcis non trouvés  $urlRedirectionNonTrouve = isset($redirection['raccourciNonTrouve']['url']) ? $redirection['raccourciNonTrouve']['url'] : 'https://www.google.com/';     header('Location: ' . $urlRedirectionNonTrouve, true, 301);     exit; }

Pour empêcher le parcours du répertoire /go/ par les bots, vous pouvez ajouter dans le /robots.txt la section suivante :

User-agent: * Disallow: /go
Phil

Laisser un commentaire