Como ocultar meu Sitemap XML dos concorrentes, mas não dos mecanismos de pesquisa

10

Quero ocultar meu arquivo XML do mapa do site de todos, mas permitir o acesso dos mecanismos de pesquisa.

Qual é a maneira de fazer isso?

Quero ocultar a profundidade do conteúdo do site dos concorrentes.

AgA
fonte
11
Se o site e suas páginas não estiverem protegidos com usuário e senha, qualquer pessoa poderá navegar neles, basta seguir os links em seu próprio site.
PatomaS 26/03
Posso verificar o IP do bot do Google e permitir e negar a outros. Embora não possamos obter a lista completa de IPs do Googlebot.
AgA 26/03

Respostas:

8

A primeira etapa seria detectar o User Agent dos bots que você deseja permitir e fornecer um arquivo diferente se não for um User Agent que você deseja permitir.

Por exemplo, você pode ter duas versões robots.txt, uma com e outra sem uma referência ao mapa do site, para que seus concorrentes não encontrem o site se olharem dentro do seu robots.txt.

Em seguida, você pode detectar visitas ao URL do mapa do site e veicular o mapa do site apenas quando o UA estiver correto. Se você exibir uma página 404 genérica de outra forma, seus concorrentes talvez nem saibam que seu mapa do site existe.

No entanto, todas as medidas descritas até este ponto são meramente segurança através da obscuridade. Um agente do usuário pode ser facilmente falsificado.

Portanto, o Google recomenda que, para detectar o GoogleBot real, você:

  1. Faça uma pesquisa DNS reversa para o endereço IP que afirma ser o GoogleBot.
  2. Verifique se o host é um subdomínio de googlebot.com..
  3. Execute uma pesquisa de DNS normal para o subdomínio.
  4. Verifique se o subdomínio aponta para o endereço IP do bot que está rastreando seu site.

Resumindo:

Fluxograma (quando mostrar o mapa do site)

A Microsoft recomenda usar o mesmo procedimento para detectar o rastreador.

Esse truque funciona para o Yahoo! também.

Para DuckDuckGo, você pode usar esta lista de endereços IP

Nota

Você não precisa usar um erro 404 se usar a detecção de aranha com base na pesquisa de DNS.

O objetivo de usar a página de erro 404 é ocultar a existência do seu mapa do site. No entanto, se você estiver usando a técnica mais avançada, que não depende apenas de User-Agentcabeçalhos, não será possível contorná-la para poder usar com segurança um código de erro diferente, como 403 Forbiddeno código de erro correto a ser usado aqui.

user2428118
fonte
6

O problema é que, se você (com toda a razão) deseja que seu conteúdo seja indexado pelos mecanismos de pesquisa, qualquer pessoa que execute um site: a pesquisa em um dos mecanismos de pesquisa poderá ver quais URLs estão indexados.

Se você deseja "ocultar" o seu mapa do site, você pode colocá-lo em um URL com um nome "secreto", para que não seja óbvio para qualquer pessoa que o esteja procurando, mas considerando a melhor prática incluir um mapa do site no robots.txt arquivo e faça o upload para um dos perfis das ferramentas para webmasters dos mecanismos de pesquisa, como outras pessoas disseram, é difícil entender por que você precisaria fazer isso.

user3336644
fonte
No caso das Ferramentas do Google para webmasters / Search Console, você nem precisa fazer o upload. Você pode apenas adicionar um URL do sitemap oculto uma vez e ele continuará a usá-lo.
Devabc
4

A solução esperta é gerar dois sitemaps. O primeiro deles é para o benefício de seus concorrentes e o segundo é para o benefício de seus mecanismos de pesquisa preferidos. No jargão militar, este primeiro mapa do site é uma simulação.

O 'finta' contém a estrutura básica do site, a página inicial, entre em contato conosco, sobre nós, as principais categorias. Parece o negócio real e funcionará muito bem em mecanismos de pesquisa obscuros dos quais você não se importa. Também não será útil para seus concorrentes. Permita que ele seja indexado para que eles o encontrem, dê um nome óbvio como sitemap.xml.

Agora crie seu sitemap real com código. Atribua a ele um nome como 'product-information-sitemap.xml', para que ele seja um nome sensato, mas não muito mais fácil de adivinhar do que sua senha.

Na sua configuração do apache para a pasta sitemap, coloque algo no lugar para que este segundo sitemap possa ser acessado pelos mecanismos de pesquisa, mas não indexado:

<IfModule mod_rewrite.c>
    <Files product-information-sitemap.xml>
        Header set X-Robots-Tag "noindex"
    </Files>
</IfModule>

Agora crie o código para mantê-lo atualizado, considere um terceiro mapa do site para imagens. Faça o upgrade conforme necessário para criar a 'simulação'. Preste atenção também aos carimbos de data e hora, o Google presta atenção a eles e isso é importante se o seu mapa do site for grande.

Agora crie um trabalho 'cron' para enviar o sitemap de seus produtos para o Google regularmente. Na entrada do seu crontab, adicione algo assim para enviar seu mapa do site real toda semana:

0 0 * * 0 wget www.google.com/webmasters/tools/ping?sitemap=http%3A%2F%2Fwww.example.com%2Fsitemaps%2Fproduct-information-sitemap.xml

Observe que o URL é codificado.

Você também pode compactar o zip com o mapa do site se o tamanho for um problema, embora o servidor da web deva veicular esse compactado com o zip, se você tiver ativado.

O seu robots.txt não precisa ser nada de especial, contanto que não impeça a entrada nos mapas do site, tudo ficará bem. Realmente não há necessidade de enviar diferentes arquivos robots.txt com base nas seqüências de caracteres do agente do usuário ou em algo tão complicado. Basta colocar seu precioso conteúdo em um arquivo suplementar não anunciado e enviá-lo ao Google em um trabalho cron (em vez de esperar pelo bot). Simples.

Teodoro
fonte
0

Não vejo por que uma estrutura de um site poderia causar problemas a um concorrente?

O objetivo do sitemap é indexar as páginas, para que as pessoas possam encontrá-las mais facilmente, o que, até certo ponto, deve revelar como o site está organizado, como:

  • /news/ contém seus artigos de notícias
  • /forum/ é onde todas as discussões do fórum são

Esses serão indexáveis, para obter mais tráfego e apresentar informações.

As pastas que você não deseja ter o índice são como

  • Classes e funções PHP que permitem que um site funcione
  • Imagens de site, CSS, pastas JavaScript
  • Painel de Administração

Então, se for esse o caso, eles não devem estar no seu mapa do site. Além disso, você também pode excluir os da indexação.

Zistoloen
fonte
0

Se você possui os endereços IP dos bots que deseja permitir:

<Limit GET POST PUT>
order deny,allow
deny from all
allow from 192.168.1.1 # IP 1
allow from 192.168.1.2 # IP 3
allow from 192.168.1.3 # IP 2
</LIMIT>

Se você desejar com base na sequência do agente do usuário:

Order Allow,Deny
allow from env=good_bot_1
allow from env=good_bot_2
Martijn
fonte
Lista completa de endereços IP do Google, o Bing é secreto. Eles não divulgarão isso para o mundo, pois representa um grande risco de ocultar os sites.
AgA 23/04
E é por isso que eu adicionei a segunda possibilidade :) Em nome é muito mais fácil, mas queria dar uma resposta cabal
Martijn
0

Uma maneira de tentar: em uma sessão normal de rastreamento, os bots do Google acessam o robots.txt e depois vão para o arquivo do mapa do site. Envie um cookie para todas as porções de robots.txt e permita o acesso ao mapa do site apenas para as pessoas com o cookie. Haverá o problema quando os robôs do Google não aceitarem cookies. Então faça o contrário. Envie um cookie quando um usuário acessa uma página que não seja o robots.txt e nega acesso ao mapa do site para aqueles que possuem o cookie. Além disso, forneça um nome embaralhado para o seu sitemap, algo que muda com o tempo e o torna impossível de adivinhar. Se seus concorrentes tiverem os cookies ativados no navegador, será extremamente difícil para eles acessar o mapa do site, a menos que sigam o caminho exato que um mecanismo de pesquisa está seguindo.

Rana Prathap
fonte
0

Suponho que entendi corretamente sua exigência e demonstro coragem para responder.

forneça um link de imagem para o seu sitemap antes da sua </html>tag. Use um arquivo gif transparente de 1px:

<a href="sitemap.xml"><img src="transparent.gif" alt="" height="1" width="1" /></a>

Na página que possui o link do seu sitemap, defina seu metatag relacionado:

<meta name="robots" content="{index or noindex},follow">

verifique o estado visual ao pressionar Ctrl+ Apara selecionar todas as páginas. O link 1px é visível e arriscado para você?

Se você disser que sim, pode ser outra opção é:

  1. crie um link para o seu sitemap: <a href="sitemap.xml">&nbsp;</a>
  2. alterar a cor da fonte mesmo com a cor de fundo
  3. Usando técnicas CSS, oculte este link atrás de uma imagem

Dessa forma, um usuário normal não curioso não notará seu link. Os motores de busca estarão cientes disso. Mas lembre-se de que a natureza inerente à sua pergunta envolve impossibilidade.

Digo impossibilidade, porque se um usuário pesquisar no Google, por exemplo, com estes termos

* site:www.yoursite.com

o mundo inteiro pode ver todos os seus links se eles não se cansarem de clicar em nextlinks.

Espero que isso ajude.

Andre Chenier
fonte
Por que isso impede os usuários de encontrar / acessar o mapa do site XML quando você normalmente não vinculava ao seu sitemap XML?
MrWhite
Eu perguntei o mesmo Q para mim mesmo, mas é isso que entendo do proprietário da pergunta. Eu acho que esse é o requisito dele de alguma forma. Eu não tenho certeza :-)
Andre Chenier