web crawler - robots - Cómo configurar un robot.txt que solo permite la página predeterminada de un sitio
robots.txt google (5)
Supongamos que tengo un sitio en http://example.com . Realmente me gustaría permitir que los robots vean la página de inicio, pero cualquier otra página debe estar bloqueada ya que no tiene sentido araña. En otras palabras
http://example.com y http://example.com/ deberían estar permitidos, pero http://example.com/anything y http://example.com/someendpoint.aspx deberían estar bloqueados.
Además, sería genial si puedo permitir que ciertas cadenas de consulta pasen a la página de inicio: http://example.com?okparam=true
Archivo robots.txt básico:
Disallow: /subdir/
No creo que pueda crear una expresión que diga ''todo menos la raíz'', debe completar todos los subdirectorios.
La limitación de la cadena de consulta tampoco es posible desde robots.txt. Tienes que hacerlo en el código de fondo (la parte de procesamiento), o tal vez con las reglas de reescritura del servidor.
Entonces, después de algunas investigaciones, esto es lo que encontré: una solución aceptable para los principales proveedores de búsqueda: google , yahoo y msn (podría encontrar un validador aquí):
User-Agent: *
Disallow: /*
Allow: /?okparam=
Allow: /$
El truco es usar $ para marcar el final de la URL.
Hasta donde yo sé, no todos los rastreadores admiten la etiqueta Permitir. Una posible solución podría ser colocar todo, excepto la página de inicio, en otra carpeta y rechazar esa carpeta.
Las Herramientas para webmasters de Google informan que no permitir siempre tiene prioridad sobre el permiso, por lo que no hay una manera fácil de hacerlo en un archivo robots.txt
.
Puede lograr esto colocando un noindex,nofollow
etiqueta META
en el HTML cada página, pero la página de inicio.
Disallow: *
Allow: index.ext
Si mal no recuerdo, la segunda cláusula debe anular la primera.