Einen SEO Spider bauen

SEO Spider? -> Ein Tool mit dem man ne komplette Website nach gängigen SEO Faktoren analysieren kann, Fehler findet und Verbesserungspotential aufdeckt.

Eigentlich hatte ich damit schon Ende letzten Jahres angefangen. Das Herzstück eines SEO Spiders ist der Crawler oder Spider. Eine Software mit der man alle internen Seiten einer Domain anhand von Links findet. Möglichst auch die, die besonders gut versteckt sind.

Jede Suchmaschine setzt so eine Software ein um alle Seiten einer Domain zu finden. So ganz einfach ist das nicht da es viele verschiedene Arten von URLs gibt (GET Parameter), viele verschiedene Arten intern zu verlinken (relativ, absolut), Subdomains und dann noch so lustige Sachen wie den BASE Tag oder relative Verzeichnissprünge. Ich schätze mal das ist ein Grund warum Google es jedem Website Betreiber ermöglicht XML Sitemaps einzureichen. Man crawlt immer ein bisschen gegen Unbekannt!

Natürlich hätte ich meinen Spider auch um einen fertigen OpenSource Crawler bauen können .. aber wo ist denn da der Spass?

Features

So ein SEO Spider muss einige Dinge können:

  • fehlende Title Tags und Meta Descriptions finden
  • doppelte Title Tags und Meta Descriptions finden
  • HTTP Response Codes auslesen
  • fehlende Headlines finden
  • Meta Robots und den Canonical Tag auslesen

daneben wäre es aber auch noch cool wenn er

  • 301ern und 302ern folgt und anzeigt
  • man bestimmte GET Parameter während des Crawls entfernen lassen kann
  • nur bestimmte Verzeichnisse gecrawlt werden
  • Antwortzeiten der der Website ermittelt
  • Cluster und Verzeichnisse zeigt
  • Levels und Ebenen zeigt
  • Dateigrößen
  • usw.

Ist ja toll ..

Seit einigen Wochen sitze ich an so einem Tool .. das Herzstück .. also der Crawler selbst ist mit 500 Zeilen Code sehr schlank geblieben wie ich finde. Der ist nun auch fertig und ich habe ihn schon ziemlich ausführlich getestet. Aktuell baue ich nun die Analyse und Auswertung und bin gerade etwas im Featurewahn.

Darum habe ich beschlossen heute einfach mal eine Alpha Version zu veröffentlichen: http://www.seorch.de/seo-spider.html um zu sehen ob das Errorlog volläuft und vor allem um vielleicht etwas Feedback zu bekommen.

Diverse Features fehlen noch, Bugs sind sicher auch zu finden und die Crawls sind auf max. 250 Seiten beschränkt (abhängig davon wie schnell der gecrawlte Server antwortet).

Credits an racing_fool mit dem die Urversion des Crawlers entstanden ist und an SenSEO der mich mit seinem Crawler wieder angespitzt hat 🙂

Hier könnt ihr den SEORCH SCANNER testen.

Fronteers 2012

Auch dieses Jahr hat mich mein Arbeitgeber netterweise wieder auf die Fronteers nach nach Amsterdam geschickt.

Für mich persönlich die mit Abstand beste Konferenz rund um Frontend Themen und Webdevelopment .. im legendären Pathe Tuschinski hört man so 2 Tage tolle Vorträge .. trifft viele freundliche Menschen und kann sich vor allem mal über Deutschlands Grenzen hinweg austauschen .. die Veranstalter geben sich richtig viel Mühe und machen nen tollen Job .. Moderator war dieses Jahr Christian Heilmann von Mozilla.

Donnerstag ging es dann los mit:

1. Mark Boulton und Adapting to Responsive Design

  • How responsive design affects business
  • How responsive design affects process
  • How responsive design affects content
  • Fazit: Bericht aus erster Hand was man bei responsive Websites schon in der Umsetzung beachten muss, wo Stolpersteine liegen (Content Fokus, Ads, CMS, Testing, Kosten, grafiklastige Seiten)

2. Addy Osmani und The New And Improved Developer Toolbelt

  • Craftsmanship is about choosing tools well
  • Learn to love the command line. It isn’t scary
  • Sublime Text 2
  • Fazit: Wie der Workflow eines modernen Frontend Devs aussehen sollte (SVN, GIT, Shell, Aliases, SublimeText, SASS, InBrowser Dev Tools, Scaffolding, Testing, Package Management, Generators)
  • Slides

3. Peter-Paul Koch und A Pixel is not a Pixel

  • CSS Pixels Like in width:20px;
  • Device pixels -> the actual pixels on the screen
  • Density-independent pixels
  • Fazit: Einige hilfreiche Tipps für Mobile Development (Viewports für Mobile und Desktop sind unterschiedlich definiert, position:fixed funktioniert nicht wirklich auf Mobile, ‘width’ in einer media query benutzt CSS pixes, ‘device-width’ benutzt device pixels, immer width=device-width in Zusammenarbeit mit Media Queries benutzen)
  • Slides

4. Alex Graul und Using JS to build bigger, better datavis to enlighten and elate

  • Animationen und Visualisierungen mit JavaScript
  • Flash ist fast nicht mehr notwendig
  • IE7 Support = 1/3 der Zeit
  • Fazit: Sehr geile Beispiele was so alles mit JavaScript als Ersatz für Flash möglich ist Miso Project, D3.js, Demo

5. Mathias Bynens und Ten things I didn’t know about HTML

  • body bgcolor=”chucknorris”
  • document.all returns ‘false’
  • Browser sind noch zu nett zu Entwicklern und verzeihen zu viele Fehler
  • Fazit: Hardcore Talk .. und ich wusste definitiv nichts davon .. und frage mich gerade ob ich das überhaupt wissen wollte ..

6. Stephen Hay und Style guides are the new Photoshop

  • Photoshop eignet sich nicht für Mockups von responsive Websites
  • anstatt von PSDs soll man einen Stylguide direkt in HTML entwickeln
  • wartbar, mit Screenshots, automatische CSS Updates, Syntax highlighting etc.
  • Fazit: es gibt nichts auf dem Markt aber mit diversen Tools kann man sich sowas bauen: Dexy, PhantomJS und CasperJS, Template Engines, SMACSS .. ein bisschen CLI chi chi und zack boom ..
  • Slides

7. Antoine Hegeman, Bor Verkroost, Bram Duvigneau & Chris Heilmann und Accessibility panel

  • 3 körperlich behinderte Menschen erklären wie sie mit dem Web umgehen, navigieren und wo sie auf Probleme treffen
  • Fazit: Probleme mit Dropdowns, Touch Devices, wie Websites vorgelesen werden, Semantik ist wichtig, Blinde benutzen meist Custom Screenreader

8. Lea Verou und More CSS secrets: Another 10 things you may not know about CSS

  • Box-shadows mit background-attachment: scroll;, calc(), CSS3 Lightboxen
  • unterstrichene Texte mit CSS, rotating Images, Schatten und Sprechblasen
  • Glass, Blur Effekte mit CSS, Animationen
  • Fazit: die Hälfte gewusst, die andere Hälfte war neu und spannend
  • Slides

Am Freitag:

1. Marcin Wichary und The biggest devils in the smallest details

  • der Meister der Google Doodles, Pacman, Reißverschluss
  • Gamepad API, Google crushinator
  • Creating the doodles always feels a little dirty because you have to deal with different Browsers
  • Fazit: lustiger, spannender und sehr inspirierender Talk, aus dem Google Nähkästchen

2. David DeSandro und Open Source Ain’t Free

  • Quelltext anzeigen ist die beste Quelle für die Arbeit eines Frontend Developers
  • unsere wichtigsten Tools sind eigentlich nur Hobbyprojekte von Entwicklern (HTML5 Boilerplate, Modernizr, Bootstrap)
  • um Zeit für guten Support zu haben muss man damit aber Geld verdienen können
  • Fazit: put a price on it, verlange Geld für Premium Support oder Email Support, verlange Lizenzgebühren für kommerzielle Nutzung, “There is nothing wrong with making money off of honest work”
  • Slides

3. Jeroen Wijering und The State of HTML5 Video

  • Entwickler des JW Players
  • das erste YouTube Video
  • Player wird auf über 1 Million Websites eingesetzt
  • Fazit: Flash ist tot, HTML5 Videos sind schnell, zugänglich, sicher und stabil, 80% aller Webnutzer haben HTML5 video Support im Browser, MP4 und WebM, Kapitelmarken, Untertitel etc.

4. Anne van Kesteren und Building the web platform

  • Harcore Talk über Enconding
  • Browser Layers, Live DOM Viewer
  • Render Tree, Dom Tree, CSS Selecting
  • Fazit: ja .. das war hart .. fast zu detailliert .. einen Nutzen?

5. Phil Hawksworth und I can smell your CMS

  • Frage: braucht man wirklich ein CMS, Kanonen auf Spatzen
  • viele CMS machen mießen Quelltext -> Negatives Beispiel
  • CMS killen Performance .. das schnellste ist immer noch plain HTML
  • Alternativen: Jekyll, Perch
  • Fazit: das erzähle ich seit Jahren .. aber keiner will es hören .. erst mal checken was der Kunde braucht und dann nicht pauschal ein Joomla und Typo3 auf die Website klatschen .. Phil Hawksworth gibt mir Zuversicht
  • Slides

6. Peter Nederlof und Beyond simple transitions, with a pinch of JavaScript

  • Peter animiert nur noch per nativem CSS3,
  • CSS3 Matrix Tool, 3D Canvas
  • warum CSS3 Animationen: keine reflows, Hardware beschleunigt (auch auf Mobile Devices), FPS++, batterieschonend, alle modernen Browser unterstützen die Spec
  • Fazit: Animationen nur noch per CSS, User Interaktion / Start / Stop per JavaScript, beeindruckende Demos

7. Rebecca Murphey und JS Minty Fresh

  • diverse Beispiele üblicher Code Smells .. Wiederholungen, Spaghetticode, riesige Funktionsblocks die 3 Aufgaben hintereinander erledigen
  • don’t Repeat yourself, nutzt Objekte, Data Storage
  • Asynchrone Requests mit while prüfen
  • Fazit: Nichts neues für mich .. mein liebstes Hobby in den letzten Monaten, aber sicher gut für JS Einsteiger und Leute die bisher nur mit jQuery gearbeitet haben
  • Slides

8. Alex Russell und The Web Platform & the Process of Progress

  • Polyfills Are A Tax, Seitengrößen
  • The Price of Delay -> IE8 und IE7
  • Your Browser is outdated!
  • Fazit: Aufruf an alle Webdevs alte Browser auszuschließen um den Fortschritt zu beschleunigen, Beispiele: Facebook, G+, Yahoo Mail, YouTube
  • Slides

Auf der Fronteers 2011 fand ich die Talks etwas fesselnder .. aber vielleicht auch nur weil ich das erste mal dort war.