Reputation: 4202
I'm wanting to create a widget for Adobe Muse that replaces the canonical tags that Muse automatically generates.
I know that this will not work with most bots because they don't run any scripts when crawling pages, but I have read that Google's bot does run scripts when it crawls.
I found many questions on how to replace the href from a links but I couldn't seem to find any questions on replacing the href URL of a canonical tag. I'm almost positive this is where I start... I just don't know how to finish it:
<script>
$(document).ready(function() {
$('link[rel=canonical]').attr('href' 'NEW_LINK');
}
</script>
Upvotes: 8
Views: 15598
Reputation: 31
This is the version that worked for me in TypeScript/ReactJS:
document.querySelector('link[rel="canonical"]')?.setAttribute("content", "NEW_HREF_GOES_HERE");
Upvotes: 0
Reputation: 8412
And for those who are fans of vanilla JS:
const canonical = document.querySelector('link[rel="canonical"]');
if (canonical !== null) {
canonical.href = 'NEW_HREF_GOES_HERE';
}
If cross-browser compatibility is important, and you're not using a transpiler, change const
to var
.
Upvotes: 10