Percebi que as Ferramentas do Google para webmasters estão relatando muitos recursos bloqueados no meu site. No momento, todos os "recursos bloqueados" são .css, .js e imagens (.jpg, .png) que eu sirvo da Cloudfront CDN.
Passei muito tempo testando e tentando descobrir por que o Google não rastreia esses arquivos e relata um status de "bloco de recursos".
Atualmente, eu sirvo esses arquivos de vários nomes de host como: cdn1.example.com, cdn2.example.com,…
cdn1, cdn2 e os outros são CNAME para o nome da distribuição na nuvem.
Teste: tentei usar diretamente a distribuição na nuvem (sem CNAME), mas o problema persiste.
Atualmente, meu robots.txt se parece com isso:
# Google AdSense
User-agent: Mediapartners-Google
Disallow:
#Google images
User-agent: Googlebot-Image
Disallow: /
User-agent: *
Disallow: /homepage
Disallow: /index.php*
Disallow: /uncategorized*
Disallow: /tag/*
Disallow: *feed
Disallow: */page/*
Disallow: *author*
Disallow: *archive*
Disallow: */category*
Disallow: *tag=*
Disallow: /test*
Allow: /
E exemplos de arquivos bloqueados em uma página de exemplo:
cdn1.example.com/wp-content/plugins/wp-forecast/wp-forecast-default.css
cdn9.example.com/wp-content/plugins/bwp-minify/min/?f=wp-content/themes/magazine/css/font-awesome.min.css,wp-content/themes/magazine/css/responsive .css
cdn5.example.com/wp-content/themes/magazine/images/nobg.png
cdn6.example.com/wp-content/plugins/floating-social-bar/images/fsb-sprite.png
cdn5.example.com/wp-content/uploads/2013/11/Design-Hotel-3-80x80.jpg
cdn5.example.com/wp-content/uploads/2013/11/Marta-Hotel-7-270x225.jpg
Até tentei permitir tudo no robots.txt, mas sempre tenho o mesmo resultado.
Também observei atentamente as configurações do CloudFront na Amazon e não vi nada que pudesse estar relacionado (não uso e nunca usei a opção: "Restringir o acesso do visualizador (usar URLs assinados ou cookies assinados)".
No momento, passei muito tempo analisando isso e não tenho mais idéias.
Alguém pode pensar em um motivo pelo qual o Googlebot seria impedido de rastrear arquivos hospedados no Amazon CloudFront?
*
no final do "prefixo" do URL./test*
é o mesmo que/test
.Respostas:
Portanto, a solução parece ser que o Amazon Cloudfront também avalie o meu
robots.txt
e, de alguma forma, use regras de sintaxe diferentes do google.A versão de trabalho do meu
robots.txt
é a seguinte:Uma observação muito importante para dizer que isso não está executando exatamente as mesmas funções de antes. De fato, retirei todas as linhas em branco, curingas e diretivas "allow". Significando que o resultado final não é o mesmo ... mas acho que está perto o suficiente para mim. Por exemplo, ele não exclui as páginas de tags quando passadas na string de consulta ...
Três notas importantes:
Se você estiver testando isso, não se esqueça de invalidar a
robots.txt
distribuição na nuvem para cada iteração. Apenas verificar se você está recebendo a última versão não é suficiente.Não consegui encontrar em nenhum lugar uma definição da
robot.txt
sintaxe entendida pelo amazon cloudfront. Então, foi tentativa e erro.Para testar os resultados, use a ferramenta "buscar e renderizar" do webmaster do Google e seu testador compatível com dispositivos móveis ( https://www.google.com/webmasters/tools/mobile-friendly/ )
Não entendo por que o cloudfront está validando e avaliando o meu
robots.txt
. Este arquivo é um "acordo" comigo e com os rastreadores que acessam meu site. A Amazon não tem negócios no meio. Mexer com o meurobots.txt
é simplesmente estúpido.Nunca me ocorreu que o cloudfront pudesse adivinhar minha
robots.txt
sintaxe.fonte
Crie um robots.txt em um balde.
Crie outra origem para sua distribuição na nuvem.
Defina a prioridade do seu bucket mais alta que o seu site.
Invalide o robots.txt do seu site no Cloudfront.
Depois de fazer o acima, o Google lerá o robots.txt dos sites ao rastrear seu site e verá os diferentes robots.txt ao seguir os links do seu CDN.
fonte
O Google não impede que recursos externos sejam indexados usando um robots.txt na raiz do site principal. Usando um subdomínio, um CDN ou outro é classificado como um domínio externo; portanto, a única maneira de bloquear o conteúdo é usar uma resposta de cabeçalho no arquivo fornecido pela própria CDN ou usar um robots.txt no CDN ou subdomínio .
Usando:
Se você bloquear apenas imagens locais, precisará fazer o mesmo na CDN.
As chances são de um problema de resposta do cabeçalho e você deve executar um 'CURL' em um dos arquivos na CDN. Deve ser algo como:
As coisas a serem observadas são:
fonte
check the robots.txt on your CloudFront distribution
eu disse isso também! A única maneira de bloquear as imagens que estão sendo indexadas na CDN é a tag x-robots e um robots.txt na própria CDN, novamente mencionado.Descobri o problema: o CloudFront lê o robots.txt e impede a veiculação do conteúdo, mas analisa um pouco a diferença do que os robôs devem, eu acho.
Por exemplo, o seguinte conteúdo no robots.txt:
Disallow: */wp-contents/ Allow: */wp-contents/themes/
Quando o Googlebot consegue, ele o indexa; Quando o CloudFront lê, não considera a diretiva 'Permitir' e proíbe veicular qualquer coisa dentro dela
*/wp-contents/themes/
.Resposta curta: verifique o robots.txt na sua distribuição do CloudFront, pode ser o problema. Invalide e atualize-o com uma versão corrigida e deve funcionar!
fonte