I wanted to replace match text to html link in content area in each post on WordPress site.

I implemented that by JavaScript as follows.


  var selector = `article p` ;

  for (i = 0; i < document.querySelectorAll( selector ).length; i++){
    if ( document.querySelectorAll( selector )[i].innerText.match(/(vpn|VPN)/) !== null ){
      var term = document.querySelectorAll( selector )[i].innerText.match(/(vpn|VPN)/)[1]
      document.querySelectorAll( selector )[i].innerHTML = document.querySelectorAll( selector )[i].innerHTML.replace( term ,`<a href="https://yuis-programming.com/vpn">${term}</a>`)


As you can see the one replace plain HTML text with p tag for hyperlink with dofollow.

So, this is my question. Does such JavaScript work correctly for SEO?

  • Do you care much about minor search engines other than Google (like Bing)? – Stephen Ostermiller Jan 14 at 12:01
  • A little, not so much. – igar Jan 14 at 14:39

Google can't see some JavaScript links, so you need to be careful.

Which links does Google index?

<a href=”/good-link”>Will be crawled</a> 

This is a regular a href link that will be crawled by Google.

<span onclick=”changePage(‘bad-link’)”>Not crawled</span> 

Google will not crawl this link because it is not an anchor.

<a onclick=”changePage(‘bad-link’)”>Not crawled</a> 

This link is in an anchor, but it does not use the href attribute. That’s why Google won’t crawl it.

<a href=”/good-link” onclick=”changePage(‘good-link’)”>Will be crawled</a> 

This link will be crawled by Google because it is an anchor with a href attribute.


|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.