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í.