How to see which links have been created or altered by JavaScript

This is to do with webpages that alter the HTML during rendering, and specifically ones that change internal links, with JavaScript.

When you crawl with the Chrome Crawler, Sitebulb will render the DOM and parse the rendered HTML. It will also go and grab the source HTML (as in, before JavaScript might have changed anything) and compare all the links between the two.

This allows Sitebulb to identify all links that have been affected by JavaScript, and surface these via the Response vs Render report:

Links changed by JavaScript

Clicking through any of the chart segments, or the linked numbers in the data table underneath, will show you the link data via the Link Explorer, which includes the column 'JavaScript Status':

JavaScript Links in link explorer

The options we have for this column are as follows:

  • Created - the link was not found in the response HTML, so it appears that JavaScript created it.
  • Modified - the link was found in the response HTML, however JavaScript has modified either the anchor text or the href URL.
  • No - not added or altered by JavaScript at all.

So the Link Explorer allows you to interrogate the data en masse, and if you want to zone in on particular URLs or particular links, you can also see the data listed on the URL Details page. 

On both the outgoing links:

Outgoing JavaScript links

And on the incoming links:

Incoming JavaScript links

JavaScript links are also surfaced in the Links report itself, in the data tables below:

JavaScript Links

Independent of any audit, if you want to evaluate a single page, this data is also available in the Single Page Analyser:

Single Page Analyser - JavaScript links