Як приховати свою XML мапу сайту від конкурентів, але не від пошукових систем


10

Я хочу приховати свій XML-файл мапи сайту від усіх, але дозволити доступ до пошукових систем.

Який спосіб це зробити?

Я хочу приховати глибину вмісту сайту від конкурентів.


1
Якщо сайт і його сторінки не захищені користувачем та паролем, будь-який орган може переглядати їх, вони просто повинні переходити за посиланнями на вашому власному сайті.
PatomaS

Я можу перевірити IP-бот Google, дозволити та заборонити іншим. Хоча ми не можемо отримати повний список IP-адрес Googlebot.
AgA

Відповіді:


9

Першим кроком було б виявити User-Agent ботів, які ви хочете дозволити , і подати інший файл, якщо це не User-Agent, який ви хочете дозволити.

Наприклад, у вас може бути дві версії robots.txt, одна з та одна без посилання на мапу сайту, тому ваші конкуренти не знайдуть мапу сайту, якщо вони заглянуть всередину вашого robots.txt.

Тоді ви зможете виявити відвідування вашої URL-адреси сайта та обслуговувати карту сайту лише тоді, коли UA є правильним. Якщо ви іншим чином обслуговуєте загальну сторінку 404, ваші конкуренти можуть навіть не знати, що існує карта сайту.

Однак усі описані до цього часу заходи є лише безпекою через невідомість. Користувач-користувач може бути легко підроблений.

Тому Google рекомендує , щоб виявити реальний GoogleBot:

  1. Зробіть зворотний пошук DNS для IP-адреси, яка претендує на GoogleBot.
  2. Перевірте, чи хост є субдоменом googlebot.com..
  3. Виконайте звичайний пошук DNS для піддомену.
  4. Перевірте, чи вказаний субдомен на IP-адресу бота, який сканує ваш сайт.

Підсумовуючи це:

Діаграма (коли показати карту сайту)

Microsoft радить використовувати ту саму процедуру для виявлення їх сканера.

Цей трюк працює для Yahoo! так само.

Для DuckDuckGo ви можете використовувати цей список IP-адрес

Примітка

Не потрібно використовувати помилку 404, якщо ви використовуєте виявлення павука на основі DNS-пошуку.

Мета використання сторінки помилок 404 - приховати, що ваша карта сайту взагалі існує. Однак якщо ви використовуєте більш досконалу техніку, яка не покладається лише на User-Agentзаголовки, її не можна обійти, щоб ви могли сміливо використовувати інший код помилки, наприклад, 403 Forbiddenправильний код помилки тут.


6

Проблема полягає в тому, що якщо ви (цілком справедливо) хочете, щоб ваш вміст був індексований пошуковими системами, кожен, хто працює на сайті: пошук в одній із пошукових систем зможе побачити, які URL-адреси індексуються.

Якщо ви хочете "приховати" свою мапу сайту, ви можете мати її за URL-адресою з "секретним" ім'ям, тому це не очевидно для тих, хто може її шукати, але вважаючи, що найкраща практика включати мапу сайту в robots.txt файл та завантажте його в один із профілів інструментів веб-майстрів пошукових систем, як казали інші люди, важко зрозуміти, для чого вам це потрібно зробити.


У випадку Інструментів для веб-майстрів Google / пошукової консолі вам навіть не потрібно завантажувати її. Ви можете просто додати приховану URL-адресу мапи сайту один раз, і вона буде продовжувати її використовувати.
Девабч

4

Підступне рішення - створити два мапи сайту. Перший з них - на користь ваших конкурентів, другий - на користь ваших уподобаних пошукових систем. У військовій формі ця перша мапа сайту - фінт.

"Фінт" містить вашу основну структуру веб-сайту, домашню сторінку, зв'яжіться з нами, про нас, основні категорії. Це схоже на справжню угоду і буде чудово працювати в неясних пошукових системах, які вам не цікаві. Він також не принесе користі вашим конкурентам. Дозвольте його індексувати, щоб вони його знайшли, дайте йому очевидну назву, як sitemap.xml.

Тепер створіть свою справжню мапу сайту з кодом. Дайте йому таку назву, як "product-information-sitemap.xml", щоб це було розумне ім'я, але насправді не було легше здогадатися, ніж ваш пароль.

У вашій конфігурації apache для папки Sitemap поставте щось на місце, щоб пошукові системи могли отримати доступ до цього другого сайту, але не індексувати:

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

Тепер створіть код, щоб оновити оновлення, розгляньте третю мапу карти для зображень. Зменшіть його, як потрібно, щоб створити "фінт". Зверніть увагу і на часові позначки, Google також звертає на них увагу, і це важливо, якщо ваша карта сайту велика.

Тепер створіть завдання "cron", щоб регулярно надсилати мапу сайту про свої продукти в Google. У своєму записі на crontab додайте щось подібне, щоб кожен тиждень надсилати справжню мапу сайту:

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

Зауважте, що URL-адреса кодована URL-адресою.

Ви також можете отримати gemap свого sitemap, якщо розмір є проблемою, хоча ваш веб-сервер повинен обслуговувати цей gzipped, якщо у вас це включено.

У вашому robots.txt не повинно бути нічого особливого, до тих пір, поки він не забороняє вхід до ваших мап сайту, це повинно бути добре. Дійсно, не потрібно надсилати різні файли robots.txt на основі рядків агента користувача або чогось такого складного. Просто витягніть свій дорогоцінний вміст у додатковий, нерекламований файл та подайте його в Google на роботі з кроном (а не чекайте бота). Простий.


0

Я не розумію, чому структура сайту може викликати у вас проблеми з конкурентом?

Сенс карти сайту полягає в тому, щоб сторінки проіндексували, щоб люди могли їх легше знаходити. Це, до певного моменту, має розкрити, як організовано ваш сайт, наприклад:

  • /news/ містить ваші статті новин
  • /forum/ там усі форумові дискусії

Вони будуть індексуватися, щоб отримати більше трафіку та представити інформацію.

Папки, які ви не хочете мати індекс, схожі

  • Класи та функції PHP, які дозволяють сайту працювати
  • Зображення сайту, CSS, папки JavaScript
  • Панель адміністрації

Тоді, якщо це так, то вони взагалі не повинні бути у вашій мапі сайту. Крім того, ви також можете виключити їх із індексації.


0

Якщо у вас є IP-адреси ботів, які ви хочете дозволити:

<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>

Якщо ви хочете, щоб він базувався на рядку агента користувача:

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

Повний список ip-адрес Google, Bing є секретним. Вони не розголошують це світові, оскільки це створює великий ризик приховання веб-сайтів.
AgA

Ось чому я додав 2-ю можливість :) Ім'я набагато простіше, але хотів дати повну відповідь
Martijn

0

Один із способів можна спробувати: У звичайному сеансі сканування Google боти отримують доступ до robots.txt, а потім переходять у файл Sitemap. Натисніть на cookie для всіх порцій robots.txt і дозвольте доступ до карти сайта лише тим людям, які мають файли cookie. Проблема виникне, коли боти Google не приймають файли cookie. Тож робіть навпаки. Надішліть файл cookie, коли користувач отримує доступ до іншої сторінки, ніж robots.txt, і забороняйте доступ до сайту Sitemap для тих, хто має файли cookie. Крім того, дайте ім’я, яке можна замішати, вашій мапі сайту, те, що змінюється з часом і зробить його неможливим. Якщо у ваших конкурентів увімкнено файли cookie у своєму браузері, їм буде вкрай важко отримати доступ до мапи сайту, якщо вони не дотримуватимуться точного шляху, яким рухається пошукова система.


0

Я припускаю, що я правильно зрозумів вашу вимогу, тому проявляю сміливість відповідати.

надайте посилання на зображення до вашої мапи сайту безпосередньо перед </html>тегом. Використовуйте прозорий файл у форматі 1px:

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

На сторінці, на якій розміщено посилання вашої мапи сайту, встановіть відповідні метатеги:

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

перевіряйте стан зору, натискаючи Ctrl+, Aщоб вибрати всю сторінку. Чи посилання 1px видиме, ризикове для вас?

Якщо ви скажете «так», може бути інший варіант:

  1. створіть посилання на вашу мапу сайту: <a href="sitemap.xml">&nbsp;</a>
  2. змінити колір шрифту однаково з кольором тла
  3. Використовуючи методи CSS, схойте це посилання за зображенням

Таким чином, безтурботний звичайний користувач не помітить ваше посилання. Пошукові системи це усвідомлять. Але врахуйте, що притаманний вашому питанню характер полягає в неможливості.

Я кажу про неможливість, тому що якщо користувач шукає в Google, наприклад, ці умови

* site:www.yoursite.com

весь світ може бачити всі ваші посилання, якщо вони не втомилися натискати на nextпосилання.

Я сподіваюся, що це допомагає.


Чому це зупиняє користувачів на пошук / доступ до карти sitemap XML, коли ви зазвичай не посилаєтесь на свій файл XML для початку?
MrWhite

Я запитав той самий Q у себе, але це те, що я переживаю від власника питання. Я думаю, що це якось його вимога. Я не впевнений :-)
Андре Шеньє
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.