JavaScript

március 31, 2005

JavaScript és kereső-optimalizálás

A JavaScript egy, a Netscape által bevezett kliens-oldali programnyelv. Segítségével egyszerű logikai funkciókat és bonyolultabb programokat lehet weboldalakba ágyazni, melyeket aztán a szerver helyett a kliens gép hajt végre. A nyelvet a Böngészők döntő hányada megérti, bár léteznek olyan szkriptek, amiket csak az Internet Explorer tud megjeleníteni. A neve ellenére gyakorlatilag semmi köze a Java-hoz. Használata akkor veszélyes a Keresőoptimalizálás szempontjából, ha az oldal egyes részeihez csak a JavaScript-be kódolt módon lehet eljutni.

JavaScript kontra keresőrobotok

Gyakori alkalmazás a legördülő, csillogó-villogó menüsorok megírása JavaScript-tel, mellyel a Flash vagy Java formátumú menühöz hasonlóan elzárhatjuk az egész oldalunk tartalmát nemcsak hogy a Keresőrobotoktól, hanem sokszor a nem Internet Explorer-t használó látogatóktól is. Ezt az alapvető hibát számos weboldalon elkövetik: Elrettentő példa ezekre a hibára a http://www.sapard.fvm.hu oldal, melynek készítői az adófizetők pénzéből csináltak egy olyan szájtot, amiből csak 14 lapot tudott beindexelni a Google, mindezt a Javascriptben megírt navigációs elemek miatt. Klikkelj ide a beindexelt lapok listájához!

Ezen felül számos olyan hibás nyitóoldallal lehet találkozni, mely meggátolja a keresők bejutását a webhelyre: egyetlen JavaScript-tel meghatározott link volt az intro oldalon, mely ilyesmi formában adta meg, hogy milyen tulajdonságokkal rendelkező felugró ablak nyíljon meg:

   <a href="#" onClick="window.open('nyito.htm' 'nyito','toolbar=no,                                     directories=no,location=no,status=yes,                                     menubar=no,resizable=no,copyhistory=no,                                     scrollbars=no,width=900,height=700');">   </a>

JavaScript alkalmazása alternatív tartalom megjelenítésére

A Keresőoptimalizálás során ki lehet használni a JavaScript azon tulajdonságát, hogy az emberi Látogatók döntő többsége JavaScript-képes böngészőt használ, míg a Keresőrobotok nem sokat törődnek a JavaScript-ekkel:

  • Flash alapú tartalom betöltése JavaScript segítségével: Mivel a Flash-képes böngészők gyakorlatilag JavaScript-képesek is, ezért a szöveges alternatív tartalmat magába foglaló HTML elemet úgy írhatjuk felül egy szkript segítségével, hogy a látogatók zöme azt észre sem veszi.
  • Frames szerkezetű oldalak optimalizálása során a keresők felől érkező látogatók sokszor az oldalak „belében” találják magukat: megfelelő szkriptek segítségével úgy lehet a navigációs keretet köréépíteni az oldalnak (gyakorlatilag átirányítani a megfelelő keretet meghatározó URL-re), hogy ez ne okozzon gondot a robotoknak.

Szövegek elrejtése JavaScript-tel

Régebben abszolút igaz volt, hogy a Google keresőrobotja nem követte a Javascript-ben található linkeket, és nem indexelte a JavaScript-tel megjelenített szövegek tartalmát. Manapság a Google törekszik arra (hasonlóan a [Flash jobb indexelés] érdekében végzett erőfeszítésekhez), hogy minél többet fedezzen fel a JavaScript-ben leírt, vagy a JavaScript által elérhető világ feltérképezésére, ezért ha a Weboldalak elrejtése a célunk, akkor ne feltétlenül JavaScript alapú linkekkel próbálkozzunk.

A legegyszerűbb dolga akkor van a Google-nek, ha a szkript forrása egy az egyben tartalmaz egy linket, hiszen ebben az esetben le sem kell futtatni a szkriptet, csak mint szöveges fájlt elemezni: megkeresni benne a http:// sztringet például, és megpróbálni lehívni az utána jövő URL-t. Nehezebben boldogul a rendszer akkor, ha az URL több sztringből, változóból, stb. áll össze, vagy valamilyen módon kódolva van, mert ekkor végre kell hajtani a szkriptet, aminek nagyobb az erőforrásigénye.

Funkciók, tartalmak előhívása újratöltés nélkül

Gyakori példa a JavaScript felhasználására a weblapok egyes elemeinek újratöltése, változtatása a lap egészének újratöltése nélkül. A probléma ebben az esetben a Felgöngyölítés megakadályozása mellet még az is, hogy az egyes tartalmakhoz nem feltétlenül tartozik külön URL, hiszen a Frames oldalakhoz hasonlóan csak az oldal „bele” változik, az URL nem, így nem lehet kívülről egyes oldalakat, funkciókat meghivatkozni. Például a http://sphere.com blogkereső lehetővé teszi blogok URL-jeinek bejelentését, azonban ez nem egy külön oldalon történik, hanem egy felugró ablakban, és hát sokkal bonyolultabb körülírni, hogy hol található meg az oldalon ez a felugró menü, mintsem egy URL-t megadni. Előfordulhat ezért, hogy inkább nem hivatkozik meg valaki egy ilyen tartalmat vagy funkciót, ezáltal szegényebbek lehetünk egy új külső hivatkozással.

Diszkrét JavaScript

A Weblabor diszkrét Javascriptről szóló cikkét elolvasva megtudhatjuk, hogy hogyan lehet keresőbarát (és felhasználóbarát) javascript oldalakat készíteni:

„…A diszkrét Javascript azt mondja, hogy a HTML kódunkban ne használjunk Javascriptet, válasszuk le, s tegyük külön fájlba teljesen scriptjeinket, s építsük fel úgy az oldalt, hogy azok nélkül is teljes funkcionalitással bírjon – maximum nem olyan kényelmesen. Ismerősnek tűnhet az ötlet: a mai modern CSS technikák pontosan ezt mondják a stíluslapok esetén is: válasszuk szét a megjelenést és a tartalmat…”

JavaScript helyett CSS

Kevesen tudják, hogy lehetséges legördülő menüket létrehozni CSS segítségével is. Sajnos ez a módszer nem működik Internet Explorerrel (6-os verzió), ezért csak érdekességképpen említem:

http://www.meyerweb.com/eric/css/edge/menus/demo.html

Érdekes JavaScript példák

A fentiek ellenére a JavaScript használata nem feltétlenül jelent katasztrófát egy weboldal számára; számtalan hasznos és/vagy szórakoztató alkalmazás hozható létre segítségével:

  • TiddlyWiki: A világ talán legkisebb Tartalomkezelő rendszere, de legalábbis, ami a tudást/méret arányt illeti, minden bizonnyal bajnok, méghozzá magával ragadó, addiktív bajnok.
  • JS/UIX: http://www.masswerk.at/jsuix/ Az élő példa, hogy JavaScript segítségével még UNIX-ot is lehet írni, legalábbis egy operációs rendszerre nagyon hasonlító valamit. Ezzel már el is értünk a Web 2.0-hoz, de legalábbis felsejlik a Web Operációs Rendszerek képe (lásd: GooOS)

AJAX

Aszinkron JavaScript és XML. Nagyon divatos. Eredeti leírása itt olvasható: http://www.adaptivepath.com/publications/essays/archives/000385.php

A „JavaScript” című bejegyzést 2005. 03. 31. napján publikáltam, az azóta már bezárt webni.innen.hu oldalon. Ezt az írást és az innen hivatkozott régi tartalmakat a Webni! Archívum oldalán gyűjtöttem össze. Mivel az utolsó módosítás dátuma: 2008. 08. 07., ezért az itt olvasható információk már részben vagy teljes egészében elavultak lehetnek.

Archivált hozzászólások

Google követi a JavaScript linkeket?

2006. 07. 14. 04:54 · OldalGazda →

http://www.seo.hr/blog/106

A fenti bejegyzésben Matt Cutts által elejtett egyik megjegyzésről írnak: „Google for one has gotten better at crawling even when links are in JavaScript.” (kb. azt jelenti, hogy a Google egyre jobb a Felgöngyölítésben, még akkor is, ha a linkek JavaScript-ben írtak. Szövegösszefüggésben lásd: http://www.mattcutts.com/blog/bot-obedience-herding-googlebot/ ), továbbá beszámolnak arról a tapasztalatukról, hogy volt olyan weboldal, melynek navigációja kizárólag JavaScript alapú volt, és mégis teljesen beindexelte a Google kereső.

javascript menurendszer?

2007. 11. 18. 09:18 · sanya7104 →

Tisztelt Oldalgazda! Nagy odafigyeléssel olvasom a webni-t. Szerintem óriási hozzáértésről tesz tanubizonyságot. A kérdésem az lenne, hogy használhatok-e az oldalamon LX-menut, ami javascriptes, de az Opera szöveges böngészője látja. Ráadásul a keresőrobotoknak biztosítanék alternatív útvonalat az Oldaltérkép segítségével. A keresők képesek így felgöngyölíteni az oldalt?Köszönöm válaszát!

Re:javascript menurendszer?

2007. 11. 19. 06:26 · OldalGazda →

Köszönöm a dícséretet! Nem volt számomra egyértelmű, hogy miről beszél, amikor LX menüt említett, de kis keresés után ezt találtam: http://www.menu4joomla.com/ ha erre gondolt, akkor a válaszom az, hogy ez a menü úgy épül fel, hogy a javascript kód mellett egy noscript elemben legenerálja a sima HTML kódot is. Konkrét tapasztalatom nincs azzal kapcsolatban, hogy hogyan díjazzák a keresők a noscript elemek között található tartalmat és linkeket, mert nem használok ilyen technikákat. Érzésem szerint azért jobb lenne, ha a sima html link nem noscript tagban lenne, hanem egy olyan sima html, pl. div elemben, aminek a tartalmát az oldal betöltésekor felülírja a végrehajtott JavaScript kód a csilli-villi menüvel.