Como você diz aos mecanismos de pesquisa para não indexar esta página ainda, mas talvez no futuro?

8

A empresa em que trabalho possui um sistema de gerenciamento de conteúdo que cria páginas automaticamente para determinado conteúdo.

Por exemplo, existe uma página em nosso sistema que tem a capacidade de mostrar informações sobre qualquer compositor em nosso banco de dados, dependendo dos parâmetros de entrada e das informações que temos sobre eles. No entanto, de vez em quando, há um compositor que não possui nenhuma informação; portanto, a página renderiza uma página em branco. Como podemos dizer ao Google para não indexar a página naquele momento, mas talvez em algum momento no futuro?

Como o conteúdo é gerado automaticamente, não podemos impedir que as páginas fiquem visíveis, pois as informações sobre esse compositor podem aparecer a qualquer momento.

Editar

Observe que nosso sistema CMS que realiza a busca é seriamente complicado e profundo. A parte do conteúdo da página retornará algum tipo de dados, portanto, executar um empty($content) ? xx : yyconforme sugerido não é uma solução rápida. Se um compositor não existir, o sistema não terá uma página para o compositor; se o compositor existir, o sistema existirá. Quando a página desse compositor é renderizada, o sistema pesquisa todos os tipos referentes a compositores, como obras, para criar uma página dinâmica.

Luke Madhanga
fonte
2
O que exatamente você quer dizer com "página em branco"? Você quer dizer que literalmente nenhum HTML é enviado? Ou você tem o design básico do 'shell', mas sem conteúdo?
usar o seguinte

Respostas:

13

Se não houver conteúdo para um compositor específico, use a metatag:

<meta name="robots" content="noindex, follow">

Assim que o conteúdo for adicionado e a metatag for removida, o Google o indexará.

Exemplo:

<?php if(empty($composerInfoArray)): ?>
    <meta name="robots" content="noindex, follow">
<?php endif; ?>
Wexford
fonte
11
FWIW "follow" é o comportamento padrão, você pode removê-lo se quiser (não causa nenhum problema e talvez seja mais para os humanos que o leem, para que você também possa deixá-lo).
9118 John Mueller
4

Se as páginas "ausentes" realmente não contêm informações reais, mas são simplesmente espaços reservados para "pode ​​haver uma página aqui no futuro", eu recomendaria configurar o servidor da Web para retornar o código de status 404 Não Encontrado .

Os navegadores ainda mostrarão essas páginas para o usuário, assim como mostram as páginas de erro 404 normais (pelo menos enquanto forem longas o suficiente ), mas os mecanismos de pesquisa simplesmente tratam a página como se ela não existisse.

Este é o método usado, por exemplo, na Wikipedia, para páginas inexistentes como esta . Uma de suas vantagens (além de ser, sem dúvida, semanticamente correta) é que garante que os mecanismos de pesquisa tratem essas páginas exatamente da mesma maneira que normalmente tratam as páginas ausentes que retornam um código de status 404.

Uma desvantagem potencial é que, se você tiver links para páginas que retornam um código de status 404, elas aparecerão como "erros 404", por exemplo, nas Ferramentas do Google para webmasters. No entanto, isso é perfeitamente normal, e não é algo para se preocupar .


Para ajudar ainda mais os mecanismos de pesquisa a descobrir suas novas páginas, quando eles obtêm algum conteúdo real e param de retornar 404s, você também deve manter um sitemap XML atualizado regularmente, listando todas as páginas do seu site que possuem conteúdo. Isso permite que o Google e outros mecanismos de pesquisa descubram novas páginas diretamente pelo mapa do site, em vez de precisar encontrá-las aleatoriamente enquanto rastreiam novamente o site.

Ps. Veja também: Não é página de índice que não possui conteúdo relevante?

Ilmari Karonen
fonte
Karenon, retornar um 404 é igual a não fazer nada, isso é comportamento comum do servidor da Web; O exemplo da Wikipedia é apenas uma página 404 personalizada.
Binarysurf
11
@Binarysurf: De acordo com o OP, eles estão usando um script personalizado para veicular conteúdo dinâmico para "páginas virtuais" construídas a partir de informações armazenadas em um banco de dados (assim como a Wikipedia, o SE e a maioria dos sites importantes atualmente). Isso significa que "o comportamento regular do servidor da Web" não se aplica - no que diz respeito ao servidor da Web (Apache, IIS, nginx etc.), o script de geração de conteúdo existe e é executado, sendo o padrão " 200 OK ", a menos que o script diga o contrário. Estou apenas sugerindo que o OP deve fazer o seu script de enviar uma resposta 404, se não houver nenhum conteúdo real para mostrar.
Ilmari Karonen
existe um script personalizado recuperando dados do compositor do banco de dados, e se o nome de alguém não estiver lá? usando a lógica, o script não obterá registros do banco de dados, o que deve fazer? talvez ele envie 404 não encontrado. Se o script encontrou algo, talvez apenas metadados (o nome dele) e nenhum outro dado, ele enviará 200 e uma página com conteúdo vazio. Mesmo que ele tenha um script personalizado, ele seguirá o comportamento do servidor da Web padrão? Ou responderá 200 para cada solicitação? Ficará com spam, sem foco específico no conteúdo.
Binarysurf
Quando estiver executando um script, o script é responsável por enviar o código de status, e o código correto para enviar quando uma consulta não tem resultado é 404.
Wossname
1

Pessoalmente, eu criava uma mensagem no sistema que informava ao usuário que, embora sua solicitação fosse concluída, não foram encontrados compositores para os parâmetros fornecidos. Isso evitará que o usuário pense que a página / link está "corrompido".

caoskreator
fonte
1

Se a página não tiver conteúdo, seu sistema CMS não deverá estar vinculado a ela. Vincular a páginas em branco é ruim para usuários e mecanismos de pesquisa.

Gosto da sugestão de Wayne Whitty sobre como colocar a meta tag na própria página do compositor. Você deve encontrar uma maneira de fazer algo semelhante no local em que lista todos os compositores e vincula-os a eles:

<?php foreach ($composers as $composer) {
    if ($composer->countCount > 0)
         print "<li><a href=\"$composer->url\">$composer->name</a></li>";
    } 
} ?>

Se você fizer isso, os mecanismos de pesquisa não encontrarão mais as páginas em branco para começar.

Stephen Ostermiller
fonte
11
... ou seja, a menos que haja algo significativo que os usuários possam fazer, mesmo com uma página "em branco", como fornecer informações para ela. (Mesmo assim, pode ser melhor não vincular diretamente à página em branco, mas a algum URL diferente que indique a (possível) ausência de dados. Observe que você precisará lidar com o caso extremo em que o usuário segue tal ligação após a página foi recentemente criada; ver, por exemplo como Wikipedia faz isso ).
Ilmari Karonen