Ausgehende Links maskieren und verfolgen

Ich erstelle eine WordPress-Website für einen Kunden.

Mein Ziel :

Die Website enthält Links zu Produkten verschiedener Websites. Diese Links sind tatsächlich Affiliate-Links für Websites und Dienste. Diese Links müssen in http://www.example.com/go/123 oder etwas ähnliches konvertiert werden und wenn sie angeklickt werden, werden sie auf den tatsächlichen Link umgeleitet. Die nächste Anforderung wäre die Verfolgung der Anzahl ausgehender Links.

Können Sie, WordPress-Experte lassen Sie mich über jedes Plugin, das die Arbeit machen würde, oder sogar eines der Dinge, die ich will.

Ich habe auch diese Website sowie Plugins-Verzeichnis auf wordpress.org durchsucht, aber kein passendes Plugin gefunden.

Solutions Collecting From Web of "Ausgehende Links maskieren und verfolgen"

Ich würde etwas wie Google Analytics das Tracking für Sie mit etwas wie Ereignisverfolgung machen lassen. Schauen Sie sich das Google Analytics-Plugin von Yoast an, damit können Sie das ganz einfach tun.

Andernfalls wäre etwas wie Umleitung zum Erstellen von Weiterleitungen nützlich. Und natürlich können Sie sehen, wie oft jedes Mal geklickt wurde. Ich benutze das Plugin seit Jahren und es ist ziemlich gut.

Wenn Sie etwas automatisch ausführen möchten, müssen Sie eine benutzerdefinierte Rewrite-Regel und eine Abfragevariable erstellen:

< ?php add_action( 'init', 'wpse36168_add_rewrite_rule' ); /** * Add our rewrite rule */ function wpse36168_add_rewrite_rule() { add_rewrite_rule( '^go/(.*?)$', 'index.php?go=$matches[1]', 'top' ); } add_filter( 'query_vars', 'wpse36168_add_go_var' ); /** * Tell WP not to strip out or "go" query var */ function wpse36168_add_go_var( $vars ) { $vars[] = 'go'; return $vars; } 

Dann haken Sie sich in template_redirect um Personen an die andere URL zu senden, wenn diese Abfragevariable abgefangen wird.

 < ?php add_action( 'template_redirect', 'wpse36168_catch_external' ); /** * Catch external links from our "go" url and redirect them */ function wpse36168_catch_external() { if( $url = get_query_var( 'go' ) ) { wp_redirect( esc_url( $url ), 302 ); exit(); } } 

Und schließlich können Sie sich in the_content , um alle externen Links automatisch durch die Links von the_content zu ersetzen.

 < ?php add_filter( 'the_content', 'wpse36168_replace_links', 1 ); /** * Replace external links with our "go" links */ function wpse36168_replace_links( $content ) { $content = preg_replace_callback( '%%i', 'wpse36168_maybe_replace_links', $content ); return $content; } function wpse36168_maybe_replace_links( $matches ) { if( ! preg_match( sprintf( '#^%s#i', home_url() ), $matches[1] ) ) { $url = $matches[1]; // http:// we'll add it later $url = str_replace( 'http://', '', $url ); $url = sprintf( '/go/%s', $url ); return str_replace( $matches[1], home_url( $url ), $matches[0] ); } else { return $matches[0]; } } 

Hier ist all das Chaos als Plugin .