Aby wejść na niektóre podstrony linkuje je za pomocą onclick="javascript:window.location='?p=asd'" czy google bot sobie z tym poradzi, i będzie potrafił poruszać się po stronie?
Nie.
Ano nie.
Po co to tak linkujesz? Nie możesz użyć normalnego, prawidłowego a href? (czemu?)
Tak.
Taki prosty javascript googlebot jest w stanie zrozumieć:
http://www.seowhitehats.com/2009/06/04/googlebot-reads-javascript-onclick-links.html
http://www.google.com/support/forum/p/Webmasters/thread?tid=12c1025e230f6a51&hl=en
As Googlebot can now read the content of the onclick attribute(...)
Zawsze trzeba zakładać że JS nie zadziała zawsze. Przykład:
<a href="window.html" onClick="openWindow('window.html'); return false;">
Strona lepiej się zindeksuje.
@down
To był
Przykład
...
A
<a href="window.html" target="_blank">costam</a>
Nie zadziała?
@winerfresh:
to się "nie waliduje"..
Z tego co napisali to przez HTML5 przejdzie.
Po pierwsze, to to "się nie waliduje" nie bez powodu. Ludzie potrafią otworzyć sobie link w nowym oknie, bez obawy. Jak chcą, to to zrobią. Klikną środkowym przyciskiem myszy, albo klikną prawym i wybiorą "Otwórz w nowej karcie/nowym oknie". A jak nie chcą otwierać w nowej karcie, to klikną lewym i otworzą w bieżącej.
Chyba że dacie target. Wtedy tak czy siak musi im się to otworzyć w nowej, a ludzie muszą cofać się do starej karty i ją od razu zamykać. Ew. nie zauważą, że jest otwarta i wtedy macie okazję wkurzyć ich nagłym dźwiękiem z jakiejś reklamy, który uaktywni się po paru minutach, ew. możecie cieszyć się, że czyjaś sesja trwała nie minutę, tylko 5 minut (przy czym była to tylko karta otwarta w tle) i macie zarąbiste usability na stronie :P.
Ale jak już trzeba, to bodaj najbardziej efektywne rozwiązanie polega na dodaniu do linków klasy "external", czy "new_window" (nazwijcie jak chcecie). Następnie kod z zewnętrznego skryptu przeszukuje wszystkie linki z dokumentu i tym, co mają tę klasę "external" daje onclick, które otwiera URL (pobrany atrybutu href linka) w nowym oknie i odpala preventDefault().