JavaScript Suchmaschine

Vorab: der Quelltext ist nicht für den Produktiveinsatz gedacht. Bulletproof würde ich sowas mit einem JavaScript Framework umsetzen.

Mir ging es darum die Arbeitsweise eines Frameworks besser zu verstehen und den Quelltext mal in purem JS zu schreiben (was kaum noch einer heute macht).

Im Internet Explorer funktioniert das Script dann auch nicht .. aber einfach nur darum weil ich keinen IE zum debuggen zuhause habe.

Im Endeffekt

hatte ich die Basis der Suchmaschine in ca. 2 Stunden fertig, mit etwas debuggen hier, komischen XHR Ladezyklen im FF da und etwas ungewohnt viel JS (wenn man in den letzten Jahren nur noch mit Frameworks arbeitet) sind dann vielleicht 5 Stunden draus geworden.

2-3 Abende an denen ich mich damit gut entspannt habe 🙂 .. mehr als ein Feierabendexperiment wird aktuell auch nicht draus werden ..

Hier könnt ihr die JavaScript Suchmaschine ausprobieren.

Da steht dann auch noch ne ganze Menge zur Funktionsweise.

Den Quelltext gibts hier.

Fähigkeiten eines Frontend Entwicklers

In den letzten Wochen bin ich mehrmals über die Frage gestolpert was ein Frontend Entwickler denn nun können muss. Ich finde das konnte man in den vergangenen 10 Jahren jedes Jahr irgendwie anders beantworten.

Im Jahr 2006 hätte ich unter anderem CSS Hacks und Cross Browser Debugging genannt .. während das heute eher in Richtung Entwicklung für Mobile Endgeräte geht .. Media Querys .. die Besonderheiten von Touch Interfaces .. etc.

Aber um mal zu Potte zu kommen ..

Layout, Design und Usability

  • die Fähigkeit gute grafische Layouts per Bildbearbeitungssoftware zu erstellen
  • ein Auge für Farben und Stil
  • Fokus auf Usability, verschiedene Auflösungen und Endgeräte
  • kennt die Möglichkeiten von responsive Webdesign

HTML

  • semantisches Verständnis der HTML/HTML5 Syntax
  • logischer und sparsamer Einsatz von Markup
  • die Fähigkeit HTML im Texteditor ohne WSIWYG zu schreiben
  • kennt die Notwendigkeit von Web accessibility
  • entwickelt W3C Konform

CSS

  • Verständnis der CSS2/CSS3 Syntax
  • klares Verständnis des CSS Box Models
  • sinnvolle Vererbung und Gruppierung von Anweisungen
  • Kenntnis aller Selektoren, Pseudoselektoren
  • Positionierung, floatende Layouts
  • Fähigkeit große CSS Files klar zu strukturieren
  • Einsatz von Media Querys
  • Graceful Degradation / Progressive Enhancement im Hinblick auf verschiedene Browser
  • kennt die Möglichkeiten von CSS3

JavaScript

  • Basiswissen über Operatoren, Variablen, Datentypen, Objekte, Methoden
  • Basiswissen über Kontrollstrukturen, Schleifen, Funktionen
  • Kenntnis von Event Handling und DOM Manipulationen
  • Grundsätzliches Verständnis von XHR
  • zuverlässiger Umgang mit mindestens einer JavaScript Bibliothek

Testen und Debugging

  • nutzt Validatoren für HTML, CSS und JavaScript
  • kann Cross Browser, Cross Plattform debuggen
  • kennt Testframeworks
  • ist sich der unterschiedlichen Browser Eigenschaften bewusst

Performance

  • weiß welches Grafikformat wann eingesetzt wird
  • minimiert immer die Anzahl der Requests, Größe der Grafiken
  • kennt Testmöglichkeiten wie YSlow oder Webpagetest

Suchmaschinenoptimierung

  • Basiswissen über OnPage SEO
  • korrekter Einsatz von HTML Elementen, Attributen

Forschergeist und Erfahrung

  • hat Webseiten vom ersten Pixel bis zum Golive betreut und erstellt
  • kann sich mit etwas Aufwand in jedem CMS oder Web Framework zurecht finden
  • hat selbst schon Weblogs oder CMS Systeme installiert und administriert
  • kann Code von fremden Seiten auseinandernehmen und verstehen
  • probiert Dinge aus die er nicht versteht
  • hat die Geduld Fehler zu finden und sich mit Quelltext auseinander zu setzen
  • weiß sich zu helfen 🙂 .. vor allem wo man welche Information findet

Es gibt noch einige Sachen die ich nicht erwarte. Kein Frontend Entwickler muss die komplette Syntax von HTML, CSS oder JavaScript im Kopf haben. Er muss aber sehr wohl wissen wie er die Syntax richtig und fehlerfrei kombiniert ..

was ich damit sagen will ..

ich glaube nicht das man alles das ich da aufgezählt habe zu 100% auf dem Kasten haben muss. Aber man muss seine Werkzeugkiste kennen und alle Werkzeuge darin bei Bedarf zur Anwendung bringen können. Wenn das heißt das man vorher was nachlesen oder ausprobieren muss ist das sicher nicht schlecht. Schlimmer wäre es gute Werkzeuge nicht zu nutzen weil man sich nicht traut oder sie schlicht nicht kennt.

Feedback ausdrücklich erwünscht 🙂

Penguin Update

Vor ein paar Tagen offiziell angekündigt .. ein paar Worte zum Penguin Update.

SEO bashing

Ist ja gerade so ein bisschen zum Trend geworden .. in diversen Podcasts und Blogs regt man sich pauschal über Suchmaschinenoptimierer auf .. weil die ja die Suchergebnisse manipulieren würden .. Google sieht das etwas anders.

Es gibt diverse Methoden um eine Website für Suchmaschinen zu optimieren .. gute wie schlechte .. und ich kann nichts schlechtes daran finden eine Seite mit guten Inhalten etwas in den SERPs nach vorne zu verhelfen. Ebenso ist nichts schlechtes dabei die Semantik einer Website, die interne Verlinkung und den Quelltext so zugänglich wie möglich zu machen oder einfach guten Inhalt zu produzieren .. das dient eben nicht nur Suchmaschinen sondern in erster Linie dem User (und um den geht es).

Das viele SEOs es dabei völlig übertreiben ist leider offensichtlich .. sonst müsste Google nicht alle paar Monate seinen Algorithmus verändern.

Ich kann aber nichts schlechtes dabei finden wenn Linkkäufer und Black Hats eine auf den Deckel bekommen .. Google auch nicht 🙂

Ziel von Penguin

Das ist recht simpel .. mit der Zeit finden SEOs gewissen Schlupflöcher in Google Suchalgorithmus und bringen diese in Massen zur Anwendung. Ein Beispiel war das offensichtliche Keyword Stuffing um eine Seite eben relevanter als andere erscheinen zu lassen .. das Loch wurde schon vor Jahren geschlossen.

Wem geht es also dieses mal an den Kragen?

  • Webseiten die übernatürlich viele Links von extern bekommen
  • bei extrem vielen Links aus Blogkommentaren
  • Kommentarspam bei dem der Name das Keyword ist
  • wenn immer gleichlautende Linktexte verwendet werden
  • Webseiten die hauptsächlich Links aus Linktausch / Linknetzwerken bekommen
  • Webseiten die ihre Links offensichtlich gekauft haben
  • wenn man Links von als Webspam geflaggten Seiten bekommt

Fazit

Das Penguin Update zielt also vor allem auf unnatürliche Linkprofile ab. Ein Boomerang Effekt für Seiten die in der Vergangenheit viel Geld in plattes Linkbuilding investiert haben. Kostenintensiv war das sicher und ab sofort wird man dafür von Google bestraft .. nur leider kann man ein zusammengekauftes Linkprofil nicht so einfach rückgängig machen wie OnPage SEO Fehler ..

Linkbuilder werden in der Zukunft noch behutsamer vorgehen müssen. Zuviele neue Links in einer Woche .. selbst wenn Keyword Varianten benutzt werden .. können gefährlich sein.

Was will Google?

Vor allem gute, interessante, einzigartige, informative .. Webseiten. Inhalte die für User gemacht sind und die Usern weiterhelfen. Denn die bekommen ihre externen Links mit der Zeit von alleine oder werden in sozialen Netzwerken aufgegriffen und verlinkt. Davon redet Google nun schon ne ganze Weile .. es geht um qualitativ hochwertige Websites .. und jedes weitere Google Update wird in diese Richtung gehen.