Links maskieren

by Jojo on 25.11.06 · 55 comments

in AdWords, Partnerprogramme, Suchmaschinenoptimierung

Google soll nicht von jedem Link wissen wohin er führt. Insbesondere bei Affiliate-Links bietet sich eine Maskierung der Links an. Ob nun für die organischen Suchergebnisse oder AdWords optimiert wird. Besser ist besser …

So geht´s:
1. Anlegen eines neuen Unterverzeichnisses. Beispielsweise http://www.meinedomain.de/click/
2. Folgendes als “index.php”-Datei in das Unterverzeichnis hochladen:

<?php
$nr = $_GET['nr'];
$sub = $_GET['sub'];

// Links
$link[1] = "http://www.domain1.de/verzeichnisX/dateiY.html";
$link[2] = "http://affililinkdomain.com";
$link[3] = "http://www.partnerprogrammlink.de/?ref=299292&subid=".$sub;

// Weiterleitung
header("HTTP/1.1 301 Moved Permanently");
header("Location: $link[$nr]");
header("Connection: close");
?>

!Wichtig! Wordpress zerhackt den Code leider etwas. Daher einfach diese Datei herunterladen und das “.txt” am Ende entfernen.
3. robots.txt mit folgendem Inhalt erstellen und an diese Stelle hochladen http://www.meinedomain.de/robots.txt:

User-agent: *
Disallow:/click/

4. Mit http://www.meinedomain.de/click/?nr=X kann jetzt verlinkt werden, wobei X durch die Nummer des jeweiligen Linkes zu ersetzen ist. Also soll “$link[2]” verlinkt werden, würde der Link so aussehen: “http://www.meinedomain.de/click/?nr=2″. Es können natürlich beliebig viele weitere $link[X]-Einträge in der index.php für weitere Links erstellt werden.

Das war dann auch schon der sehr simple Code zum Maskieren von Partnerprogramm-Links. Damit kann natürlich auch jeder andere beliebige Link maskiert werden. Es gäbe natürlich noch einige Möglichkeiten die Funktionen des Scripts auszubauen. Beispielsweise könnte man Klicks tracken oder die Links über eine Adminoberfläche und eine MySql-Datenbank verwalten. Der (geringe) Nutzen war mir bisher aber nicht die notwendige Arbeit wert …

SubID-Tracking
Einen interessanten Punkt gibt es aber schon noch: SubID-Tracking. Ist auch bereits in das obige Script implementiert. Bei einigen Partnerprogramm(netzwerken) besteht die Möglichkeit mittels SubID´s innerhalb eines Partnerprogrammes zum Beispiel unterschiedliche Werbeflächen getrennt zu tracken. Dazu übergibt man mit dem Link einfach eine SubID. Anhand dieser SubID kann man sich dann in den Statistiken des Partnerprogrammes die Klicks\Leads\Sales\usw. nach der SubID aufschlüsseln lassen. Sehr nützliche und wichtige Sache … Im obigen Beispiel kann eine SubID beispielsweise so an die Klick-Url angehängt werden “http://www.meinedomain.de/click/?nr=2&sub=header”. Zu beachten ist noch, dass die SubID auch an die Partnerprogramm-Url angehängt werden muss. Das hab ich als Beispiel mit “$link[3]” gemacht. Dort habe ich folgenden Code “&subid=”.$sub” für das SubID-Tracking zusätzlich eingefügt.

Spezialtipp
Zum Abschluss noch ein Spezialtipp für alle die eigene Partnerprogramm-Landingpages über Google AdWords bewerben:
An die AdWords-Zielurl hängt man einfach einen Code an um die Klicks aus dem Such- und Contentnetzwerk auf der eigenen Seite unterscheiden zu können. Der bei AdWords angegebene Link kann zum Beispiel so aussehen:

http://www.meinedomain.de/landingpage.php?sub={ifsearch:10000}{ifcontent:con_10000}

Auf der eigenen Landingpage muss dann nur noch die sub-Variable an die Klickurl angehängt werden. So kann man dann relativ einfach tracken wieviel die Klicks aus dem Suchnetzwerk und wieviel die Klicks aus dem Contentnetzwerk einbringen.

{ 15 trackbacks }

21 Shortcuts - Arbitrage, Google + Tempo, SEO Tools, Blogger Ethik, 4 SEO Tipps, Keyword Tool, Quaero, Webkataloge etc … - SEO Marketing Blog
26.11.06 um 12:43
» Infos zum Google AdWords Qualitätsfaktor
06.12.06 um 02:20
Werbelinks verstecken - QuiPly
13.05.07 um 10:34
PP-Blogsberg » Blog Archive » Wordpress-Plugin Affilink - MUST HAVE!
19.07.07 um 20:56
Marketing Blog’s - Top ten | regelbrecher
06.09.07 um 02:50
Mit wenigen Klicks maskierte Affiliate-Links im Blog - Adult Webmaster Blog
23.09.07 um 02:16
Partnerlink im Blog maskieren » Affiliate-Marketing, Online-Blogs, Suchergebnis-Optimierung [SEO] » Der richtige Online-Mix » www.e-promotions.de «
05.01.08 um 17:09
» Einfachster Weg für Link Cloaking in Wordpress | red seo blog | RedSEOBlog.com
10.02.08 um 00:10
» 07.06.08 | Affiliate, Blogger und SEO
07.04.08 um 21:25
Affiliate Links maskieren | Affiliate Marketing, Partnerprogramme und SEO
08.07.08 um 20:23
LinkMask 1.0 - Links maskieren - Netgestalter
19.09.08 um 18:59
4 Möglichkeiten Affiliate-Links zu verbergen « Bloggonaut.net
21.09.08 um 02:14
Affiliate-Links maskieren mit LinkMask 1.0 » Beitrag » Freeware-Blog
11.10.08 um 16:41
Geld verdienen im Internet » Blog Archi » Affiliate-Links auf Gratis-Blogs einbinden
17.10.08 um 23:47
Affiliate Links maskieren bzw. verbergen | Earnfreak Weblog
01.03.09 um 19:44

{ 40 comments… read them below or add one }

1 bull 26.11.06 um 22:34

Guter Einführungsbeitrag, mit ein wenig Nachdenken kommt man auf eine noch sauberere Lösung :)

2 Jojo 26.11.06 um 22:59

Hm … was ist an der Lösung unsauber? Und welche Lösung wäre besser?

3 Daniel 27.11.06 um 02:28

Hallo, ich bekomme immer eine Fehlermeldung angezeigt, wenn ich den maskierten Link aufrufe (Parse error: parse error, unexpected ‘:’ in /srv/www/f5087651/html/click/index.php on line 7). Das ist die erste PHP-Datei, die ich bisher erstellt habe. Kann mir jemand sagen was ich falsch mache?

4 Jojo 27.11.06 um 11:58

Hallo Daniel,
Wordpress zerhackt wohl den Code etwas. Habe noch eine Datei mit dem Code für die index.php hinzugefügt. Einfach runterladen und das “.txt” entfernen.

5 David T. 27.11.06 um 16:50

Die Idee ist gut. Die Umsetzung ist, naja, holprig. Obwohl, solange es funktioniert und keine Sicherheitslücken hat isses bei einer privaten Seite wohl egal.

6 Jojo 27.11.06 um 17:05

@David T.
Es erfüllt seinen Zweck und ist sehr simpel. Und der ist es einfach nur Affiliate-Links zu maskieren. Weitere Funktionen werden nicht benötigt und solange es nur ein paar Dutzend Affiliate-Links pro Seite sind bevorzuge ich es, die Links einfach nur in der Datei einzufügen. Von daher frage ich mich was an der Sache nun “holprig” sein soll?

7 David T. 27.11.06 um 17:19

Was passiert, wenn die ID ungültig ist? Oder wenn man eine ID herauslöscht aber jemand noch versucht die ID aufzurufen.
Was passiert wenn die Weiterleitung geändert wird? Ist Dir klar, was der Statuscode 301 bedeutet?
$string wird erst durch $string[1] zu einem Array. Man sollte (a) vorher $string = array(); ausführen, (b) bei 0 mit dem Zählen beginnen.

Und noch etliche weitere kleinere Sachen die aber mehr den Stil als wirklich die Ausführung betreffen.

8 Jojo 27.11.06 um 17:48

Was passiert, wenn die ID ungültig ist? Oder wenn man eine ID herauslöscht aber jemand noch versucht die ID aufzurufen.

Nichts spannendes?

Was passiert wenn die Weiterleitung geändert wird? Ist Dir klar, was der Statuscode 301 bedeutet?

Moved Permanently … was nicht 100% korrekt ist, weil es dort nie die gesuchten Daten gab, aber es erfüllt seinen Zweck und ich wüsste auch nicht welcher Status-Code besser geeignet wäre.

$string wird erst durch $string[1] zu einem Array. Man sollte (a) vorher $string = array(); ausführen, (b) bei 0 mit dem Zählen beginnen.

In beidem sehe ich keinen Nutzen für das Script …

Ich denke wir unterscheiden uns in einem wichtigem Punkt. Ich bin nur einer der vielen PHP-Frickler. ;-) Mich stellt es schon zufrieden wenn der Code das tut was ich will.

9 Daniel 27.11.06 um 19:39

1000 Dank! Einfach genial!
Jetzt kann ich es mir endlich sparen für jeden Link eine eigene html-Datei zu erstellen. Nochmal vielen Dank.

10 Sebastian 27.11.06 um 23:40

Hey Jojo,

guter Tipp, den ich auch gleich in die Tat umgesetzt habe. Manchmal brauch man einfach nur einen Ruck um sowas umzusetzen! Danke nochma!

Greetz
Sebastian

11 Werner 28.11.06 um 09:36

Jojo,

dir ist aber schon klar, dass mit solcherlei Veröffentlichungen, der Spaß schnell vorbei sein kann!? Denn nichts dürfte für google einfacher sein, adwords Pages nach den genannten Parametern zu checken.

12 Sebastian 28.11.06 um 10:59

Hey Werner! Nichts, aber auch wirklich gar nichts ist einfacher als die Parameter zu ändern! Wenn du richtig optimierst nimmst du auch keine Zahlen im Array ( numerisch ) sondern ein Wort Array ( assoziativ ).

13 Vitali 29.11.06 um 12:36

ich weiß das es einfach ist für alle hier aber ich bekomme das nicht hin kann mir jemand helfen ?

bzw. einen Beispiel geben wie ich das mit zanox links machen kann!

Danke im Voraus !!

14 Jojo 29.11.06 um 16:01

Hallo Vitali,

ich denke Punkt 1 und 3 dürften klar sein. Bei Punkt 4 musst du einfach nur die Urls in der index.php aus Punkt 2 durch deine Zanox-Urls ersetzen. Also http://www.domain1.de/verzeichnisX/dateiY.html einfach durch die entsprechende Zanox-Url ersetzen. Eigentlich alles recht simpel, wo genau liegt den das Problem?

15 Jörg 07.12.06 um 08:43

Statt PHP würde ich lieber mod_rewrite nehmen.


RewriteEngine on
RewriteBase /click/
RewriteRule ^\?nr=1$ http://www.domain1.de/verzeichnisX/dateiY.html [R]
RewriteRule ^\?nr=2$ ...

16 Max 08.12.06 um 20:15

Danke Jojo, hab danach gerade einige Minuten gesucht und nichts wirklich passendes gefunden.

Vielen Dank :-)

17 Til 11.12.06 um 18:48

Kann das jemand mit dem mod_rewrite noch ausführlicher darlegen? Was soll dieses [R] bedeuten?

18 Frank Wolff 31.01.07 um 12:44

Hallo,
hm, hat mal jemand heraus gefunen ab wann Google denn dann diese ganzen sichtbaren Links denen er nicht folgen kann als “leere” URL in seinen Index aufnimmt ?
Das Problem hatte ich nämlich mal von Zeit zu Zeit, eben unendlich viele Link-URLs ohne Beschreibung im Google Index.
Wenn die als richtige Seiten im Index gezählt werden wäre ein Disallow ja eher kontraproduktiv, wenn es so kommt ?!

Was meint ihr ?

Gruß
Frank Wolff

19 Jojo 31.01.07 um 13:33

Ich kann dir da jetzt nicht ganz folgen. Solche Urls können natürlich schon im Index erscheinen, werden aber in der Regel nicht ranken und nur bei einer site-Abfrage auftauchen. Muss man dann halt mit Leben, wenn man auf normale Urls setzt. Damit Google die Urls gar nicht entdeckt könnte man zum Beispiel ein Javascript-Konstrukt, dass die Url erst zusammensetzt nutzen. Aber das hat dann auch seine Nachteile. Es gibt sicherlich noch andere Möglichkeiten, aber ich sehe kein großes Problem darin, wenn Google solche Urls “kennt”.

20 der Werbemittel Harald 19.06.07 um 18:20

Ich versuche mich gerade in die ganze geschichte einzulesen, aber ich muss sagen: für laien ist dieser artikel ziemlich unverständlich. :-(

21 Schnappi 30.07.07 um 22:52

Vielen Dank für das Script! :P

22 Uwe 17.08.07 um 21:45

Hi, ich habe das ganze unabhängig von deiner Seite schon mal getestet und bisher nichts negatives feststellen können. Gibt es Langzeiterfahrungen mit mehr als 1000 Links, die auf diese Weise maskiert wurden?

Danke
Uwe

23 mic 30.10.07 um 16:37

hey der artikel ist super, hab das direkt für meine seite eingesetzt. danke dir jojo :)

24 jamese 02.11.07 um 10:34

Vielen Dank JOJO,

super Sache. Gesucht und gefunden. So sollte es sein LOL

25 Günther 11.11.07 um 16:06

Also ich habe das Problem schon vor einigen Monaten mit Rewrite in der htaccess gelöst, die Landingpage auf das gewünschte Keyword optimiert, profesionelles Layout etc. Trotzdem wird mir das Keyword im Adwords Account nicht zu einem vernünftigen Preis (Qulaitätsfaktor) freigegeben. Adword Support teilte mit nach Nachfrage mit, daß die Seite nach Bearbeitung neu gespidert wird. Nichts ist passiert. Keine Freigabe des Keywords. Und die Konkurrenz kann weiter fleißig schalten. Da soll noch einer durchblicken.

26 suchmaschinen-banane 22.11.07 um 17:01

hmm ja … ich sehe nicht wie das lange funktionieren kann (obwohl ich’s selber genauso mache, allerdings mit einem perl-script). den googlebot per robots.txt auszuschliessen heisst ihn bitten nicht zu schnüffeln, da dies aber in seiner natur liegt und sie als good guys ohnehin ALLES wissen dürfen, ja MÜSSEN, kann’s nicht lang dauern, bis sie gegen “maskierte” links einen “maskierten” bot einsetzen – wenn sie’s nicht schon längst tun.

27 Marco 22.11.07 um 21:28

Vielen Dank. Genau so etwas hab ich gesucht.

28 Toni 26.11.07 um 23:24

Hi Jojo,

bei mir zerhaut es immer den Link in Wordpress (in der Sidebar.php).
Parse error: parse error, unexpected T_STRING in /inhalte/index.php on line 10

mmmhhhhh

29 Jojo 26.11.07 um 23:33

Hm. Das hat doch eigentlich mit Wordpress gar nichts zu tun?

30 Toni 27.11.07 um 14:07

mmhhhh, was denkst Du, woran es liegen könnte?

31 Holger Blog 27.11.07 um 14:32

Hallo,

Frage, gibt es mit Google keine Probleme bei einer Weiterleitung einer Unterseite !

Danke und Gruß

32 Jojo 27.11.07 um 15:10

@Toni
Ich kann dein Problem derzeit überhaupt nicht nachvollziehen. Das ganze hat doch mit Wordpress gar nichts zu tun? Wie und wo verwendest du dass denn?

@Holger
Nein. Das entsprechende Unterverzeichnis ist ja durch die robots.txt für Google gesperrt.

33 Net 14.12.07 um 10:23

Vielen Dank für den Code!
Es gibt auch bereits ein fertiges Plugin dafür: http://www.leadbait.de/14.09.2007-wordpress-plugin-hide-affiliate-links-37.html

34 Herbert 25.12.07 um 09:23

Habe deine Seite erst jetzt entdeckt; toller Tipp. Bisher habe ich meine Links immer über Javascript maskiert, was leider etwas fehleranfälliger ist. Dies dürfte die eindeutig sauberere Lösung sein.

35 robert 22.01.08 um 11:19

Merci,
wirklich ein nettes kleines Script!

36 Nicole 28.02.08 um 08:56

Hallo erstmal,
habe da eine Frage, wegen Links maskieren! … und zwar, wie ist das mit den Links? Alle Partnerprogramm-Links auch Text-Links enthalten alle ein “img”, quasi ein Bild, dass auch eine Adresse zum Partner-Programm enthält. Wenn ich nun den Affiliate-Link an einen anderen Ordner weiterleite, dann ist für das Partnerprogramm die Referrer-Url z. B. http://www.meine-domain/click und das Bild beispielsweise http://www.meine-domain/beispiel.php. Die Bilddatei ist ja nicht im Ordner Click enthalten und somit stimmt der “View” mit der “Click”-Adresse nicht überein. Kann es dann sein, dass der Klick dann nicht gezählt wird, wenn beides nicht überein stimmt?

Bitte antwortet mir schnell, da ich gerne die Links maskieren möchte. Es klickt so gut wie keiner auf die unmaskierten Links.

Ach ja, vor kurzem hatte ich für jeden Link eine extra “html”-Datei erstellt und mit meta refresh weitergeleitet, aber irgendwie hatte ich dabei auch das Gefühl, dass die Statistiken im Partnerprogramm nicht mehr so richtig stimmten. Oder irre ich mich da vielleicht?

Grüße Nicole

37 schnäppchenblogger 02.03.08 um 22:03

hallo, das ist eine super Sache, aber leider schwer mit Google zu finden. Bisher kannte ich immer nur den planet-ozh click counter, der leider den Original Link weiterhin anzeigte (und der soll ja maskiert werden) und nur die Clicks zählte. Habe inzwischen eine externe PHP Lösung installiert werde aber bald hierauf umstellen!

38 diqa 03.03.08 um 01:17

@Nicole

Einige PP-Betreiber möchten auch nicht, dass man Links maskiert, sondern möchten, dass deren Links mit unverändertem Code übernommen werden. Somit kann es sein, dass bei einigen PPs die Klicks nicht mehr richtig vergütet werden. Aber den meisten (seriösen) PPs ist das eigentlich egal ob man die Links maskiert.

39 Nicole 12.03.08 um 17:34

Also … jetzt fällt mir so langsam gar nichts mehr ein. Nun hab ich endlich alle oder zumindest zu 99% der Links auf meiner Seite maskiert, was relativ viel Zeit gekostet hat … und jetzt kommt es mir so vor, als ob noch weniger geklickt wird als vorher. Hat jemand längerfristige Erfahrung mit unmaskiert / maskiert zum Vergleich oder wie macht ihr das mit Euren Links?

40 Saler 09.04.08 um 15:11

Funktioniert 1a,

Meine Frage wäre noch ob TrackingCookies und Deeplinks damit auch 1a funktionieren?

Man will ja kein Geld verlieren ;)

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post:

Next post: