Jak zrenderować w Google Search Console dowolną stronę nie będąc jej właścicielem?
Teoretycznie Google nie pozwala nam dziś zobaczyć jak renderuje strony, których nie jesteśmy zweryfikowanymi właścicielami. O ile trudno mi dywagować nt. przyczyn tego stanu (prywatność, ochrona wykorzystania własnych zasobów?), o tyle bywają sytuacje gdy trudno się powstrzymać przed próbą analizy tego, jak Google widzi strony konkurencji albo przyszłego klienta. Bywają też sytuacje, gdzie z różnych przyczyn nie mamy dostępu do konsoli Google domeny, z którą pracujemy, a np. potrzebujemy szybko zaindeksować jakieś zasoby w niej dostępne. Wtedy zamiast podsypywać adresy do indeksacji SWL-em, można prosto ograniczenia konsoli obejść.
Słowem wstępu
Gdzieś na początku swojego rozwoju w branży SEO usłyszałem, żeby śledzić anglojęzyczne blogi, bo zwykle są przed nami 2 kroki. I rzeczywiście – anglojęzyczne źródła stały się dla mnie motorem do szlifowania umiejętności językowych i pozwoliły zdobyć szybciej wiedzę, która nie została jeszcze (publicznie) opisana w polskiej „SEO-blogosferze”.
Nie inaczej będzie i tym razem, bowiem poszukując rozwiązania dla dość specyficznych ;) problemów, rozwiązanie znalazłem na blogu ohgm.co.uk, który polecam zresztą prześledzić w całości. Niech za zachętę posłuży dość bezpośrednie podsumowanie zawodowe autora :”I manipulate search engines for a living.”
Do rzeczy:
Metody na renderowanie URL-i bez weryfikacji w Google
Pierwszą, bardzo prostą metodę na renderowanie podstron w konsoli niemal tak, jakbyśmy byli ich właścicielami, opisał Dan Sharp z teamu Screaming Frog w artykule sprzed prawie 2 lat: How To Fetch & Render (Almost) Any Site.
Przekładając jednym zdaniem opisaną w tekście metodę na polski: stare dobre <IFRAME> pozwala oszukać Google przy renderowaniu podstrony i pokazać w konsoli zrenderowane źródło niemal tak jak „zobaczył je” GoogleBot.
Dziś będzie to oczywiście bot mobilny, ale ten fakt ma już pomniejsze znaczenie, bo metoda ta pozwala szybko ustalić, czy coś w czasie renderowania jest niepotrzebnie blokowane, nie tylko w robots.txt (ten możemy przecież zbadać sami, bez fikołków).
Scenariusz użycia:
Załóżmy, że chcę przeanalizować problemy z pobieraniem zasobów przez Google na stronie prezydent.pl. Niestety nie jestem zweryfikowanym właścicielem tej domeny w Google Search Console, stąd próby analizy spalą na panewce:
Mogę jednak w dowolnej innej domenie, dla której jestem zweryfikowanym właścicielem w GSC, umieścić specjalnie spreparowany plik z ramką IFRAME o treści:
Kolejne wytłuszczone elementy w kodzie, to:
– adres strony docelowej, którą chcę przeanalizować w GSC
– szerokość i wysokość ramki – tutaj 1024 na 100000 pikseli – czyli standardowa szerokość małego ekranu i długa wysokość, żeby dać szansę Google zrenderować całą ramkę poprawnie
Tak przygotowany kod ramki umieszczony w zweryfikowanej domenie po przetestowaniu w konsoli adresu testowego z ramką wyświetli nam źródło strony docelowej (adresu z ramki), jej zrenderowaną przez Google wersję oraz blokady indeksacji jej zasobów:
Po prawej stronie widać tu zrzut ekranu zrenderowanej przez Google strony, która nie do końca wygląda tak jak serwis wyświetlany jest w rzeczywistości. Być może wynika to z jakichś blokad czy problemów z przekazywaniem Google części zasobów?
Faktycznie, część zasobów (18 z 33 plików) nie zostało prawidłowo pobranych przez Google. Interesujący fakt, który można poddać dyskusji, albo przeprocesować w ofercie na audyt SEO ;)
Dla kontrastu, np. WP.pl renderuje się w Google całkiem dobrze:
Do szybszego testowania większej liczby adresów, żeby nie było konieczne każdorazowe edytowanie i wysyłanie na serwer kodu HTML, można też skorzystać z gotowego rozwiązania opartego o parametry w adresie URL, przygotowanego przez Dana.
Gotowy, prosty kod do pobrania i wysłania na serwer jest dostępny na: https://github.com/screamingfrog/fetch-and-render
Zamiast edytować adres ramki, wystarczy wtedy podawać bezpośrednio w konsoli adres wg schematu:
http://moja-zweryfikowana-domena.pl/skrypt.php?http://adres-strony-testowanej.pl
Testowy adres można oczywiście dowolnie zmieniać, co znacząco upraszcza badanie większej liczby URL-i.
Metoda ta ma jednak ograniczenie, bo Google w nowej wersji konsoli nie chce dziś renderować podstron w całości – wyświetla je do wysokości zbliżonej ekranom smartfonów (niezależnie od zadeklarowanej wysokości ramki IFRAME). Tutaj z pomocą przychodzi wspomniany na początku tekstu autor bloga „ohgm”, z trafną wskazówką, że o ile renderowanie jest ograniczone, to możemy podejrzeć CAŁY kod strony pobrany przez Google i… zrenderować go samodzielnie!
Wystarczy pobrać kod z zakładki „Przetestowana strona > HTML” (jest dostępna obok podglądu zrenderowanej wersji) i podmienić ten kod z tym co dostaniemy po wejściu na samą stronę z przeglądarki. Dla uzyskania efektu maksymalnie zgodnego z tym co renderuje Google, zalecane będzie użycie przeglądarki Chrome w wersji 41, która zdaje się wciąż pozostaje silnikiem GoogleBota (Chrome w wersji 41 znajdziesz tutaj, a więcej informacji w temacie problemu silnika renderującego GoogleBota).
Podmianę kodu na ten otrzymany w konsoli łatwo wykonać po wejściu na stronę i przejściu do panelu edycji skrótem CTRL+ALT+I:
Wystarczy podmienić cały aktualny kod na ten otrzymany w konsoli i zatwierdzić. Otrzymamy całą stronę wyświetlaną w sposób, w jaki wygenerował ją sobie GoogleBot.
Rzecz całkiem przydatna, kiedy np. analizujemy kod serwisu potencjalnego klienta, czy cloacking u konkurencji ;)
Jak zaindeksować w konsoli Google stronę bez weryfikacji jej własności?
Taktyk na indeksowanie podstron jest sporo, jednak zawsze pierwszym i najprostszym pomysłem jest zgłoszenie jej do indeksacji w Google Search Console. Rzecz jednak nieco się komplikuje, kiedy nie mamy zweryfikowanej własności domeny, a każdy kto pracuje z klientami biznesowymi wie, że weryfikacja w GSC może to być projektem na kilka miesięcy.
Niestety, o ile metoda z ramką IFRAME pozwala relatywnie łatwo pobrać i zrenderować podstronę, to już próba jej indeksowania zupełnie nie wychodzi (tzn. wychodzi na opak, bo indeksuje się podstrona z ramką, a nie strona docelowa).
Opierając się jednak o wskazówkę ze wspomnianego bloga „ohgm” i nową metodę obchodzenia blokady renderowania w Google, także indeksowanie zasobów w domenach gdzie nie jesteśmy zweryfikowanymi właścicielami w GSC przestaje być problemem.
Wystarczy, że zamiast ramki zastosujemy przekierowanie URL.
Scenariusz użycia:
Testowałem metodę w oparciu kod PHP przekierowujący z poziomu nagłówka. Prawdopodobnie zadziałają też przekierowania w .htaccess czy podobne, jednak opisana metoda jest prosta i daje potencjał do napisania bardziej zaawansowanych narzędzi automatyzujących pracę.
Zamiast opisanej wyżej ramki, stosujemy więc na stronie w zweryfikowanej domenie przekierowanie kodem PHP, o przykładowej postaci:
Oczywiście adres w wierszu „header” należy podmienić na ten, który potrzebujemy zbadać lub zaindeksować.
Przy próbie renderowania testowego adresu konsola Google zachowa się podobnie jak przy ramce. Bardziej interesującym jest jednak fakt, że taki adres możemy wysłać do zaindeksowania w Google:
W ten sposób możliwe jest szybkie zaindeksowanie w Google dowolnej strony w sieci, bez weryfikowania jej własności. Testowe adresy indeksowały się w ciągu kilku minut, co nie odbiega od standardowej reakcji na prośby wysyłane dla adresów w zweryfikowanych domenach.
Osiągaj wysokie pozycje w wyszukiwarce, które przełożą się na większą sprzedaż.
Pozostaje jeszcze przetestować, jak – przy tak podanym do indeksacji adresie – GoogleBot zachowa się przy blokadach indeksacji przez znaczniki meta, czy robots.txt oraz jaka będzie trwałość takiej indeksacji, ale przy chwilowym braku czasu, na razie pozostawiam to Waszym własnym testom ;)
Polecamy również: