O Google Tag Manager é uma ferramenta fantástica para dar aos profissionais de SEO a flexibilidade de testar modificações de SEO em elementos como meta descrições, dados estruturados e tags canônicas.
Tenha em mente que essas mudanças devem ser temporárias e, em algum momento, implementadas pela equipe de desenvolvimento.
Tags injetadas por JavaScript são consideradas menos confiáveis, e há uma chance considerável de que o Google as ignore.
Também é importante saber que quanto mais pesado for o conteúdo em JavaScript, mais tempo levará (se é que será) para que suas alterações de SEO sejam indexadas pelo Google.
Modificar a title
Você pode fazer testes de SEO divididos nas meta tags de título usando o Google Tag Manager. Melhor ainda, você pode implementar meta tags dinâmicas no seu site para fins de teste de SEO dividido.
<script>
document.title = "Your Meta Title";
</script>
Modificar a meta Description
Use este script para modificar sua meta descrição.
<script>
var metaRobots = document.querySelector('meta[name="description"]');
if (!metaRobots) {
metaRobots = document.createElement('meta');
metaRobots.setAttribute('content', 'Your meta description');
document.head.appendChild(metaRobots);
}
metaRobots.setAttribute('content', 'Your meta description');
</script>
Modificar o link Canonical
Há um ótimo post no Moz que mostra como inserir rel=canonical no seu site usando o Google Tag Manager.
O único problema que vi na solução deles é que ela insere o rel=canonical, mas não remove aquele que já estava lá, resultando em duas tags canônicas na mesma página.
Se, para fins de teste, você deseja modificar a tag canônica, deve usar este script ao criar sua tag.
<script>
document.querySelector("link[rel='canonical']").setAttribute("href", {{Page URL Canonical}});
</script>
No entanto, essa não é uma maneira adequada de implementar canonical, porque não significa que outros mecanismos de busca serão capazes de ler sua tag.
Essa tag foi implementada via JavaScript. Isso significa que a antiga tag canônica ainda está sendo carregada primeiro via HTML e depois alterada quando o Googlebot retorna para rastrear o JavaScript.
Por exemplo, eu tinha URLs relativas usadas para canonical, e queria ver o impacto de mudá-las para URLs absolutas.
Inseri o novo canonical e fiz o teste.

Funcionou!
Por exemplo, eu tinha URLs relativas usadas para canonical, e queria ver o impacto de mudá-las para URLs absolutas.

É por isso que é bom para fins de teste, mas, quando terminar, certifique-se de que os canônicos estão implementados corretamente e não enviados via Google Tag Manager.
Adicionar um script no head
Quando você simplesmente adiciona uma tag de HTML personalizada no Google Tag Manager, ela será adicionada ao corpo da página. Para adicionar um script entre as tags de abertura e de fechamento do HTML, você precisa criar uma função.
<script>
(function() {
var s = document.createElement('script');
s.innerHTML = "function(){//create your own function here};";
document.head.appendChild(s);
})();
</script>
Adicionar uma tag de stile ao head
Da mesma forma, você pode adicionar uma tag de estilo ao cabeçalho da sua página.
<script>
(function() {
var s = document.createElement('script');
s.innerHTML = "function(){//create your own function here};";
document.head.appendChild(s);
})();
</script>
Adicionar noindex a uma página
<script>
var metaRobots = document.querySelector('meta[name="robots"]');
if (!metaRobots) {
metaRobots = document.createElement('meta');
metaRobots.setAttribute('content', 'noindex');
document.head.appendChild(metaRobots);
}
metaRobots.setAttribute('content', 'noindex');
</script>
Adicionar nofollow a links externos
Se você quiser testar se adicionar nofollow a links externos é bom para o desempenho de SEO, pode fazê-lo usando este script.
Basta escolher todas as páginas onde gostaria de executá-lo como gatilho.
<script>
function toNofollow() {
var x = document.getElementsByTagName("a");
var i;
for (i = 0; i < x.length; i++) {
if (location.hostname!=x[i].hostname){
x[i].rel = "nofollow";
}}}
mft=setTimeout("toNofollow()",0);
function LoadEvent(func){
var oldonload = window.onload;
if (typeof window.onload != 'function'){
window.onload = func;
}
else{
window.onload = function()
{
if(oldonload)
{oldonload();}
func();}}}
LoadEvent(function(){
toNofollow();
});
</script>
Converter URLs relativas em absolutas
Se o site foi desenvolvido usando URLs relativas (/caminho-da-página) em vez de URLs absolutas (https://www.exemplo.com/caminho-da-página), você pode acabar com um problema em que o Google não consegue ler seus canônicos.

Para modificar isso para todas as suas páginas, você precisa ativar a variável interna “Nome do Host da Página”.
Vá para Variáveis > Variáveis Internas > Configurar e clique na caixa de seleção Nome do Host da Página.

Em seguida, crie outra variável para a tag alternativa atual em sua página.
Vá para Variáveis > Variáveis Definidas pelo Usuário > Nova e selecione JavaScript Personalizado como o tipo de variável.
function myFunction(){
a=document.querySelector("link[rel='canonical']").getAttribute('href');
return a;
}

Agora, você pode criar uma nova Tag para modificar seu Canonical Relativo para uma URL Absoluta. Vá para Tags > Nova > HTML Personalizado e adicione este script.
<script>
var s = document.querySelector("link[rel='canonical']");
if (!s) {
s = document.createElement('link');
s.setAttribute('rel', 'canonical');
s.setAttribute('href', 'https://{{Page Hostname}}{{Page Path}}');
document.head.appendChild(s);
} else {
s.setAttribute('href', "https://{{Page Hostname}}{{Current canonical}}"); }
</script>

Este conteúdo foi traduzido e adaptado por JC Chouinard.