Frame

március 31, 2005

Weblapok egymásba ágyazásának problémái

Sokak által kedvelt, bár meglehetősen elavult technológia. Legfőbb problémája, hogy az adott oldal nem feleltethető meg egy URL-lel, ezért például könnyen megtörténhet, hogy a keretes webhely kiinduló oldalát tesszük el könyvjelzőbe, nem pedig a keretes rendszer „belét”, mivel a böngésző címsorában nem a tulajdonképpeni tartalomhoz tartozó weblap címe jelenik meg. Még súlyosabb a helyzet, ha a frémeket nem felismerő böngészőket egy kedves üzenettel várja az oldal, ahelyett, hogy alternatív útvonalat ajánlana a NOFRAMES tagban. Praktikusan a Keresőrobotok is ilyeneknek számítanak, nem egyszer be is indexelik ezeket a kedves üzeneteket.

Keretek kontra online statisztikai számlálók

További technikai probléma, hogy mivel a látogatók a keret főoldalát hívják meg, ezért a keret „belében” elhelyezett online statisztikai kód nem képes regisztrálni azt, hogy ki honnan érkezett az oldalra (ki melyik előző webcímről hívta le a kérdéses dokumentumot), mert a hivatkozó oldal a keret főoldala lesz. Ha nincs mód a keret főoldalába illeszteni a webstatisztika mérőkódját, akkor nem lehet mérni azt, hogy ki milyen Külső hivatkozás, illetve Kereső-kifejezés révén, melyik kereső felől érkezett az adott oldalra.

Az Ingyenes webtárhelyek nagy része használja sajnos a Frame-eket, ami megnehezíti, vagy lehetetlenné teszi az oldalak beindexelését, továbbá a fenti technikai limitáció miatt ez a felállás a statisztikai mérőkódok hatékonyságát csökkenti.

Frame-s hatás CSS-sel

Amennyiben mindenképpen szükséges a frame alkalmazása, akkor az megoldható a Stíluslap segítségével is. Létezik a position: fixed tulajdonság a lépcsőzetes stíluslap (CSS) szabványában, azonban az Internet Explorer ezt nem veszi figyelembe. Ennek ellenére különböző trükkökkel megoldható, hogy (majd’)minden böngésző számára frame-s szerkezetet állítsunk elő CSS-sel, anélkül hogy valódi frémekkel kellene bajlódjunk. A módszer részletes leírása itt található:

http://devnull.tagsoup.com/fixed/

IFRAME elem

A FRAME elemhez hasonló módon az IFRAME is több weboldal egymásba ágyazását teszi lehetővé: például az egyik oldalban létrehozhatunk egy „ablakot”, ahol egy másik weboldal tartalma jelenik meg. Ez utóbbi weblap azonban szintén nem képezi részét az őt megjelenítő weblapnak.

Frame és a Google

„A Google támogatja a frémeket, amennyire ez tőle telik.”, azonban javasolja a NOFRAMES tag alkalmazását: ennek elsajátításához egy linket is ajánl: http://searchenginewatch.com/webmasters/article.php/2167901

A Google mind a frame elemekben, mind az iframe elemekben található oldalakat felgöngyölíti (beindexeli az SRC típusú linkeket is) . A Felgöngyölítés sebessége, mélysége függhet az oldal Általános fontosságától vagy attól, hogy létezik-e máshonnan bejövő link a frame-s rendszer belsejébe, vagy esetleg attól, hogy milyen régóta szerepel a webhely az Google adatbázisában.

Frame és a Yahoo!

A Yahoo! kereső Keresőrobotja, a Yahoo Slurp csak a HREF típusú linkeket követi, az SRC típusúakat nem, ezért az olyan oldalak, amik csak így érhetőek el, nem kerülnek felgöngyölítésre.

Frame-k és keresőoptimalizálás

A Frame-s szerkezetű oldalak optimalizálása is lehetséges, ehhez azonban két párhuzamos világot kell felépíteni: egyet a látogatóknak, akik ha a nyitóoldalon lépnek be, megkapják a kerete(ke)t és a beléjük töltött tartalmat, másikat pedig a keresőrobotok számára Az oldalszerkezet belsejébe Mélylinkeléssel mutató Külső hivatkozások, [Belső hivatkozás]ok és az Oldaltérkép is a többi oldalnak csak a „belére” irányítják a robotokat, nem pedig a komplett, kereteket is tartalmazó oldalakra.

Az a probléma ezzel a módszerrel, hogy azok a látogatók, akik a robotok számára létrehozott utakra keverednek, keretek, így navigációs segítség nélkül szembesülhetnek az oldalakkal. Praktikusan, ha a keresők felől jönnek a látogatók, akkor nagy valószínűséggel a keret nélküli oldlalakra jutnak, tehát csak az oldalak „belét” látják, az optimalizálás eredményének megfelelően.

Ezeket az eseteket JavaScript kódok segítségével lehet kivédeni: ha a kód detektálja, hogy nem a keretbe töltötték be a tartalmi oldalt, akkor vagy az aktuális URL-nek megfelelően meghívja a keretes szerkezethez tartozó címet, vagy betölt egy egyszerűsített navigációs elemet az oldalba (amit egyébként nem töltene be, ha az oldal rendben, a keretbe töltődik.) A keresőrobotok mivel nem értelmezik a JavaScript-et, ezért figyelmen kívül fogják hagyni mindezt, és mennek az általunk megszabott úton.

OldalGazda véleménye: Némi probléma ezzel a módszerrel, hogy mást mutat a látogatóknak, mint a robotoknak, és ezt akár a Kereső programok ajánlásainak be nem tartásaként is lehet értékelni. Nem lehet tudni továbbá, hogy a jövőben nem értelmezik-e majd a JavaScript elemeket is a robotok, felfedezve és talán szankcionálva az ilyen trükköket. A teljes képhez hozzátartozik, hogy nem visszaélés miatt látnak mást a robotok, mint a látogatók, hanem technikai kényszeűség okán. Mindenesetre manapság működik ez a rendszer, bár tényleg csak akkor érdemes használni, ha más megoldás nem jöhet számításba.

A „Frame” 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: 2007. 08. 13., 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