Foi falado que um pagina deve ter apenas um h1. Mas e no caso de single pages? Como proceder?
Foi falado que um pagina deve ter apenas um h1. Mas e no caso de single pages? Como proceder?
No caso de Single Page Application, cada view parcial possui seu h1, assim como em uma site tradicional. Contudo, se um indexador de páginas como Bing da Microsoft encontrada uma SPA, ele indexará o conteúdo da página antes da view parcial ter sido renderizada com os dados de uma API e com certeza sua página não será encontrada em buscas pelo Bing.
Já o Google, é inteligente para acessar sua página e indexar o conteúdo JavaScript gerado dinamicamente, o que é bom para SPA. Contudo, o resultado é um tanto imprevisível e, como você pôde ver, o Bing ficaria de fora.
Sendo assim, em SPA, é comum pré-renderizar a view no lado do servidor quando um robô como o Google acessar suas páginas. Isso envolve uma infraestrutura especial e muitas vezes o uso do PhamtonJS, um browser que roda em memória no servidor. Aliás, o desconhecimento desses pormenores é um dos fatores que podem levar uma aplicação SPA aberta ao público e que publica conteúdo ao fracasso.
A boa notícia é que bibliotecas como React e o novo Angular 2 que esta para sair se preocupam com esse detalhe logo de cara e já trazem uma forma padronizada de gerar essa pré-renderização no backend.
Esse é uma assunto interessante.
Segue um link que pode lhe ser útil:
http://blog.caelum.com.br/angularjs-seo-google-analytics-e-virtual-pages/
Entendi. Foi bastante rico seu comentário no caso de eu estar desenvolvendo uma single page aplication. Mas e no caso de eu precisar apenas de um site simples, digamos, com cinco links que são ancoras para secoes diferentes da mesma pagina? Os titulos das seções devem ser h1? Eu trabalho com o angular atualmente para desenvolver uma aplicação na web, onde nem nos preocupamos com SEO. O que eu estou querendo agora é desenvolver uma página simples para apresentar um produto / serviço. Nesse caso, não pretendo usar o angular para isso.
Em teoria cada página deve ter um h1, mas há exceções. Se você usa a tag article
, nela é permitido usar h1, pois a tag article
é uma unidade de informação confinada dentro de uma página.
Se você para seções diferentes dentro da mesma página, você pode usar <h2>
.
Não sou especialista em SEO, sendo assim, vamos ver se alguém se manifesta. Mas a lógica é a seguinte: se você tem uma página, você tem um topico ou assunto bem definido, sendo assim, usa um h1 para explicitar do que ela se trata. Se ela possui seções, usasse h2 e por aí vai, pois são subtítulos de uma página. É igual abrir um livro, eu vejo o título principal do capítulo que dá uma ideia geral, e lá dentro eu tenho subtítulos.