Startseite aufrufen
« Zurück
Vor »

Kommentar schreiben | Drucken

Frame or not to frame – Vorteile und Nachteile von Frames

-- 14.Juni 2005 (#5)

Frames sind eine beliebte Technik, um schnell und einfach wiederkehrende Elemente (z. B. ein Menü/Navigation oder Banner) auf allen Internetseiten zu platzieren. Der Vorteil liegt auf der Hand: das Element muss nur einmal erstellt werden und eine Änderung daran wird sofort auf allen Seiten angezeigt. Aufgrund seiner Einfachheit werden Frames besonders gerne von Anfängern eingesetzt.

Welche weiteren Vorteile haben Frames und was sind vor allen Dingen die Nachteile und Alternativen?

Zu den Vorteilen von Frames:

  • Sie sind einfach und praktisch bei simplen, statischen Seiten.

  • Frames ermöglichen es, feststehende Elemente zu erstellen, so dass z.B. die Navigation nicht mitscrollt.

  • Es lässt sich leicht eine einzelne Seite ohne Menüs etc. laden, um für die Besucher eine Druckversion anzubieten.

  • Die Ladezeit und der Traffic sind gering, da immer nur ein Teilbereich (also meist nur ein Frame) geladen werden muss.


Auf der anderen Seite bringt die Frame-Technik einige Nachteile mit sich, so dass man sich durchaus mit den Alternativen beschäftigen sollte, welche am Ende auch nochmal kurz angerissen werden. Die Basis jeglicher Frameproblematik ist, dass Frame-Seiten anders als normale Internetseiten, gegen ein grundlegendes Prinzip verstoßen, sie bestehen nämlich aus mindestens 2 Seiten (Frames). Die klassische Internetseite besteht aus einer einzigen Seite, einem HTML-Dokument und
ist über die Adresse, welche in der Adressleiste zu sehen ist, eindeutig identifizierbar. Eine Frame-Seite hingegen enthält zunächst einmal gar nichts, das Frameset ist (abgesehen von dem <noframes>-Bereich, auf den ich noch eingehen werde) ein leerer, inhaltsloser Container, welcher lediglich in verschiedene Frames eingeteilt ist und mit dem jeweiligen Frame auf ein HTML-Seite verweist.

Der Code einer Frame-Seite ist ähnlich wie folgt aufgebaut:

<frameset cols=20%, 80%>
<frame name=menu src=menu.html>
<frame name=inhalt src=inhalt.html>

Dieses Beispiel ist in 2 Frames aufgeteilt: ein Menü mit 20% Breite und der eigentliche Inhalt mit 80% Breite. In den beiden Frames werden die Seiten menu.html und inhalt.html angezeigt, das eigentliche Frameset ist aber leer.

Wozu führt dieser Verstoß gegen das Prinzip, dass eine Seite nur aus einer HTML-Seite besteht?
Es bringt gleich eine ganze Reihe von Nachteilen mit sich. Alle folgenden Probleme sind nur verschiedene Phänomene für die selbe Ursache. Zwar können sie viele dieser Probleme durch Hacks und Griffe in die Trickkiste minimieren, aber diese haben wiederum selbst Nachteile und sind für den Perfektionisten allesamt nicht zufriedenstellend.


Die Nachteile von Frames:

  • Suchmaschinen sind reichlich blind, jedenfalls im Vergleich eines normalen Internetbenutzers. Suchmaschinen können keine Frames sehen… die meisten jedenfalls. Wenn sie keine besonderen Maßnahmen ergreifen, dann wird Google lediglich ihr Frameset indexieren und das ist, wie wir ja bereits erfahren haben, so gut wie leer.
    Einige Suchmaschinen wie MSN indexieren immer nur einzelne Frames, aber nicht das ganze Frameset. Folge: Der Besucher findet in MSN immer nur ein einzelnes Frame bei der Suche. Wenn er den Suchtreffer aufruft, dann landet er auf einer Seite ohne Menüs und Navigation. Der Besucher befindet sich damit also in einer Sackgasse und wird ihre Seite schnell wieder verlassen.
    Abhilfe schaffen sie in diesem Fall, indem sie fehlende Frames durch JavaScript nachladen. Beispiele dazu finden sie im Internet reichlich, z.B. hier oder hier. Bedenken sie: es handelt sich hier um einen der besagten Hacks oder Tricks, denn das Nachladen von Frames selbst ist wiederum nicht ganz unproblematisch:
    1.Die meisten Menschen benutzen Browser, die JavaScript unterstützen (ca. 95%). Dennoch birgt JavaScript die Gefahr, dass vielleicht 5% ihrer Besucher weiterhin in einer Sackgasse landen, da sie JavaScript aus Sicherheitsgründen bewusst deaktiviert haben oder ihr Browser kein Javascript unterstützt.
    2.JavaScript könnte von Suchmaschinen zu einer Abwertung ihres Rankings führen. <script>-Passagen in HTML-Codes sind für Suchmaschinen potentielle Verdächtige, da mit JavaScript häufig versucht wird die Suchmaschinen auszutricksen.
    3.Ihr Aufwand steigert sich.

  • Kurze Wiederholung: eine normale Internetseite ist durch seine Internet-Adresse eindeutig identifizierbar, eine Frame-Seite hingegen nicht. Das erschwert eine der wichtigsten Eigenschaft des Internets: die externe Verlinkung. Vorteilhaft ist das lediglich, wenn sie bewusst auf eine externe Verlinkung ihrer Seite verhindern wollen.

  • Einige (besonders ältere Browser) haben das Problem, dass sie lediglich einen Bookmark auf die Startseite setzen können. Wenn sie einen Bookmark auf einer Unterseite anlegen, dann wird ihr Browser sie beim nächsten Aufruf des Bookmarks auf die Startseite schicken und sie ihre Information womöglich erst wieder mühsam suchen müssen. Neuere Browser können inzwischen aber auch Unterseiten bookmarken.

  • Einige Browser können auch nur einzelne Frames ausdrucken und nicht die komplette Seite.

  • Einige Browser können nur den Quellcode des Framesets anzeigen, aber nicht den Quellcode einzelner Frames.

  • Veraltete Browser können keine Frames darstellen, selbiges gilt für viele Textbrowser und Browser für Sehbehinderte. Die Benutzer solcher Browser sehen stattdessen nur den <noframes>-Bereich. Teilweise bieten solche Browser auch an, die Frames einzeln aufzurufen, aber niemals das komplette Frameset. Eine ganz wichtige Rolle könnten hier in Zukunft mobile Endgeräte (PDAs, Handys, Handhelds, Bildschirme in Autos etc.) spielen, da diese wahrscheinlich ebenfalls keine Frames darstellen werden.

Weitere Nachteile der Frame-Technik:

  • Frames sind praktisch bei einfachen und statischen Seiten. Bei komplizierten Seiten (z.B. mit Parameterübergaben) steigert sich der Aufwand durch die Frame-Technik. Anderes Szenario: Sie wollen nicht nur ein Frame laden, sondern zwei. Technisch ist eigentlich nur das Laden von einem einzigen Frame vorgesehen, aber um zwei oder mehr Frames gleichzeitig zu laden, müssen wir uns wieder einem etwas schmutzigen Hack
    bedienen, nämlich JavaScript. Auch hierzu gibt es wieder reichlich Beispiele im Internet, z.B. hier.

  • Da bei Frames nicht nur eine HTML-Seite vom Server geladen werden muss, sondern mindestens 2 HTML-Seiten, steigert sich die Last auf den Server minimal. Durch die Frame-Technik müssen also mindestens 2 Anfragen an den Server gestellt werden.

  • Das W3C-Konsortium steht der Frame-Technik eher ablehnend gegenüber. Besonders unter dem Gesichtspunkt barrierefreies Internet: http://www.w3.org/TR/WCAG10-HTML-TECHS/#frames. Frames können Blinden und Sehbehinderten, die auf spezielle Lesegeräte für Brailleschrift oder Screenreadern angewiesen sind, das Surfen im Internet erheblich erschweren. Wenn sie dennoch Seiten mit Frames erstellen möchten, so benutzen sie bitte den korrekten DTD:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">


Ich kam auf die Nachteile von Frame-Technik bezüglich Suchmaschinen zu sprechen. Wie kann man aber trotz Frames eine suchmaschinenfreundliche Seite erstellen und ein gutes Ranking bekommen?
Hierfür gibt es den <noframes>-Bereich. Das ist der einzige Bereich, der in einem Frameset auch tatsächlichen Inhalt haben kann und der besonders für die Suchmaschinen interessant ist. Der <noframes>-Bereich wird angezeigt, wenn ein Besucher eine Frames-Seite besucht, aber der Browser (respektive der Suchmaschinenspider) keine Frames unterstützt (z.B. Textbrowser). Sie können in diesem Bereich ganz normales HTML verwenden.
Wenn sie es auf die Spitze treiben wollen, können sie im <noframes>-Bereich sogar eine zweite Version ihrer Webseite anfertigen, für Menschen die keine Frames sehen können. Aber eigentlich ist das übertrieben, da gemessen am Aufwand der <noframes>-Bereich nur für (Such-)Maschinen sinnvoll einsetzbar ist. Machen sie also folgendes:

  • Füllen sie den <noframes>-Bereich mit allen Links auf (anklickbar!). Am besten wäre eine Sitemap, also eine grobe Gliederung oder Struktur ihrer Seite.
    Benutzen sie hierfür Headlines (<H1>, <H2>, <H3>…). Es muss nicht perfekt sein, sondern soll nur der Suchmaschine helfen sich auf ihrer Seite zu orientieren und ihre Links zu indexieren.

  • Geben sie wichtige Suchbegriffe an (am besten ausformulierte Sätze).

  • Benutzen sie JavaScript, damit Frames nachgeladen werden und ihre Besucher nicht in einer Sackgasse landen.

  • Viele Seiten haben in ihrem <noframes>-Bereich lediglich folgenden Satz (oder etwas ähnliches) stehen:

    Ihr Browser unterstützt keine Frames. Bitte besorgen sie sich eine aktuelle Version ihres Browsers.

    Vermeiden sie so einen Satz!

(Fast) zum Schluss der letzte Nachteil von Frames.
HTML hat die besondere Eigenschaft, besonders dynamisch und anpassungsfähig zu sein, was seine Darstellung angeht. Frames schränken diese Flexibilität der HTML-Darstellung ein. Dazu möchte ich ein kurzes Beispiel zeigen:

Die linke Seite ist eine simple Frame-Seite. Sie ist so aufgeteilt, wie die meisten Seiten: links ein Menü, rechts der Inhalt. Die Trennung dieser beiden Elemente wird durch die Farben hervorgehoben.
Rechts wird die gleiche Seite ohne Frames angezeigt, also eine mögliche Realisierung mit Tabellen oder CSS.


Was passiert nun, wenn ein Benutzer eine andere Schrift einsetzt, wie sie als Autor der Seite? Oder wenn jemand seine Schriftgröße erhöht hat, z.B. wegen einer Sehschwäche oder weil der Besucher eine sehr hohe Auflösung hat und ihre Schrift nicht skaliert und ohne Vergrößerung kaum lesbar wäre?

Links ist wieder die Version mit Frames zu sehen, rechts dieselbe Variante ohne Frames.
Folgendes ist zu sehen: Rechts verbreitert sich das Menü automatisch, die Seite passt sich also den Inhalten an.
Links bei der Frame-Seite bleibt das Menü starr, Teile des Menüs sind plötzlich gar nicht mehr sichtbar, weil sie sich „unter den Inhalt schieben“, es entstehen (unschöne) Scrollbalken.
Woran liegt das? Man kann es so abkürzen: Frames sind dumm. Ein Frame weiß nichts davon, dass es ein Frame ist. Es wird als eigenständige Seite behandelt. Die Flexibilität von HTML geht dadurch verloren, Scrollbalken entstehen. Manche Autoren versuchen diesen Schönheitsfehler zu kaschieren, indem sie
den Scrollbalken ganz verbieten (lässt sich im Frameset ausschalten), Fazit: der Besucher kann womöglich einige Bereiche der Seite (wie hier das Menü) gar nicht mehr sehen, Informationen gehen verloren.

Welche Alternativen gibt es zu Frames?

Wenn sie immer wiederkehrende Elemente auf ihrer Seite einfügen wollen, dann können sie als Alternative so genannte SSI- oder PHP-Includes verwenden. Sie müssen vorher nur überprüfen, ob ihr Webspace-Provider dies unterstützt.

Beispiele hierzu:
PHP (benutzen sie die Endung php für ihre Seiten, z.B. index.php):

include 'menue.html';

SSI (benutzen sie die Endung shtml, shtm oder sht für ihre Seiten, z.B. index.shtml):

<!--#include virtual="menue.html" -->



Fazit:

Aus den genannten Gründen ist von der Frame-Technik eher abzuraten und auf die Alternativen zurückzugreifen. Wie sie gesehen haben, lassen sich zwar viele Nachteile von Frames größtenteils umgehen, aber da dem Webautoren dadurch ein gewisses Know-How in Dingen wie JavaScript und Co. abverlangt wird, wird damit auch einer der großen Vorteile von Frames zerstört: die Einfachheit.

Unter Umständen kann es aber auch sinnvolle Anwendungsgebiete für Frames geben, nämlich wenn sie als Webautor bewusst eine Indexierung durch Suchmaschinen verhindern wollen oder wenn sie nicht darauf angewiesen sind, in Suchmaschinen gut gelistet zu werden. Das kann z.B. der Fall sein, wenn sie eine Intranet-Lösung realisieren wollen. Auch für andere Projekte, wie die Programmierung eines Web-Chats, kann die Frame-Technik seine Stärke ausspielen. Weiterhin können Frames natürlich auch als Notlösung herhalten, wenn sie nur mal schnell und einfach eine kleine Seite erstellen oder ihr Webspace-Provider kein SSI oder PHP unterstützt.


Geschrieben von
Andre (anonym)
-- 04.Januar 2006 (#5)

Schicker Bericht und wiedermal super geschrieben, das es auch Nicht-Seo´s verstehen - Kompliment.

Ich vermisse die Iframes ein wenig, welche ja auch nicht bedeutungslos sind, als Mixeinsatz zum normalen Frameset und den Nicht-Frame Seiten.

Ansonsten noch ein gesundes und frohes Neues Jahr 2006 und weiter so gute Arbeit auf deinem Blog!

Gruss
André


Geschrieben von
Markus (anonym)
-- 11.Oktober 2006 (#8)

Hallo

Gibt es irgendwo Anleitungen/Beispiele wie ich ein Ersatz von Frames mit SSI- oder PHP-Includes finden kann?

Gruss Markus


Geschrieben von
Dirk
-- 15.Januar 2006 (#6)

Dankeschön.

Na gut, der Artikel ist nicht komplett. Ich finde den Beitrag so schon relativ lang und ich will ja auch niemanden mit Bandwurmsätze und Aufsätzen in epischer Breite langweilen.

Vielleicht wären SSI- und PHP-Includes und IFrames auch ein eigener Beitrag wert, die dann an dieser Stelle nur noch verlinkt werden würden. Mal gucken, aber im Moment habe ich zu nichts Zeit.

Dirk


Geschrieben von
Philipp (anonym)
-- 16.Dezember 2005 (#3)

Hi,
eine sehr schöne Ausarbeitung!

Besucht auch meine Abhandlung zu Frames

mfg


Geschrieben von
Anton (anonym)
-- 27.Januar 2008 (#18)

Habe auch mit der Zeit diese Nachteile mit Frames erlebt. Gutes Kommentar. Stimmt zu 100%. Danke


Geschrieben von
Lioni (anonym)
-- 01.Oktober 2007 (#14)

Hallo,

ein echtes DANKE für die ganzen Infos. Würde mich freuen wenn hier weitere solche Informationen geschrieben werden könnten.

Grüße
Lioni


Geschrieben von
Dirk
-- 28.Juli 2005 (#2)

Schön. :-)


Geschrieben von
Lars (anonym)
-- 27.Januar 2008 (#17)

Mir hat die ausführliche Beschreibung sehr gefallen. War sehr hilfreich. Danke


Geschrieben von
kevin (anonym)
-- 28.Juli 2005 (#1)

Hallo

mein Kurzkommentar: Extrem starke Informationen!

Etwas ausführlicher:
Ich habe eine Seite mit sehr vielen Unterseiten die auch immer noch am Wachsen ist. Jetzt habe ich feststellen müssen, dass ich auf meiner Index Seite den PageRank 4 habe, meine Unterseiten jedoch alle PageRank 0. Im Google NavBar wird zwar PageRank 3 angezeigt, aber alle Testprogramme für den PageRank geben den Rang 0 aus. Ich führe das auf die Anwendung von IFrames zurück.
Jetzt suche ich Lösungen um diesen "Missstand" zu beheben. Ihre Seite hat mir einige nützliche HInweise geliefert. Vielen Dank.

greez… kevin


Geschrieben von
dickeRobbe (anonym)
-- 29.Dezember 2005 (#4)

Hallo,

soweit so gut, aber der Teil "Welche Alternativen gibt es zu Frames?" ist mir ein wenig zu kurz und inhaltlich äußerst pauschal geraten. Gerade diejenigen, die noch Frames einsetzen, werden mit PHP und SSI sowieso nix anfangen können (sonst würden sie es bereits verwenden).

Grüße


Geschrieben von
Tomato (anonym)
-- 18.April 2008 (#19)

Nun, ich habe frisch mit Websiten angefangen… und bin völlig auf Frames angewissen!!! Bin jetzt überzeugt, dass ich umsteigen muss! Habt ihr Links zu Tutorials über PHP & SSI???


Das Hinzufügen von Kommentaren wurden deaktiviert.


Menü
Beitragsübersicht
Kontakt & Impressum
Über mich
Linkempfehlungen/Linkpartner

Letzte Kommentare
»Vorstellungsgespräch: E…
»Die Krux mit den Hinter…
»Bewerbung: Standard-Abs…
»Glossar: Quirks-Modus (…
»Glossar: Quirks-Modus (…

Meta
RSS 2.0
XHTML-Validierung
CSS-Validierung

Backlinks
»Spam vermeiden
»Internetagentur Ulm
»Bruststraffung
»Fernstudium
»TuS Graf Kobbo Tecklenburg
»Interpretation