Autolink de palavras-chave (perfeito para afiliados)

Como uma das minhas formas de monetização é a divulgação de links de afiliados, procuro sempre um jeito de automatizar esta função nos meus sites.

No WordPress, tem-se plugins como Thirsty Affiliates e SEO Smart Links que identificam palavras-chave e atribuem o link que você definiu no painel.

Mas alguns sites não tem esta funcionalidade nem plugins ou addons que facilitem o serviço. E para não ficar sem esta funcionalidade, encontrei um jeito usando jQuery. No caso, eu usava este código no meu fórum IPB até que encontrei um plugin que faz o serviço (Custom Links). Mas fica a dica, que deve funcionar em qualquer plataforma, basta ter acesso ao código fonte.

A lógica

Eu precisava que sempre que apareça a palavra cloud, por exemplo, ela vire “automagicamente” um link para a Digital Ocean.

Logo, cloud viraria <a href="https://netmundo.com.br/link/digitalocean">cloud</a>.

Mas eu não quero que ele seja linkado em toda página, apenas no conteúdo principal.

O código é simples, mas funciona. Com certeza, deve haver jeito melhor de fazer isso – jQuery não é meu forte, mas ele me serviu bem. Segue o código comentado:

<script type="text/javascript">
(function($) {
 $.fn.replacetext = function(target, replacement) {
 var $textNodes = this
 .find("*")
 .andSelf()
 .contents()
 .filter(function() {
 return this.nodeType === 3 && 
 !$(this).parent("a").length;
 });
 $textNodes.each(function(index, element) {
 var contents = $(element).text();
 contents = contents.replace(target, replacement);
 $(element).replaceWith(contents);
 });
 };
})(jQuery);
$("div.conteudo p").replacetext("cloud","<a href=\"https://netmundo.com.br/link/digitalocean\">cloud</a>");
$("div.conteudo p").replacetext("vps","<a href=\"https://netmundo.com.br/link/digitalocean\">vps</a>");
</script>

Você deve identificar a ID ou classe da div dentro da qual o conteúdo vai estar. No meu caso, era uma div cuja classe era .conteudo, mas dentro apenas do parágrafo.

Você deve repetir a última linha quantas vezes desejar trocando a palavra-chave que quer atingir: .replacetext("palavra-chave").

É isso aí.

Deixe um comentário