Chcę ukryć plik XML mapy witryny przed wszystkimi, ale zezwalam na dostęp z wyszukiwarek.
Jak to zrobić?
Chcę ukryć głębię treści witryny przed konkurentami.
xml-sitemap
Aga
źródło
źródło
Odpowiedzi:
Pierwszym krokiem byłoby wykrycie User-Agent botów, na które chcesz zezwolić , i podanie innego pliku, jeśli nie jest to User-Agent, na który chcesz zezwolić.
Na przykład możesz mieć dwie wersje
robots.txt
, z jedną i bez odniesienia do mapy witryny, aby konkurenci nie mogli znaleźć mapy witryny, jeśli zaglądną do Twojej witrynyrobots.txt
.Następnie możesz wykryć wizyty pod adresem URL mapy witryny i wyświetlać mapę witryny tylko wtedy, gdy UA jest poprawna. Jeśli w przeciwnym razie wyświetlisz ogólną stronę 404, konkurenci mogą nawet nie wiedzieć, że istnieje mapa witryny.
Jednak wszystkie środki opisane do tej pory są jedynie bezpieczeństwem poprzez niejasność. User-Agent może być łatwo sfałszowany.
Dlatego Google zaleca , aby w celu wykrycia prawdziwego GoogleBota:
googlebot.com.
.Podsumowując:
Microsoft zaleca stosowanie tej samej procedury do wykrywania ich przeszukiwacza.
Ta sztuczka działa w przypadku Yahoo! także.
W przypadku DuckDuckGo możesz użyć tej listy adresów IP
Uwaga
Nie musisz używać błędu 404, jeśli używasz wykrywania pająków na podstawie DNS.
Korzystanie ze strony błędu 404 ma na celu ukrycie, że mapa witryny w ogóle istnieje. Jeśli jednak używasz bardziej zaawansowanej techniki, która nie opiera się wyłącznie na
User-Agent
nagłówkach, nie powinno być możliwe obejście jej, aby można było bezpiecznie użyć innego kodu błędu, na przykład takiego,403 Forbidden
który jest prawidłowym kodem błędu do użycia tutaj.źródło
Problem polega na tym, że jeśli (całkiem słusznie) chcesz, aby Twoje treści były indeksowane przez wyszukiwarki, każdy, kto wykonuje witrynę: wyszukiwanie w jednej z wyszukiwarek będzie mogło zobaczyć, które adresy URL są indeksowane.
Jeśli chcesz „ukryć” mapę witryny, możesz mieć ją pod adresem URL o „tajnej” nazwie, więc nie jest to oczywiste dla nikogo, kto może jej szukać, ale biorąc pod uwagę najlepszą praktykę, aby dołączyć mapę witryny do pliku robots.txt plik i prześlij go do jednego z profili narzędzi dla webmasterów wyszukiwarek, jak powiedzieli inni ludzie, trudno zrozumieć, dlaczego musisz to zrobić.
źródło
Podstępnym rozwiązaniem jest wygenerowanie dwóch map witryn. Pierwszy z nich jest z korzyścią dla konkurentów, drugi z korzyścią dla preferowanych wyszukiwarek. W mowie wojskowej ta pierwsza mapa witryny jest zwodnicza.
„Zwód” zawiera podstawową strukturę witryny, stronę główną, skontaktuj się z nami, o nas, główne kategorie. Wygląda jak prawdziwa okazja i sprawdzi się świetnie w niejasnych wyszukiwarkach, na których ci nie zależy. Nie przyda się również twoim konkurentom. Pozwól na indeksowanie, aby mogli je znaleźć, nadaj mu oczywistą nazwę, np. Sitemap.xml.
Teraz stwórz swoją prawdziwą mapę witryny z kodem. Nadaj mu nazwę, taką jak „product-information-sitemap.xml”, aby była to rozsądna nazwa, ale tak naprawdę nie jest łatwiejsza do odgadnięcia niż hasło.
W konfiguracji apache dla folderu mapy witryny umieść coś na swoim miejscu, aby umożliwić dostęp do tej drugiej mapy witryny przez wyszukiwarki, ale bez indeksowania:
Teraz utwórz kod, aby go aktualizować, rozważ trzecią mapę witryny dla obrazów. Rozwiń go, aby utworzyć „zwód”. Zwróć też uwagę na znaczniki czasu, Google zwraca na nie uwagę, a to ważne, jeśli Twoja mapa witryny jest duża.
Teraz utwórz zadanie „cron”, aby regularnie przesyłać mapę witryny swoich produktów do Google. W swoim wpisie na crontab dodaj coś takiego, aby co tydzień przesyłać swoją prawdziwą mapę witryny:
Pamiętaj, że adres URL jest zakodowany.
Możesz także spakować swoją mapę witryny, jeśli rozmiar jest problemem, chociaż twój serwer internetowy powinien obsługiwać ten gzip, jeśli masz tę opcję włączoną.
Plik robots.txt nie musi być niczym specjalnym, o ile nie blokuje wejścia do map witryn, powinno być w porządku. Naprawdę nie ma potrzeby wysyłania różnych plików robots.txt w oparciu o ciągi agenta użytkownika lub coś tak skomplikowanego. Po prostu wyciągnij swoją cenną zawartość do dodatkowego, niezareklamowanego pliku i prześlij ją do Google na zlecenie crona (zamiast czekać na bota). Prosty.
źródło
Nie rozumiem, dlaczego struktura witryny może powodować problemy z konkurencją?
Celem mapy witryny jest zaindeksowanie stron, aby ludzie mogli je łatwiej znaleźć, co w pewnym stopniu musi ujawnić sposób organizacji witryny, na przykład:
/news/
zawiera artykuły z wiadomościami/forum/
to tam są wszystkie dyskusje na forumBędą one indeksowane w celu zwiększenia ruchu i prezentacji informacji.
Foldery, których nie chcesz indeksować, są jak
Jeśli tak jest, to nie powinny one w ogóle znajdować się w mapie witryny. Dodatkowo możesz wykluczyć te z indeksowania.
źródło
Jeśli masz adresy IP botów, na które chcesz zezwolić:
Jeśli chcesz na podstawie ciągu agenta użytkownika:
źródło
Jeden ze sposobów wypróbowania: Podczas zwykłej sesji indeksowania boty Google uzyskują dostęp do pliku robots.txt, a następnie przechodzą do pliku mapy witryny. Wciśnij plik cookie dla wszystkich porcji pliku robots.txt i zezwól na dostęp do mapy witryny tylko tym osobom, które mają plik cookie. Będzie problem, gdy boty Google nie zaakceptują plików cookie. Zrób też odwrotnie. Wciśnij plik cookie, gdy użytkownik uzyska dostęp do strony innej niż robots.txt, i odmów dostępu do mapy witryny osobom z plikiem cookie. Nadaj też rozszyfrowaną nazwę swojej mapie witryny, coś, co zmienia się z czasem i sprawia, że nie można jej zgadnąć. Jeśli twoi konkurenci mają włączoną obsługę plików cookie w przeglądarce, niezwykle trudno będzie im uzyskać dostęp do mapy witryny, chyba że podążą oni dokładnie ścieżką, którą podąża wyszukiwarka.
źródło
Zakładam, że poprawnie zrozumiałem twoje wymagania, więc wykazałem się odwagą, aby odpowiedzieć.
podaj link do mapy witryny tuż przed
</html>
tagiem. Użyj przezroczystego pliku gif 1px:<a href="sitemap.xml"><img src="transparent.gif" alt="" height="1" width="1" /></a>
Na stronie zawierającej link do Twojej mapy witryny ustaw odpowiedni metatag:
<meta name="robots" content="{index or noindex},follow">
sprawdź stan wizualny po naciśnięciu Ctrl+, Aaby wybrać całą stronę. Czy link 1px jest dla Ciebie widoczny, ryzykowny?
Jeśli powiesz tak, może być inną opcją jest:
<a href="sitemap.xml"> </a>
W ten sposób zwykły zwykły użytkownik nie zauważy Twojego linku. Wyszukiwarki to zauważą. Pamiętaj jednak, że nieodłączny charakter twojego pytania wiąże się z niemożliwością.
Mówię niemożliwością, ponieważ jeśli użytkownik szuka w Google na przykład za pomocą tych warunków
* site:www.yoursite.com
cały świat może zobaczyć wszystkie Twoje linki, jeśli nie zmęczyły się klikaniem
next
linków.Mam nadzieję, że to pomoże.
źródło