¿Cómo puedo verificar un robot de Google?

¿Cómo puedo verificar un robot de Google?

Voy a bloquear todos los bots excepto los grandes motores de búsqueda.

Uno de mis métodos de bloqueo será verificar el "idioma":Accept-Language

Si no tiene un idioma de aceptación, la dirección IP del bot se bloqueará hasta el año 2037.

El robot de Google no lo tiene Accept-Language, quiero verificarlo con la búsqueda de DNS

<?php
    gethostbyaddr($_SERVER['REMOTE_ADDR']);
?>

¿Está bien usarlo gethostbyaddr? ¿Alguien puede pasar mi " gethostbyaddrprotección"?

Respuesta1

Esta es realmente una pregunta para Stack Overflow más que para Server Fault (un sitio de SEO sería lo mejor), pero lo que tienes allí no es muy confiable. El robot de Google podría provenir de cualquier número de direcciones IP y, por lo tanto, realizar búsquedas DNS inversas. Podría haber miles de opciones diferentes, y si una cambia, entonces has bloqueado un bot legítimo durante casi 30 años.

De hecho, acabo de encontrar unPregunta de desbordamiento de pila aquíeso responde a tu pregunta. Fue el primer resultado de Google para "Cómo identificar el robot de Google".

Identifica los motores de búsqueda por agente de usuario y dirección IP. Puede encontrar más información en Cómo identificar arañas y webbots de motores de búsqueda. También vale la pena señalar esta lista. Sin embargo, no debes tratar a los agentes de usuario (ni siquiera a los hosts remotos) como necesariamente definitivos. Los agentes de usuario en realidad no son más que lo que el otro extremo le dice que es y, por supuesto, es libre de decirle cualquier cosa. Es trivial escribir código para pretender ser el robot de Google.

(Nota:Google realmente sugiere que uses RDNS para verificar sus bots. Esto puede estar bien para su situación, pero ciertamente no es una buena idea para un uso más amplio. Además es muy lento).

información relacionada