HTML SEO Programmierrichtlinien

te one

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.255
Hallo,

ich bin seit langer Zeit wieder mit Webprogrammierung beschäftigt.
Zur Unterstützung setze ich auf die Frameworks YAML und jQuery.

Nun bin ich am überlegen wie ich die Logik hinter der Seite aufbaue um das ganze möglichst suchmaschinenfreundlich zu gestalten.

Mal ein paar Beispiele was gemeint ist:
- Menüpunkt läd komplett neue Seite (absolut unproblematisch. Etwas mehr Traffic, aber kein Problem)
- Menüpunkt läd bestimmte Seite in haupt-div zB über POST/GET (Get könnte man direkt verlinken. Eventuell aber Suchmaschinenunfreundlich?)
- Menüpunkt setzt Cookie/Session-Variable wodurch im main-div der passende text eingeblendet wird (fällt raus, da keine direkte Verlinkung möglich ist)
- etc.

Variante 1 nutzen und jede Seite als komplett eigene Datei anlegen?

Danke schonmal für eure Tipps
 
Was man NICHT tun darf:
- niemals unter einer URL verschiedene Inhalte verfügbar machen. Hinter der start.html sollte auch immer die Startseite liegen und nicht mal eben dynamisch ein Mitgliederverzeichnis geladen werden. Wenn man Inhalte dynamisch per JS nachlädt, dann sollten immer entsprechende Hashtags darauf hinweisen... ist aber insgesamt ziemliche Kacke
- niemals Seiten so schreiben, dass sie nur mit JS navigierbar sind. Immer erst eine reine JS-lose Version bauen und dann über JS aufpeppen. Suchmaschinen beherrschen kein JS...

Wenn du dir das Leben aber wirklich entspannt gestalten willst, setz einfach auf ein gutes CMS. Da gibts dann nur eine index.php und über GET-Parameter werden die passenden "Unterseiten" geladen, und zwar üblicherweise dynamisch aus einer Datenbank.
 
Baust du deine Website für Bots oder für Menschen? Verbieg dich und deine Seite wegen dem SEO-Firlefanz nicht, es sei denn dir sitzen BWLer im Nacken, die auf bestimmte Klickanzahlen aus sind, egal ob die klickenden User überhaupt zu deinem Content wollten oder nicht.
 
Ein CMS wollte ich nur ungern nutzen, da dadurch doch einiges an Freiheit verloren geht (man kann dort sicherlich auch alles einbauen, allerdings braucht das viel Zeit und die habe ich Privat eher nicht).
Ich hatte mal ein kleines CMS selbstprogrammiert. Deshalb überlege ich eben nun ob ich wenigstens Texte etc. in eine Datenbank auslagere und wie oben beschrieben per GET einbaue.

Ich baue die Seite für Menschen, allerdings möchte ich bestimmte Unterseiten unbedingt in Suchmaschinen möglichst weit oben finden können :)

Ich glaube zur möglichst einfachen Umsetzung erzeuge ich wirklich immer eine komplett neue Seite. Dann kann ich mir sicher sein, dass die Metadaten zum entsprechenden Inhalt der Seite passen. Und Änderung werden sowieso recht selten geschehen (bzw. kann ich bestimmte Inhalte dann auch in eine Datenbank auslagern, falls sie sich häufiger ändern)
 
Tumbleweed schrieb:
Baust du deine Website für Bots oder für Menschen? Verbieg dich und deine Seite wegen dem SEO-Firlefanz nicht, es sei denn dir sitzen BWLer im Nacken, die auf bestimmte Klickanzahlen aus sind, egal ob die klickenden User überhaupt zu deinem Content wollten oder nicht.
Du baust deine Seite für Menschen, aber Menschen müssen die Seite erst einmal finden. Oh, und Menschen haben auch nicht immer JavaScript an. JS gehört sich nicht in die Navigation oder den Aufbau rein informativer Inhalte.

Leute, die kein JS aktiv haben:
- Alle, die sich mit NoScript und ähnlichen Addons vor Drive-By - Viren schützen wollen. Das sind RICHTIG viele.
- Alle, bei denen es als Firmenrichtlinie oder sowas deaktiviert ist. Auch nicht wenige.
- Sehbehinderte, die Seiten über Screenreader oder Braille-Terminals besuchen. Je nach Zielgruppe der Seite können das ordentlich viele sein. Ich denke da nur an Selbsthilfegruppen.

te one schrieb:
Ein CMS wollte ich nur ungern nutzen, da dadurch doch einiges an Freiheit verloren geht
Ich hab die Erfahrung gemacht, dass man hier meist Freiheiten einbüßt, die man am Ende doch sogut wie nie braucht. Nimm nur die freie Gestaltung der Seite... Am Ende läuft es ja doch immer auf Header, Content (1-3 Spalten), Footer raus, mit ner Navigation entweder im Header horizontal oder in der linken Spalte vertikal, mit oder ohne Baum.

Ich glaube zur möglichst einfachen Umsetzung erzeuge ich wirklich immer eine komplett neue Seite. Dann kann ich mir sicher sein, dass die Metadaten zum entsprechenden Inhalt der Seite passen. Und Änderung werden sowieso recht selten geschehen (bzw. kann ich bestimmte Inhalte dann auch in eine Datenbank auslagern, falls sie sich häufiger ändern)
Du könntest mit include() arbeiten, um dir eine Menge Mühe zu ersparen.

header.php, footer.php, nav.php... und dann halt in jeder deiner Seiten header, footer, nav includen statt 10x dasselbe zu schreiben.
 
Ich halte dieses Anti-JS-Gefasel für einen großen Mythos. Ich kenne niemanden, der JS konsequent aus hat. Ich benutze NoScript selbst sporadisch, aber man ist ja quasi gezwungen haufenweise zu erlauben, da sonst viel Funktionalität und Komfort flöten geht.

Firmenrichtlinien? Naja, kommt dann wohl auf die Zielgruppe der Website an.

Das dritte Argument ist durchaus legitim, aber eben so ein Totschlagargument, wo man selbst entscheiden muss, ob einen das interessiert. Auch auf die Gefahr hin, dass ich für ein kinderfressendes Monster gehalten werde - es ist eben auch nur eine winzige Gruppe und daher rechtfertigt das den Aufwand wohl nur in wenigen Fällen und schon gar nicht bei so einer privaten Seite...^


Ach so, noch zum "Finden der Website"-Argument - stimmt schon. Aber das legitimiert nicht generell diesen SEO-Humbug. SEO wuchtet Scheiße nach oben, nicht notwendigerweise tolle Inhalte.
 
Zuletzt bearbeitet:
SEO hebt genau das hervor, auf das du den Fokus setzt. Wenn deine Inhalte was taugen und deine Maßnahmen durchdacht sind, dann wirst du für diese Inhalte auch einen ordentlichen Zuwachs im Ranking spüren.

Ich konnte bei einem unserer Projekte in letzter Zeit regelrecht zugucken, wie sich das Ranking verbessert hat, einfach nur dadurch, dass der Code aufgeräumt wurde, die URLs keine kryptischen Parameter haben und konsequent auf Leistung geachtet wurde. Ohne an den Inhalten auch nur einen Klecks zu verändern hat die Seite sich in etwas über einem Monat um 1-2 Plätze auf der ersten Seite in der Google-Suche verbessert.
Sowas ist nicht nur eine Marketing-Masche der SEO-Agenturen, konsequente Umsetzung von SEO-Richtlinien hat tatsächlich einen spürbaren Erfolg. Es gibt durchaus Aspekte, die unter Bullshit-Bingo fallen, aber vieles zeigt auch ordentlich Wirkung.
 
Daaron schrieb:
Du baust deine Seite für Menschen, aber Menschen müssen die Seite erst einmal finden. Oh, und Menschen haben auch nicht immer JavaScript an.

Genau und zum finden der Webseite möchte ich sie eben für Suchmaschinen optimieren.
Zum JS-Thema: Ja, nicht jeder hat es an. Und nein, man kann nicht immer jedem Gerecht werden. Wer z.B. Sehbehindert ist, braucht meine Seite sowieso nicht zu besuchen (nein ich habe nichts gegen Sehbehinderte. Denen wird die Seite nur sowieso nichts helfen). Und als Netzwerkadministrator hatte ich bis jetzt nie ein Firmennetzwerk "in der Hand", wo JS deaktiviert wäre. Und wenn doch: Das passiert eben.

Daaron schrieb:
SEO hebt genau das hervor, auf das du den Fokus setzt. Wenn deine Inhalte was taugen und deine Maßnahmen durchdacht sind, dann wirst du für diese Inhalte auch einen ordentlichen Zuwachs im Ranking spüren.

Ich bin mir sicher, dass der Inhalt durchaus für viele Nutzer sehr interessant sein wird. Jedoch sind das Themen zu denen man eben viel "Müll" findet. Und deshalb möchte ich möglichst oberhalb dieses elektronischen Mülls landen.


Habe nun schon etwas mit der Programmierung angefangen.
Ich erstelle nun wirklich jede Seite extra (grober Aufbau wird eben aus einer Datei für alle geladen. Inhalt dann direkt in jede einzelne Datei geschrieben).
Menüpunkte und -verlinkungen lagere ich aus. Aktuell einfach ein PHP-Array. Eventuell werde ich das auch mal in eine Datenbank bringen.
 
te one schrieb:
Zum JS-Thema: Ja, nicht jeder hat es an. Und nein, man kann nicht immer jedem Gerecht werden. Wer z.B. Sehbehindert ist, braucht meine Seite sowieso nicht zu besuchen (nein ich habe nichts gegen Sehbehinderte. Denen wird die Seite nur sowieso nichts helfen). Und als
Nochmal: Suchmaschinen beherrschen auch kein JS. Es gibt ein paar grobe Experimente von Google mit den AJAX Hashes, aber die sind alles andere als zuverlässig.

Wenn du wissen willst, wie deine Inhalte von einer Suchmaschine gesehen und indiziert werden, dann besuch deine Seite mit einem Textbrowser wie Lynx. Suchmaschinen können im Vergleich zu solchen einfachen Textbrowsern nur eines zusätzlich: Sie analysieren auch den HTML-Code, z.B. für Microformate. Auch korrekte HTML5-Syntax kann durchaus einen Einfluss haben.
 
Ja, auf die Problematik JS bei Suchmaschinen achte ich.

Danke, das mit Lynx werde ich mal probieren. Ist aber effektiv ja wahrscheinlich ähnlich wie einfach der Quellcode.

Was ich mich jetzt aber frage:
Wenn ich auf der Hauptseite einen Link nach "#/?site=123.php" setze, wird dann die Suchmaschine auch wirklich die gleiche Seite mit dem Parameter aufrufen und die zurückgelieferte Seite auch mit in die Suchergebnisse einbeziehen?
Oder sucht die Suchmaschine wirklich nur nach Dateien und würde also die 123.php finden, diese allerdings eben direkt öffnen?
Die Funktionalität dahinter bleibt mir irgendwie noch etwas verborgen...
 
Die Suchmaschine wird, wenn der Link als <a href="link"></a> vorliegt, direkt so aufrufen, also mit GET-Parameter, und auch so indizieren. 123.php wird so wahrscheinlich nicht aufgerufen, da die Suchmaschine die Parameter nur auf den "Textinhalt" aber nicht auf eine Bedeutung im Sinne von "das ist eine Datei" analysiert.
 
Dann kann ich also davon ausgehen, dass die Suchemaschine alle Standardseiten sucht (index.html, index.php, ...) und diese dann nach links zu weiteren Seiten durchsucht. Sie macht sich also nicht selbstständig und durchsucht das komplette Verzeichnis nach Dateien?
 
Als allererstes filzt eine Suchmaschine (wenn sie standardkonform ist) die robots.txt nach Orten, an denen sie NICHTS zu suchen hat. Danach ruft sie die Datei auf, die dein Webserver als Index deklariert (bzw. der Server wirft ihr die Seite hin). Man kann es durchaus auch so einstellen, dass sich beim Aufruf von example.com nicht die index.html oder .php öffnet, sondern meinetwegen die start.html.
Jetzt geht die Suchmaschine Stück für Stück alle in der Seite verlinkten Inhalte durch, das betrifft sowohl <a href=".."> als auch Kram, der im <head> als <link> deklariert ist... und natürlich die Sources von <img>, <audio> und <video>. Hierbei kann man über rel="nofollow" verhindern, dass der Crawler sich all zu weit wagt. Ich empfehle dir, eine sitemap.xml anzulegen und im head zu verlinken. Und außerdem ist es empfehlenswert, die Seite über die Google Webmaster Tools anzumelden. Das beschleunigt das Indexing signifikant.
 
Also ich würde JavaScript nur da einsetzen, wo es einen echten Mehrwert bietet. Eine komplette Seite mit JS zu bauen bietet meines Erachtens keinen Mehrwert.

Sieh lieber zu, dass du deine Seite semantisch korrekt aufbaust. ALso immer alles - auch insb. was die Tags angeht - mit Bedeutung versehen. HTML5 finde ich da einen guten Fortschritt.
Navigation:
<nav>
<ul>
<li>links zu den Unterseiten</li>
</ul>
</nav> Das kannst du dann mit JS aufpeppen, z.B. Dropdownmenüs, für Google bleibt das so gut indizierbar.

Inhalte:
<section>
<h2>Überschrift des Abschnitts</h2>
<article>
<h3>Überschrift des Artikels</h3>
<p>Inhalt</p>
</article>
<aside>
<p>Was von der Bedeutung auch immer im Zusammenhang zum vorangegangenen Artikel gehört</p>
</aside>
</section>
Wenn du das so ähnlich machst, dann gibst du den Elementen noch zusätzliche Bedeutung mit, was für ein gutes Ranking eine gute Idee ist.

Stell dir einfach ein gut strukturiertes Fachbuch vor. Wenn du deine Seite in diesem Stil aufbaust, hast du die halbe Miete schon eingefahren.

Suchmaschinenoptimierung ist kein Hexenwerk, es ist nur ein wenig Planung notwendig um die Grundlagen schonmal ordentlich auf die Reihe zu bekommen. Das Stichwort hier ist "onpage Optimierung". Deine Seite kann also so abgefahren aussehen wie du willst, und dabei trotzdem suchmaschinenfreundlich sein.
 
der "css Zen Garden" ist da immerwieder ein tolles Beispiel, dass die Struktur der Seite und das Aussehen wirklich kaum etwas miteinander zu tun haben müssen. Wenn die Struktur der Seite gut ist, kann man da alles mögliche zaubern. Wenn das ganze aber natürlich ein Tabellen-Design ist...
 
Ich bekomme das mit einem richtig guten Design dann aber immer nicht selbst gebacken (CSS)...
Hab jetzt aktuell YAML im Einsatz, aber gut strukturierter und ordentlicher Code ist was anderes...Aber dafür ist das Layout halt auch Smartphonefreundlich etc. (hier ein Beispiel des Designs: http://www.yaml.de/demos/flexible-grid.html)
Wie baue ich denn nun am besten los??
Dein Ansatz sieht ja schonmal gut aus. Doch wird es sicherlich an einem schönen Design scheitern....

CSS Zen Garden kenne ich auch schon. Dort konnte ich auch schon den ein oder anderen Trick finden.

Das größte Problem am eigenen CSS-Code sehe ich bei der Kompatibilität. Als ich damals schon einige Designs entworfen habe stand ich vor unlösbaren Problemen. Mehrere Profis haben sich dann teilweiße damit befasst und es endete darin, dass es einfach nicht browserkompatibel umsetzbar war. Irgendwann hat man dann keine Lust mehr da etwas eigenes zu entwerfen...
 
Also ich empfehle an der Stelle dann immer Twitter Bootstrap ;)
Im Gegensatz zu YAML deckt es nämlich eine ganze Ecke mehr UI-Komponenten ab und ist auch mehr als ansehnlich, wenn du das CSS von Boostrap nie modifizierst. Und so kann man das Design dann ganz am Ende der Entwicklung abwandeln, oder es einen Designer machen lassen.
 
Zurück
Oben