É possível usar JavaScript para alterar as metatags da página?

Se eu colocar um div na cabeça e exibir: nenhum, do que usar JavaScript para exibi-lo, isso funcionará?

Editar:

Eu tenho coisas carregadas em AJAX. E como meu AJAX muda a parte “principal” do site, também quero alterar as metatags.

Sim, você pode fazer isso.

Existem alguns casos de uso interessantes: Alguns navegadores e plugins analisam meta-elementos e alteram seu comportamento para valores diferentes.

Exemplos

Skype: Desligue o analisador de números de telefone

 

iPhone: Desligue o analisador de números de telefone

  

Frame do Google Chrome

  

Definição de viewport para dispositivos móveis

  

Este pode ser alterado pelo JavaScript. Veja: Uma correção para o erro de escala da viewport do iPhone

Meta Descrição

Alguns agentes do usuário (o Opera, por exemplo) usam a descrição para marcadores. Você pode adicionar conteúdo personalizado aqui. Exemplo:

  Test     

Então, não é apenas sobre mecanismos de busca.

Você usaria algo como (com jQuery):

 $('meta[name=author]').attr('content', 'New Author Name'); 

Mas isso seria inútil, já que as metatags geralmente só são copiadas quando o documento é carregado, geralmente sem executar nenhum JavaScript.

Sim.

Por exemplo, para definir a meta-descrição:

 document.querySelector('meta[name="description"]').setAttribute("content", _desc); 

Você pode alterar meta com, por exemplo, chamadas de jQuery, como estas:

 $('meta[name=keywords]').attr('content', new_keywords); $('meta[name=description]').attr('content', new_description); 

Eu acho que importa por agora, desde que o Google disse que eles irão indexar o conteúdo do ajax através de #!hashes _escaped_fragment_ e chamadas _escaped_fragment_ . E agora eles podem verificá-lo (mesmo automaticamente, com navegadores sem cabeça, veja o link ‘Criando Instantâneos de HTML’ na página mencionada acima), então eu acho que é o caminho para os caras hardcore de SEO.

Deve ser possível assim (ou use jQuery como $('meta[name=author]').attr("content"); ):

   Meta Data          

meta tags são parte do dom e podem ser acessadas e -i-guess- alterado, mas os mecanismos de busca (os principais consumidores de metatags) não verão a mudança, pois o javascript não será executado. Então, a menos que você esteja alterando uma metatag (a atualização vem à mente), o que tem implicações no navegador, isso pode ser de pouca utilidade?

 $(document).ready(function() { $('meta[property="og:title"]').remove(); $('meta[property="og:description"]').remove(); $('meta[property="og:url"]').remove(); $("head").append(''); $("head").append(''); $("head").append(''); }); 
 var metaTag = document.getElementsByTagName('meta'); for (var i=0; i < metaTag.length; i++) { if (metaTag[i].getAttribute("http-equiv")=='refresh') metaTag[i].content = '666'; if (metaTag[i].getAttribute("name")=='Keywords') metaTag[i].content = 'js, solver'; } 

É definitivamente possível usar o Javascript para alterar as metatags da página. Aqui está uma abordagem somente JavaScript:

 document.getElementsByTagName('meta')["keywords"].content = "My new page keywords!!"; document.getElementsByTagName('meta')["description"].content = "My new page description!!"; document.title = "My new Document Title!!"; 

Verifiquei que o Google indexa essas alterações no lado do cliente para o código acima.

Não, um div é um elemento do corpo, não um elemento de cabeça

EDIT: Em seguida, a única coisa que SEs vai obter é o HTML base, não o modificado ajax.

Sim, é possível adicionar metatags com Javascript. Eu fiz no meu exemplo

Android não respeitando a remoção de metatag?

Mas eu não sei como alterá-lo e depois removê-lo. Btw, no meu exemplo .. quando você clica no botão ‘ADD’ adiciona a tag e as mudanças de viewport respectivamente, mas eu não sei como reverter isso (removê-lo, no Android) .. Eu gostaria que houvesse firebug para Android assim Eu vi o que estava acontecendo. O Firefox remove a tag. Se alguém tiver alguma ideia sobre isso, por favor, note isso na minha pergunta.

simples add e div atribute para cada exemplo de meta tag

    

Agora, como a mudança div normal para ex. n clique

 Change Meta Tags 

Tags de mudança de function com jQuery

 function changeTags(){ $("#mtlink").attr("content","http://albup.com"); $("#mtdesc").attr("content","music all the time"); $("#mtkwrds").attr("content","mp3, download music, "); } 

tem isso no índice

  

tem isso em ajaxfiles og: digite “og: title” og: description e og: image

e adicione isso também

  

em seguida, adicione js após o ajaxCall

 FB.XFBML.parse(); 

Edit: Você pode, em seguida, exibir o título correto e imagem para facebook em txt / php doubles (os meus são apenas chamados .php como extensões, mas são mais arquivos txt). Eu, então, tenho as metatags nesses arquivos e o link de volta ao índice em cada documento, também um link meta no arquivo de índice para cada subarquivo.

Se alguém souber uma maneira melhor de fazer isso, eu apreciaria quaisquer adições 🙂

Isto parece estar funcionando para um aplicativo rigidamente geometricamente definido, onde ele precisa rodar tanto em navegadores móveis quanto em outros navegadores, com poucas mudanças, para encontrar o status do navegador móvel / não móvel e para celulares que definem a porta de visualização como largura do dispositivo. Como os scripts podem ser executados a partir do header, o js no header abaixo parece alterar a metatag para largura do dispositivo Antes que a página seja carregada. Pode-se notar que o uso de navigator.userAgent é estipulado como experimental. O script deve seguir a input da metatag a ser alterada, portanto, é necessário escolher algum conteúdo inicial e, em seguida, alterar em alguma condição.

    

. . . . . .