alternative pretty links

Pretty links permet de raccourcir et d’obfusquer des liens, ce qui est utile pour centraliser tous ses liens d’affiliation. Je l’ai utilisé pendant longtemps avec link juicer optimizer.

Cependant, j’ai cherché une solution à cause :

  • ralentissement général du site
  • incitations de plus en plus presantes pour passer sur la version payante
  • erreurs critiques lors de certaines mise à jour

Je préfère désormais remplacer mes liens par des simples redirections codées en PHP cloaquées.

Script de redirection

  • créer un sous-répertoire par exemple /go
  • la liste des URL est stockée dans un fichier JSON
  • lors du lancement du script go/index.php la première fois, il crée le fichier JSON d’exemple vide et le .htaccess
<?php $redirectionsFile = __DIR__ . '/redirections.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"     . "# Bloquer l'accès direct au fichier redirections.json\n"     . "RewriteRule ^(.*)/redirections.json$ - [F,L]";     echo "Le fichier .htaccess n'existe pas. Veuillez le créer avec le contenu suivant :<br>";     echo "<textarea rows='7' cols='50'>" . htmlentities($htaccessContent) . "</textarea>";     exit; // Arrête l'exécution du script }   if (!file_exists($redirectionsFile)) {     $initialContent = [            "raccourciNonTrouve" => [             "url" => "https://site.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($redirectionsFile, $jsonContent);      echo "Le fichier redirections.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 redirections depuis le fichier JSON $redirectionsJson = file_get_contents($redirectionsFile); $redirections = json_decode($redirectionsJson, 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($redirections[$path])) {     // Mise à jour du compteur et de la date du dernier accès     $redirections[$path]['compteur'] += 1;     $redirections[$path]['dernier_acces'] = date('Y-m-d H:i:s');     // Sauvegarde les modifications dans le fichier JSON     file_put_contents($redirectionsFile, json_encode($redirections, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));      if ($isBot) {         // Si c'est un bot, redirige vers l'URL cloackée         header('Location: ' . $redirections[$path]['url_cloackee'], true, 301);     } else {         // Sinon, redirige vers l'URL normalement prévue         header('Location: ' . $redirections[$path]['url_redirection'], true, 301);     }     exit; } else {   // Récupère l'URL de redirection pour les raccourcis non trouvés  $urlRedirectionNonTrouve = isset($redirections['raccourciNonTrouve']['url']) ? $redirections['raccourciNonTrouve']['url'] : 'https://www.google.com/';     header('Location: ' . $urlRedirectionNonTrouve, true, 301);     exit; }

Récupérer l’existant prettylink

Ce qui suit permet de récupérer tous les raccourcis prettylink et de créer le JSON.

  • export liens prettylink
  • fournir le CSV à chatgpt et lancer le prompt suivant
Lire aussi :   Apache multisites : ajouter un sous domaine


Extrait les informations du csv et convertit les en json, en respectant la structure ci dessous

Extrait les informations du csv et convertit les en json, en respectant la structure ci dessous  fait le mapping suivant :  remplace la clé  "raccourci”  par le contenu de  slug  non_affi : name url_redirection : url    {     "raccourciNonTrouve": {         "url": "https://revenuspassifs.info/"     },     "raccourci": {         "non_affi": "affi truc",         "url_redirection": "https://example.com/?ref=40",         "url_cloackee": "https://url_cloackee.com",         "notes": "remarques",         "compteur": 0,         "dernier_acces": ""     } }   Exemple de résultat   {     "raccourciNonTrouve": {         "url": "https://revenuspassifs.info/"     },     "jyi2": {         "non_affi": "xxxx",         "url_redirection": "https://lien redir.info/",         "url_cloackee": "https://revenuspassifs.info/",         "notes": "",         "compteur": 0,         "dernier_acces": ""     } }

Phil

Laisser un commentaire