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.
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.
Respostas:
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ê:
googlebot.com.
.Resumindo:
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
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-Agent
cabeçalhos, não será possível contorná-la para poder usar com segurança um código de erro diferente, como 403 Forbidden
o código de erro correto a ser usado aqui.
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.
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.
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ãoEsses 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
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.
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
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.
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 é:
<a href="sitemap.xml"> </a>
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 next
links.
Espero que isso ajude.