EpicWEB.pl

webdesign, programowanie, phat lewt!

Ostatni projekt

ddrpl.com

Ostatnie wiadomości

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

Avatar użytkownika 1

Komentarz użytkownika Wasacz

15 07 2010

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

http://www.w3.org/TR/html401/charset.html#h-5.2.2

Avatar użytkownika 2

Komentarz użytkownika BTM

15 07 2010

A 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/&gt; powinien być umieszczony w bloku, Strona statyczna 'defaultpage.htm': Znacznik &lt;ENTRYTITLE/> powinien być umieszczony w bloku

I dzięki, przerzuciłem deklarację.

3

Komentarz użytkownika xenu

15 07 2010

1
W HTML5 kodowanie musi być zdeklarowane przed podaniem tytułu.

Avatar użytkownika 4

Komentarz użytkownika pecet

15 07 2010

I bardzo dobrze że interpretują JS, chociaż trochę ograniczy to falę SEOwców takich jak ty... ;)

Avatar użytkownika 5

Komentarz użytkownika Wasacz

15 07 2010

xenu: A możesz podać jakiś źródło? Trudno się szuka w tych ich speckach…

Avatar użytkownika 6

Komentarz użytkownika riddle

15 07 2010

Wiem, ż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

Avatar użytkownika 7

Komentarz użytkownika riddle

15 07 2010

Pomył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)

Avatar użytkownika 8

Komentarz użytkownika Marcin Kosedowski

15 07 2010

Co 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ć?

Avatar użytkownika 9

Komentarz użytkownika Wasacz

15 07 2010

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

Avatar użytkownika 10

Komentarz użytkownika Wasacz

15 07 2010

@riddle: Mylisz ANSI z ASCII, zdaje się.

Avatar użytkownika 11

Komentarz użytkownika Marcin Kosedowski

15 07 2010

Wyobraż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?

Avatar użytkownika 12

Komentarz użytkownika Wasacz

15 07 2010

Pytanie powinno brzmieć: kiedy to robi, a kiedy nie?

I to jest właśnie ciekawe ;)

Avatar użytkownika 13

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

Avatar użytkownika 14

Komentarz użytkownika GiM

16 07 2010

google parsuje strony w kilku trybach
to, że umieją JS wiadomo nie od dziś...

Avatar użytkownika 15

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.

Avatar użytkownika 16

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

Zostaw komentarz