0Lokalisierung von Amazon Affiliates Links

Ich Referenz gelegentlich Produkte auf meine verschiedenen Websites, und in der Regel, sie zu Amazon Link für jedermann interessiert an dem Kauf. Vor langer Zeit habe ich mit einem Amazon Partner Link Link aber verdienen nie etwas von ihm als meine typischen Leserschaft gut auf der ganzen Welt verteilt ist. Leider Amazon bieten keinen Weg, um Besucher auf ihre lokale amazon Site zu umleiten unter Beibehaltung an verbundenen Unternehmen Zahlungen. Es gibt verschiedene Lösungen gibt, aber alle diejenigen, fand ich hatte Probleme mit ihnen, so I developed my own.

I could devel­op it into a plu­gin for release if there is suf­fi­cient demand. In der Zwischenzeit, the code is below. You will need to make some modi­fic­a­tions to make it match your site address and your amazon affil­i­ates codes

<?php
/**
* Plugin Name: Amazon Affiliates Redirect
* Plugin URI: https://diymediahome.org/
* Beschreibung: Redirects all amazon affiliates links to a local amazon store depending on visitors location.
* Version: 1.0
* Author: Jon P Scaife
* Author URI: https://jonscaife.com
* License: GPL12
*/
function process_link()
{
$debug=false;

//Detect visitor location from IP

wenn (weg($_SERVER['HTTP_CLIENT_IP']))
{
$real_ip_address = $_SERVER['HTTP_CLIENT_IP'];
}

wenn (weg($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$real_ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
sonst
{
$real_ip_address = $_SERVER['REMOTE_ADDR'];
}

function curl_get_contents($url)
{
$ch = curl_init();

curl_setopt($CH, CURLOPT_HEADER, 0);
curl_setopt($CH, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($CH, CURLOPT_URL, $url);

$data = curl_exec($CH);
curl_close($CH);

return $data;
}

$iptolocation = 'http://ip-api.com/php/' . $real_ip_address;
$ipreply = @unserialize(curl_get_contents($iptolocation));
$iplocation = $ipreply['countryCode'];

//Detect visitor language from browser

$browserlang= substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

//Detect language of page visitor is using

if (weg($_GET['lang']))
{
$userlang= $_GET['lang'];
}
sonst
{
$userlang= "EN";
}

//was a link passed

if (weg($_GET['addr']))
{
$original_link= $_GET['addr'];
}

//Decide best amazon site based on data detected

$linkpartone= $_GET['creativeASIN'];

Schalter ($iplocation)
{
case 'GB':
        $link="https://www.amazon.co.uk/dp/".$linkpartone."/ref=nosim?tag=dimeho-21";
        break;
case 'IE':
        $link="https://www.amazon.co.uk/dp/".$linkpartone."/ref=nosim?tag=dimeho-21";
break;
case 'US':
        $link="https://www.amazon.com/dp/".$linkpartone."/ref=nosim?tag=jonstech-20";
break;
case 'CA':
        $link="https://www.amazon.ca/dp/".$linkpartone."/ref=nosim?tag=dimeho-20";
break;
case 'CN':
        $link="https://www.amazon.cn/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'HK':
        $link="https://www.amazon.cn/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'MO':
        $link="https://www.amazon.cn/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'IN':
        $link="https://www.amazon.in/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'JP':
        $link="https://www.amazon.co.jp/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'FR':
        $link="https://www.amazon.fr/dp/".$linkpartone."/ref=nosim?tag=Dimeho02-21";
break;
case 'CH':
        $link="https://www.amazon.fr/dp/".$linkpartone."/ref=nosim?tag=Dimeho02-21";
break;
case 'BE':
        $link="https://www.amazon.fr/dp/".$linkpartone."/ref=nosim?tag=Dimeho02-21";
break;
case 'MC':
        $link="https://www.amazon.fr/dp/".$linkpartone."/ref=nosim?tag=Dimeho02-21";
break;
case 'LU':
        $link="https://www.amazon.fr/dp/".$linkpartone."/ref=nosim?tag=Dimeho02-21";
break;
case 'DE':
        $link="https://www.amazon.de/dp/".$linkpartone."/ref=nosim?tag=dimeho0f-21";
break;
case 'CZ':
        $link="https://www.amazon.de/dp/".$linkpartone."/ref=nosim?tag=dimeho0f-21";
break;
case 'IT':
        $link="https://www.amazon.it/dp/".$linkpartone."/ref=nosim?tag=diymediahome-21";
break;
case 'NL':
        $link="https://www.amazon.nl/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'ES':
        $link="https://www.amazon.es/dp/".$linkpartone."/ref=nosim?tag=diymediahom05-21";
break;
case 'MX':
        $link="https://www.amazon.com.mx/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'AU':
        $link="https://www.amazon.com.au/dp/".$linkpartone."/ref=nosim?tag=";
break;
case 'BR':
        $link="https://www.amazon.com.br/dp/".$linkpartone."/ref=nosim?tag=";
break;
Default:
$link="https://www.amazon.com/dp/".$linkpartone."/ref=nosim?tag=jonstech-20";
}


wenn($debug==true)
{
Echo "1. $iplocation.  2. $browserlang.  3. $userlang.  4. $Link";
}
sonst
{
Kopfzeile('Location: '.$link);
die();
}

}
wenn (weg($_GET['addr'])) process_link();

//create filter to replace amazon links with internal redirect inc a random code to prevent caching

function modify_amazon_affiliate_links($Inhalt)
{
$content= str_replace('<a rel ="nofollow" href ="https://www.amazon', '<Skript>var ran_var= Math.random();</Skript><a style="Hintergrund: keiner;" rel ="nofollow" onclick="location.href=this.href+\'?ran=\'+ran_var;falsch zurückgeben;" target="_blank" href ="https://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr=', $Inhalt);
return str_replace('<a href ="https://www.amazon', '<Skript>var ran_var= Math.random();</Skript><a style="Hintergrund: keiner;" rel ="nofollow" onclick="location.href=this.href+\'?ran=\'+ran_var;falsch zurückgeben;" target="_blank" href ="https://jonscaife.com/wp-content/plugins/amazon-affiliates-redirect.php?addr=', $Inhalt);
}
add_filter( 'The_content', 'modify_amazon_affiliate_links' )

?>

Note — the code is cur­rently early draft.  It works, but it does­n’t make use of some of the detec­tion that it can do.  It does­n’t have a set­tings page for the asso­ci­ate IDs, and it uses a hard­coded site address, rather than an invis­ible redir­ect.  It DOES how­ever use cli­ent-side javas­cript to gen­er­ate a unique redir­ect url every time to pre­vent any cach­ing sys­tems from caus­ing incor­rect loc­a­tion detection.

Bitte senden Sie uns Ihre Gedanken durch Kommentierung unten! Wenn Sie bitte abonnieren möchten den Link oben rechts auf dem Menü abonnieren verwenden. Sie können auch unten unter Verwendung der sozialen Bindungen diese mit Ihren Freunden teilen. Prost.

Hinterlasse eine Antwort