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.
xml-sitemap
AgA
fuente
fuente
Respuestas:
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 sitiorobots.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:
googlebot.com.
.En resumen:
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-Agent
encabezados, no debería ser posible eludirla para que pueda usar un código de error diferente, como403 Forbidden
cuál es el código de error correcto para usar aquí.fuente
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.
fuente
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:
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:
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.
fuente
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 foroEsos serán indexables, para ganar más tráfico y presentar información.
Las carpetas que no desea tener índice es como
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.
fuente
Si tiene las direcciones IP de los bots que desea permitir:
Si lo desea basado en la cadena del agente de usuario:
fuente
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.
fuente
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:
<a href="sitemap.xml"> </a>
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
next
enlaces.Espero que esto ayude.
fuente