Comment cacher mon plan Sitemap XML aux concurrents mais pas aux moteurs de recherche


10

Je souhaite masquer mon fichier XML de plan du site, mais autoriser l'accès aux moteurs de recherche.

Quelle est la façon de procéder?

Je veux cacher la profondeur du contenu du site aux concurrents.


1
Si le site et ses pages ne sont pas protégés par un utilisateur et un mot de passe, n'importe quel organisme peut les parcourir, ils n'ont qu'à suivre les liens sur votre propre site.
PatomaS

Je peux vérifier l'IP de Google bot et autoriser et refuser pour les autres. Bien que nous ne puissions pas obtenir la liste IP complète de Googlebot.
AgA

Réponses:


8

La première étape serait de détecter l'agent utilisateur des bots que vous souhaitez autoriser et de servir un fichier différent s'il ne s'agit pas d'un agent utilisateur que vous souhaitez autoriser.

Par exemple, vous pouvez avoir deux versions de robots.txt, une avec et une sans référence au plan du site, afin que vos concurrents ne trouvent pas le plan du site s'ils regardent à l'intérieur de votre site robots.txt.

Ensuite, vous pouvez détecter les visites de l'URL de votre plan de site et diffuser le plan du site uniquement lorsque l'AU est correct. Si vous diffusez une page 404 générique dans le cas contraire, vos concurrents peuvent même ne pas savoir que votre plan du site existe.

Cependant, toutes les mesures décrites jusqu'à présent ne sont que la sécurité par l'obscurité. Un User-Agent peut facilement être usurpé.

Par conséquent, Google recommande que, pour détecter le vrai GoogleBot, vous:

  1. Effectuez une recherche DNS inversée pour l'adresse IP prétendant être GoogleBot.
  2. Vérifiez si l'hôte est un sous-domaine de googlebot.com..
  3. Effectuez une recherche DNS normale pour le sous-domaine.
  4. Vérifiez si le sous-domaine pointe vers l'adresse IP du bot qui explore votre site.

Résumer:

Organigramme (quand afficher le plan du site)

Microsoft conseille d'utiliser la même procédure pour détecter leur robot.

Cette astuce fonctionne pour Yahoo! ainsi que.

Pour DuckDuckGo, vous pouvez utiliser cette liste d'adresses IP

Remarque

Vous n'avez pas besoin d'utiliser une erreur 404 si vous utilisez la détection d'araignée basée sur la recherche DNS.

Le but de l'utilisation de la page d'erreur 404 est de cacher que votre sitemap existe. Cependant, si vous utilisez la technique plus avancée qui ne repose pas uniquement sur les en- User-Agenttêtes, il ne devrait pas être possible de la contourner afin que vous puissiez utiliser en toute sécurité un code d'erreur différent, tel que 403 Forbiddenle code d'erreur correct à utiliser ici.


6

Le problème est que si vous voulez (à juste titre) que votre contenu soit indexé par les moteurs de recherche, toute personne qui effectue un site: la recherche dans l'un des moteurs de recherche pourra voir quelles URL sont indexées.

Si vous souhaitez "masquer" votre plan de site, vous pouvez l'avoir sur une URL avec un nom "secret", il n'est donc pas évident pour quiconque le recherche, mais vu qu'il est préférable d'inclure un plan de site dans un fichier robots.txt fichier et téléchargez-le dans l'un des profils des outils pour les webmasters des moteurs de recherche, comme d'autres l'ont dit, il est difficile de comprendre pourquoi vous devez le faire.


Dans le cas de Google Webmaster Tools / Search Console, vous n'avez même pas besoin de le télécharger. Vous pouvez simplement ajouter une URL de sitemap masquée une fois et il continuera à l'utiliser.
Devabc

4

La solution astucieuse consiste à générer deux plans de site. Le premier est au profit de vos concurrents, le second est au profit de vos moteurs de recherche préférés. Dans le langage militaire, ce premier plan du site est une feinte.

La «feinte» contient la structure de base de votre site Web, la page d'accueil, contactez-nous, à propos de nous, les principales catégories. Cela ressemble à la vraie affaire et fonctionnera très bien dans les moteurs de recherche obscurs dont vous ne vous souciez pas. Il ne sera également d'aucune utilité pour vos concurrents. Permettez-lui d'être indexé pour qu'ils le trouvent, donnez-lui un nom évident comme sitemap.xml.

Créez maintenant votre véritable sitemap avec du code. Donnez-lui un nom tel que «product-information-sitemap.xml» afin qu'il soit un nom raisonnable mais pas plus facile à deviner que votre mot de passe.

Dans votre configuration apache pour le dossier sitemap, mettez quelque chose en place pour que ce second sitemap soit accessible par les moteurs de recherche mais pas indexé:

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

Maintenant, créez le code pour le garder à jour, envisagez un troisième plan du site pour les images. Dowwngrade comme requis pour créer la «feinte». Faites également attention aux horodatages, Google y prête attention et cela est important si votre plan du site est important.

Créez maintenant un travail «cron» pour soumettre régulièrement le plan du site de vos produits à Google. Dans votre entrée crontab, ajoutez quelque chose comme ceci pour soumettre votre vrai plan du site chaque semaine:

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

Notez que l'URL est encodée en URL.

Vous pouvez également compresser votre sitemap si la taille est un problème, bien que votre serveur Web doive le servir si vous l'avez activé.

Votre robots.txt n'a pas besoin d'être spécial, tant qu'il n'interdit pas l'entrée à vos sitemaps, cela devrait aller. Il n'est vraiment pas nécessaire d'envoyer différents fichiers robots.txt en fonction des chaînes d'agent utilisateur ou de quelque chose de si compliqué. Retirez simplement votre précieux contenu dans un fichier supplémentaire non publié et soumettez-le à Google sur une tâche cron (plutôt que d'attendre le bot). Facile.


0

Je ne vois pas pourquoi la structure d'un site pourrait vous causer des problèmes avec un concurrent?

Le but du plan du site est d'indexer les pages, afin que les gens puissent les trouver plus facilement, ce qui, jusqu'à un certain point, doit révéler comment votre site est organisé, comme:

  • /news/ contient vos articles de nouvelles
  • /forum/ est l'endroit où toutes les discussions du forum sont

Ceux-ci seront indexables, pour gagner plus de trafic et présenter des informations.

Les dossiers que vous ne voulez pas avoir d'index sont comme

  • Classes et fonctions PHP qui permettent à un site de fonctionner
  • Images du site, CSS, dossiers JavaScript
  • Panneau d'administration

Ensuite, si tel est le cas, ceux-ci ne devraient pas du tout figurer dans votre plan du site. De plus, vous pouvez également exclure ceux de l'indexation.


0

Si vous avez les adresses IP des bots que vous souhaitez autoriser:

<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 vous le souhaitez en fonction de la chaîne de l'agent utilisateur:

Order Allow,Deny
allow from env=good_bot_1
allow from env=good_bot_2

Liste d'adresses IP complète de Google, Bing est secret. Ils ne divulgueront pas cela au monde car cela présente un grand risque de dissimulation par les sites Web.
AgA

Et c'est pourquoi j'ai ajouté la 2ème possibilité :) Le nom est beaucoup plus facile, mais je voulais fournir une réponse complète
Martijn

0

Une façon que vous pouvez essayer: dans une session d'exploration habituelle, les robots Google accèdent à robots.txt, puis accèdent au fichier sitemap. Insérez un cookie pour toutes les portions de robots.txt et n'autorisez l'accès au plan du site qu'aux personnes disposant du cookie. Il y aura un problème lorsque les robots Google n'accepteront pas les cookies. Faites le contraire. Introduisez un cookie lorsqu'un utilisateur accède à une page autre que le fichier robots.txt et refusez l'accès au plan du site pour ceux qui possèdent le cookie. Aussi, donnez un nom brouillé à votre plan du site, quelque chose qui change avec le temps et le rend impossible à deviner. Si vos concurrents ont activé les cookies dans leur navigateur, il leur sera extrêmement difficile d'accéder au plan du site à moins qu'ils ne suivent le chemin exact suivi par un moteur de recherche.


0

Je fais l'hypothèse que j'ai bien compris votre exigence, donc je fais preuve de courage pour répondre.

donnez un lien image vers votre plan du site juste avant votre </html>tag. Utilisez un fichier gif transparent de 1px:

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

Dans la page qui contient un lien vers votre plan du site, définissez votre métabalise associée:

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

vérifiez l'état visuel lorsque vous appuyez sur Ctrl+ Apour sélectionner toutes les pages. Le lien 1px est-il visible, risqué pour vous?

Si vous dites oui, une autre option peut être:

  1. créez un lien vers votre plan du site: <a href="sitemap.xml">&nbsp;</a>
  2. changer la couleur de la police de la même façon que la couleur de fond
  3. En utilisant des techniques CSS, cachez ce lien derrière une image

De cette façon, un utilisateur normal peu curieux ne remarquera pas votre lien. Les moteurs de recherche en seront conscients. Mais sachez que la nature inhérente de votre question implique l'impossibilité.

Je dis impossibilité parce que si un utilisateur recherche dans Google par exemple avec ces termes

* site:www.yoursite.com

le monde entier peut voir tous vos liens s'ils ne se lassent pas de cliquer sur les nextliens.

J'espère que ces aides.


Pourquoi cela empêcherait-il les utilisateurs de trouver / accéder au plan du site XML alors que vous ne vous connecteriez pas normalement à votre plan du site XML pour commencer?
MrWhite

Je me suis posé la même question mais c'est ce que je comprends du propriétaire de la question. Je pense que c'est en quelque sorte son exigence. Je ne suis pas sûr :-)
Andre Chenier
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.