Google vs Java Script
Do tej pory byłem przekonany, że Google nie radzi sobie (albo po prostu nie robi tego z wyboru) z elementami Java Script na stronie. Jakież było dziś moje zdziwienie kiedy chciałem znaleźć coś u siebie na blogu za pomocą Google - oto co ujrzałem:

"Ale o co Ci chodzi" - mógłby zapytać ktoś, "przecież masz dokładnie* taki tytuł strony:"

No właśnie nie bardzo - w wynikach Google pojawiło się dodatkowe "null" w tytule. Dodatkowo, z uwagi na sposób, w jaki pociąłem sobie szablon Joggera, tytuł podstrony muszę generować w nieco inny sposób:

Czyli jak widać, strona ma zupełnie inny tytuł nadany w HTML, który następnie w głębi kodu zostaje zmodyfikowany przy pomocy Java Script.
Na początku uznałem, że może być to przyczyna odkrycia linków do strony prowadzących np. z głównej strony Joggera czy innych blogów. Nie może to być jednak wyjaśnienie sytuacji, ponieważ tytuły linków z Joggera wyglądają zgoła inaczej - nie ma w nich głównego sloganu witryny. RSS? Również ma inne tytuły artykułów ...
Zostaje mi tylko jeden wniosek - Google (w jakimś tam stopniu) jest w stanie wywołać skrypty JS i pobrać dane ze zmodyfikowanej strony. Czy ktoś spotkał się może już z tym zjawiskiem i może wskazać jakąś publikację mówiącą o tym w jakim stopniu Google bierze pod uwagę takie - wygenerowane przez JS - treści?
Komentarze
Komentarz użytkownika Wasacz
15 07 2010A dlaczego właściwie tak?
Psst: nie wiem, jak z HTML5, ale w poprzednich wersjach było zalecane, żeby kodowanie podawać przed tytułem strony:
META declarations should appear as early as possible in the HEAD element.
Komentarz użytkownika BTM
15 07 2010A dlaczego właściwie tak?
Bo mam oddzielny plik header.html na górę strony, który sobie później includuje do szablonów. A jako, że Jogger nie ma żadnych tagów warunkowych do tego przeznaczonych, nie byłbym w stanie zrobić tak by był sam tytuł strony ALBO nazwa wpisu, " w " i tytuł strony.
Dodatkowo, Jogger straszy mnie komunikatem
Szablon wpisów: Znacznik <ENTRYTITLE/> powinien być umieszczony w bloku, Strona statyczna 'defaultpage.htm': Znacznik <ENTRYTITLE/> powinien być umieszczony w bloku
I dzięki, przerzuciłem deklarację.
Komentarz użytkownika xenu
15 07 20101
W HTML5 kodowanie musi być zdeklarowane przed podaniem tytułu.
Komentarz użytkownika pecet
15 07 2010I bardzo dobrze że interpretują JS, chociaż trochę ograniczy to falę SEOwców takich jak ty... ;)
Komentarz użytkownika Wasacz
15 07 2010xenu: A możesz podać jakiś źródło? Trudno się szuka w tych ich speckach…
Komentarz użytkownika riddle
15 07 2010Wiem, że to najpewniej powinno być rozwiązane po stronie Joggera, ale użycie JS do wyciągnięcia tytułu wpisu jest naprawdę głupie.
A jako, że <title> powinien być pierwszym elementem <head>, to możesz nadal sobie inkludować header, tylko pomijając jego kawałek, który zwyczajnie hardkodujesz.
http://skitch.com/riddle/dcix2/szablony
Komentarz użytkownika riddle
15 07 2010Pomyłka, title nie powinien być – <meta charset> musi być pierwszym (w związku z tym, że <title> może już mieć znaki poza zestawem ANSI)
Komentarz użytkownika Marcin Kosedowski
15 07 2010Co do indeksacji, to rok temu był test na Fabryce spamu: http://www.fabrykaspamu.pl/indeksacja-javascript-i-flash/ (nie działa pod Google Chrome z powodów ideologicznych).
Zresztą są programy, które podają wygenerowane źródło (np. Web Developer), więc dlaczego Google miałoby sobie z tym nie radzić?
Komentarz użytkownika Wasacz
15 07 2010A wyobrażasz sobie, jakie to powoduje zużycie zasobów? To też zależy od tego, jak bardzo to jest zaawansowane, bo na przykład przeszukiwanie źródła pod kątem wystąpień document.title miałoby bardzo niską skuteczność, vide var foo = document; foo.title = "bar" albo w ogóle obfuskacja, z której tyle witryn korzysta.
Komentarz użytkownika Wasacz
15 07 2010@riddle: Mylisz ANSI z ASCII, zdaje się.
Komentarz użytkownika Marcin Kosedowski
15 07 2010Wyobrażam sobie. A właściwie, to nie;). Dużo. Jednak fakt jest faktem, że to Google potrafi interpretować JS. Pytanie powinno brzmieć: kiedy to robi, a kiedy nie?
Komentarz użytkownika Wasacz
15 07 2010Pytanie powinno brzmieć: kiedy to robi, a kiedy nie?
I to jest właśnie ciekawe ;)
Komentarz użytkownika Bartosz "BTM" Szczeciński
15 07 2010@Marcin: dlatego napisałem, że być może robią to z wyboru. Dzięki za link.
@riddle: wiem, że JS jest głupi w tym wypadku i da się to rozwiązać np. wydzielając sam nagłówek już z BODY do naglowek.html, ale akurat kiedy pisałem szablon nie wpadło mi to do głowy. A teraz i tak myślę nad zmianą / poprawą więc może przy okazji się i to machnie
Komentarz użytkownika GiM
16 07 2010google parsuje strony w kilku trybach
to, że umieją JS wiadomo nie od dziś...
Komentarz użytkownika BTM
16 07 2010@GiM: jak widać, nie do końca wiadomo dlaczego ani kiedy. Jeżeli możesz podać źródło, które dogłębnie to tłumaczy, będę zobowiązany.
Komentarz użytkownika Void
17 07 2010@riddle: ASCII.
@kosa: jak ktoś tam słusznie zwrócił uwagę w komentarzach na podlinkowanej przez Ciebie stronie, ostrożnie ze stwierdzeniami "indeksuje flashe" - crawlowanie URLi to jedno, indeksacja treści to osobna sprawa...