Skip to content

Instantly share code, notes, and snippets.

@Willianvdv
Last active August 29, 2015 13:55
Show Gist options
  • Save Willianvdv/8729043 to your computer and use it in GitHub Desktop.
Save Willianvdv/8729043 to your computer and use it in GitHub Desktop.
Phanton4Steven
/**
* Dit script wordt aangeroepen om een server side versie van de opgevraagde pagina op te leveren.
* Hiervoor wordt gebruikt gemaakt van de headless browser phantomjs.
*
* Alle relative #! urls (zoals bv #!/veilingen/376/kavels/428) worden eerst omgezet naar een absolute
* URL zodat er geen links ontstaan zoals:
*
* https://onlineveilingmeester.nl/seo/?_escaped_fragment_=/kavels?categorie=108#!/veilingen/376/kavels/428
*/
var page = require('webpage').create();
// In plaats van een reguliere callback functie
// is dit een flag om vanuit de gerenderde pagina
// te controleren of de pagina is gerendered door
// phantomJS. In dat geval wordt er geen page view
// naar Google Analytics gestuurd.
page.onCallback = true;
page.open(phantom.args[0], function (status) {
if (status !== 'success') {
console.log('Unable to access network');
} else {
var p = page.evaluate(function () {
// alle #! links converteren naar absolute urls
$('a[href^="#!"]').each(function() {
$(this).attr('href', function(index, value) {
return 'https://' + window.location.hostname + '/nl/' + value;
});
});
$('div.content').attr('id', 'content');
// canonical href aanpassen naar eigen pagina.
$('link[rel^="canonical"]').attr('href', window.location);
// resultaat html in p stoppen
return document.getElementsByTagName('html')[0].innerHTML;
});
// return uitvoer
setTimeout(function() {
console.log(p);
}, 15000);
}
phantom.exit();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment