Cómo ocultar mi mapa del sitio XML de la competencia pero no de los motores de búsqueda

10

Quiero ocultar mi archivo XML de mapa del sitio de todos, pero permitir el acceso desde los motores de búsqueda.

¿Cuál es la forma de hacerlo?

Quiero ocultar la profundidad del contenido del sitio a los competidores.

AgA
fuente
1
Si el sitio y sus páginas no están protegidos con usuario y contraseña, cualquier cuerpo puede navegar por ellos, solo tienen que seguir los enlaces en su propio sitio.
PatomaS
Puedo verificar la IP del robot de Google y permitir y denegar a otros. Aunque no podemos obtener la lista completa de IP de Googlebot.
AgA

Respuestas:

8

El primer paso sería detectar el User-Agent de los bots que desea permitir , y servir un archivo diferente si no es un User-Agent que desea permitir.

Por ejemplo, podría tener dos versiones de robots.txt, una con y otra sin una referencia al mapa del sitio, por lo que sus competidores no encontrarán el mapa del sitio si miran dentro de su sitio robots.txt.

Luego, podría detectar visitas a la URL de su mapa del sitio y servir el mapa del sitio solo cuando el UA sea correcto. Si de lo contrario sirve una página 404 genérica, es posible que sus competidores ni siquiera sepan que su mapa del sitio existe.

Sin embargo, todas las medidas descritas hasta este momento son meramente seguridad a través de la oscuridad. Un User-Agent puede ser fácilmente falsificado.

Por lo tanto, Google recomienda que, para detectar el verdadero GoogleBot, usted:

  1. Realice una búsqueda inversa de DNS para la dirección IP que dice ser GoogleBot.
  2. Compruebe si el host es un subdominio de googlebot.com..
  3. Realice una búsqueda de DNS normal para el subdominio.
  4. Compruebe si el subdominio apunta a la dirección IP del bot que rastrea su sitio.

En resumen:

Diagrama de flujo (cuándo mostrar el mapa del sitio)

Microsoft recomienda utilizar el mismo procedimiento para detectar su rastreador.

Este truco funciona para Yahoo! también.

Para DuckDuckGo, puede usar esta lista de direcciones IP

Nota

No necesita usar un error 404 si usa la detección de araña basada en la búsqueda de DNS.

El propósito de usar la página de error 404 es ocultar que su mapa del sitio existe. Sin embargo, si está utilizando la técnica más avanzada que no se basa únicamente en los User-Agentencabezados, no debería ser posible eludirla para que pueda usar un código de error diferente, como 403 Forbiddencuál es el código de error correcto para usar aquí.

usuario2428118
fuente
6

El problema es que si usted (con toda razón) quiere que su contenido sea indexado por los motores de búsqueda, cualquiera que realice un sitio: busque en uno de los motores de búsqueda podrá ver qué URL están indexadas.

Si desea "ocultar" su mapa del sitio, puede tenerlo en una URL con un nombre "secreto" para que no sea obvio para cualquiera que lo esté buscando, pero dado que es una buena práctica incluir un mapa del sitio en un archivo robots.txt archívelo y cárguelo en uno de los perfiles de herramientas para webmasters de los motores de búsqueda, como han dicho otras personas, es difícil ver por qué necesitaría hacer esto.

usuario3336644
fuente
En el caso de Google Webmaster Tools / Search Console, ni siquiera necesita cargarlo. Puede agregar una URL de mapa del sitio oculta una vez y continuará usándola.
Devabc
4

La solución astuta es generar dos mapas de sitio. El primero de ellos es para beneficio de sus competidores, el segundo es para beneficio de sus motores de búsqueda preferidos. En lenguaje militar, este primer mapa del sitio es una finta.

La 'finta' contiene la estructura básica de su sitio web, página de inicio, contáctenos, sobre nosotros, categorías principales. Parece real y funcionará muy bien en motores de búsqueda oscuros que no te interesan. Tampoco será de utilidad para sus competidores. Permita que se indexe para que lo encuentren, asígnele un nombre obvio como sitemap.xml.

Ahora cree su mapa del sitio real con código. Póngale un nombre como 'product-information-sitemap.xml' para que sea un nombre sensible pero en realidad no sea más fácil de adivinar que su contraseña.

En su configuración de apache para la carpeta del mapa del sitio, coloque algo en su lugar para que los motores de búsqueda puedan acceder a este segundo mapa del sitio pero no indexarlo:

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

Ahora cree el código para mantenerlo actualizado, considere un tercer mapa del sitio para las imágenes. Descárguelo según sea necesario para crear la 'finta'. También preste atención a las marcas de tiempo, Google sí presta atención a ellas y esto es importante si su mapa del sitio es grande.

Ahora cree un trabajo 'cron' para enviar el mapa del sitio de sus productos a Google de forma regular. En su entrada de crontab agregue algo como esto para enviar su mapa del sitio real cada semana:

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

Tenga en cuenta que la URL está codificada en URL.

También puede hacer gzip en su mapa del sitio si el tamaño es un problema, aunque su servidor web debería servir ese gzip si lo tiene habilitado.

Su archivo robots.txt no tiene que ser nada especial, siempre y cuando no impida la entrada a sus sitemaps, debería estar bien. Realmente no hay necesidad de enviar diferentes archivos robots.txt basados ​​en cadenas de agente de usuario o algo tan complicado. Simplemente extraiga su valioso contenido en un archivo complementario no anunciado y envíelo a Google en un trabajo cron (en lugar de esperar al bot). Simple.

Theodores
fuente
0

No veo por qué la estructura de un sitio podría causarle problemas con un competidor.

El objetivo del mapa del sitio es tener las páginas indexadas, para que las personas puedan encontrarlas más fácilmente, lo que, hasta cierto punto, tiene que revelar cómo está organizado su sitio, como por ejemplo:

  • /news/ contiene tus artículos de noticias
  • /forum/ es donde están todas las discusiones del foro

Esos serán indexables, para ganar más tráfico y presentar información.

Las carpetas que no desea tener índice es como

  • Clases y funciones de PHP que permiten que un sitio funcione
  • Imágenes del sitio, CSS, carpetas de JavaScript
  • Panel de Administracion

Entonces, si ese es el caso, entonces esos no deberían estar en su mapa del sitio. Además, también puede excluirlos de la indexación.

Zistoloen
fuente
0

Si tiene las direcciones IP de los bots que desea 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>

Si lo desea basado en la cadena del agente de usuario:

Order Allow,Deny
allow from env=good_bot_1
allow from env=good_bot_2
Martijn
fuente
Lista completa de direcciones IP de Google, Bing es secreto. No divulgarán esto al mundo, ya que representa un gran riesgo de encubrimiento por parte de los sitios web.
AgA
Y es por eso que agregué la segunda posibilidad :) El nombre es mucho más fácil, pero quería dar una respuesta completa
Martijn
0

Una forma de intentarlo: en una sesión de rastreo habitual, los robots de Google acceden al archivo robots.txt y luego van al archivo del mapa del sitio. Inserte una cookie para todas las porciones de robots.txt y permita el acceso al mapa del sitio solo a aquellas personas con la cookie. Habrá un problema cuando los bots de Google no acepten cookies. Entonces haz lo contrario. Inserte una cookie cuando un usuario acceda a una página que no sea el archivo robots.txt y niegue el acceso al mapa del sitio para aquellos con la cookie. Además, asigne un nombre codificado a su mapa del sitio, algo que cambie con el tiempo y lo haga indescifrable. Si sus competidores tienen habilitadas las cookies en su navegador, será extremadamente difícil para ellos acceder al mapa del sitio a menos que sigan la ruta exacta que sigue un motor de búsqueda.

Rana Prathap
fuente
0

Supongo que entendí su requerimiento correctamente, así que demuestro valor para responder.

proporcione un enlace de imagen a su mapa del sitio justo antes de su </html>etiqueta. Use un archivo gif transparente de 1 px:

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

En la página que tiene el enlace de su mapa del sitio, configure su metaetiqueta relacionada:

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

verifique el estado visual cuando presione Ctrl+ Apara seleccionar toda la página. ¿Es el enlace de 1px visible, arriesgado para ti?

Si dice que sí, puede ser otra opción es:

  1. cree un enlace a su mapa del sitio: <a href="sitemap.xml">&nbsp;</a>
  2. cambiar el color de fuente igual con el color de fondo
  3. Usando técnicas CSS, oculta este enlace detrás de una imagen

De esta manera, un usuario normal sin curiosidad no notará su enlace. Los motores de búsqueda lo notarán. Pero tenga en cuenta que la naturaleza inherente de su pregunta implica imposibilidad.

Digo imposibilidad porque si un usuario busca en Google por ejemplo con estos términos

* site:www.yoursite.com

Todo el mundo puede ver todos sus enlaces si no se cansan de hacer clic en los nextenlaces.

Espero que esto ayude.

Andre Chenier
fuente
¿Por qué esto evitaría que los usuarios encuentren / accedan al mapa del sitio XML cuando normalmente no se vincularía a su mapa del sitio XML?
MrWhite
Me hice la misma pregunta a mí mismo, pero eso es lo que entendí del propietario de la pregunta. Creo que este es su requisito de alguna manera. No estoy seguro :-)
Andre Chenier