Month: May 2011

Spät gebloggt: Screencast mit Jing

Jedem der schnell mal ein kleines Screencast Tool benötigt, sei an dieser Stelle Jing empfohlen. Es ist ca. 6 MB groß, für Windows und Mac verfügbar und einfach zu installieren. Beim Starten öffnet sich ein kurzes Tutorial an dessen Ende eine Registrierung notwendig ist. Danach kann es aber schon los gehen. Die eMail muss nicht bestätigt werden.

Jing erstellt ein Video im SWF Format wodurch es in jedem Browser einfach abspielbar sein sollte, bzw. beinhaltet das Video auch gleich noch seinen eigenen Player. Mein 1:47 min langes Video ist ca. 6,5 MB groß, meine Capture Area, frei einstellbar, hatte eine Auflösung von ca. 768 auf 1300px.

In der kostenlosen Version bietet Jing einem 2GB Storage und 2 GB Bandbreite, man kann die Dateien aber auch einfach auf der Festplatte speichern und später per eMail verschicken, oder sonst was damit machen.

Link:http://www.techsmith.com/jing/free/

Viel Spaß beim Ausprobieren.

Bots, Bots, Bots

Vor ziemlich genau zwei Monaten habe ich eine Webseite veröffentlicht, welche bis heute nur eine Startseite bietet. Alle weiteren Seiten sind nur über einen Login oder über einen Code erreichbar. Da sich die Webseite momentan noch in der Entwicklung befindet, bekomme ich bei 500 Error eine eMail geschickt um entsprechend reagieren zu können. Die meisten Fehler werden derzeit von Bots verursacht, die die Seite versuchen zu spidern und dabei immer wieder URLs aufrufen die nicht existieren bzw. die auch noch nie existiert haben. Es sieht so aus als würden die Bots raten. Nachfolgend ein kleiner Ausschnitt:

[PHP]
‘HTTP_FROM’ => ‘googlebot(at)googlebot.com’,
‘HTTP_USER_AGENT’ => ‘Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)’,

Fehler-URL: http://www.example.com/a
[/PHP]

[PHP]
‘HTTP_USER_AGENT’ => ‘HuaweiSymantecSpider/1.0+DSE-support@huaweisymantec.com+(compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR ; http://www.huaweisymantec.com/en/IRL/spider)’,

Fehler-URL: http://www.example.com/js/+
[/PHP]

[PHP]
‘HTTP_FROM’ => ‘bingbot(at)microsoft.com’,
‘HTTP_USER_AGENT’ => ‘Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)’,

Fehler-URL: http://www.example.com/events/
Fehler-URL: http://www.example.com/news/
[/PHP]

[PHP]
‘HTTP_USER_AGENT’ => ‘Mozilla/5.0 (compatible; YandexImages/3.0; +http://yandex.com/bots)’,
‘HTTP_FROM’ => ‘support@search.yandex.ru’,

Fehler-URL: http://www.example.com/example/example-logo-new-small.jpg
[/PHP]

[PHP]
‘HTTP_USER_AGENT’ => ‘Mozilla/3.0 (compatible; Indy Library)’,

Fehler-URL: http://www.example.com/manager/html
[/PHP]

[PHP]
‘HTTP_USER_AGENT’ => ‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4325; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30707; MS-RTC LM 8)’,

Fehler-URL: http://www.example.com/groups/
[/PHP]

Error 404, 500, etc. automatisch finden

Gerade bei größeren Webseiten, mit unterschiedlichen Plugins und Erweiterung, kann es vorkommen das einzelne Seiten nicht aufrufbar sind. Die Gründe dafür sind noch vielfälter als die zur Verfügung stehenden Status-Codes. In den Google Webmaster Sitemap Tools befindet sich unter der Kategorie Crawling Fehler folgende Einteilung:

  • Nicht gefunden
  • Nicht aufgerufene URLs
  • URLs durch “robots.txt” eingeschränkt
  • Zeitüberschreitung beim Aufrufen von URLs.
  • HTTP-Fehler
  • Nicht erreichbare URLs
  • Soft- 404-Fehler

Zu beachten ist dabei, das Google nicht nur die Verlinkung innerhalb der Seite überprüft, sondern auch Links von extern, welche Möglicherweise auf nicht mehr gültige URLs zeigen. Dafür eignet sich die anschließend vorgestellte Analyse Methode nicht. Im folgenden geht es ausschließlich um Links welche Innerhalb der Seite keinen 200 Code, OK bzw. Erfolgreich, zurückgeben.

Sehr anschaulich ist die Firefox Erweiterung LinkChecker, welche unter https://addons.mozilla.org/de/firefox/addon/linkchecker/ heruntergeladen werden kann.

Link Checker Ergebnis

Link Checker Ergebnis

Diese stellt in Ampelfarben, welche auch entsprechend konfiguriert werden können, die Erreichbarkeit von Links auf der jeweiligen Seite dar. In der Statusleiste gibt es zudem eine Anzeige, welche die Gesamtanzahl der Links, sowie die Anzahl der geprüften und den Fortschritt anzeigt:

Linker Checker Progress Bar

Linker Checker Progress Bar

Für größere Webseiten, welche über viele verschiedene Seiten und Kategorie verfügen, ist die händische Überprüfung mittels Firefox Plugin sicherlich nicht praktikabel. Dafür eignet sich wget. wGet ist ein kleines Kommandozeilen Tool, welches vielfältig einsetzbar ist. Für unseren Anwendungsfall benötigen wir die Spider Funktionalität:

[html]
wget -r –spider -o log.txt http://www.bugblog.de
[/html]

Wget verfolgt (-r rekursiv) alle Links innerhalb der selben Domain und läd die Dateien zum finden weiterer Links temporär (–spider) herunter. Das Ergebnis beim Aufrufen der Dateien (-o output) wird in der log.txt Datei gespeichert. Diese kann später nach den oben beschriebenen Statuscodes durchsucht werden.

Eine ausführliche Auflistung, aller möglichen Status Codes befindet sich unter: http://www.google.com/support/webmasters/bin/answer.py?answer=40132

Typo3 X UA Compatible Meta

Mit der Veröffentlichung vom Internet Explorer 9 und der automatischen Installation auf Windows 7 Systemen, stellt man womöglich fest, das die eigene Homepage anders aussieht bzw. JavaScript nicht mehr wie gewünscht funktioniert. Je nach Größe der Seite und Umfang des anzupassenden Codes, besteht die Notwendigkeit einer Übergangslösung, bis der Code entsprechend angepasst wurde.

Dafür bietet sich u.a. die Meta Definition “X-UA-Compatible” an, welche den Internet Explorer vorschreibt, wie er die Seite zu interpretieren hat. Diese Kompatibilitätseinstellung muss direkt nach dem head-Tag erfolgen, höchstens der title-Tag darf noch dazwischen stehen. In Typo3 wird der Head meist vollautomatisch erzeugt. Das Hinzufügen von headerData wird also nicht den erwünschten Erfolg bringen:

[php]
# TypoScript Code
page.headerData.1 = TEXT
page.headerData.1.value =
[/php]

Steht zumeist unter der Einbindung von Stylesheet Angaben und JavaScript Bibliotheken. Abhilfe schafft die direkte Modifzierung des head-Tags:

[php]
# TypoScript Code
page.headTag =
[/php]

Einer Übersicht aller möglichen Codes findet ihr im Microsoft eigenen “Internet Explorer Compatibility Center” unter http://msdn.microsoft.com/de-de/ie/cc405106.

[random_content group_id=”211″ num_posts=”1″]

Was Java mit JavaScript zu tun hat

Ein wirklich sehr interessanter Artikel http://www.peterkroener.de/ecmascript5-die-nachste-version-von-javascript-teil-1-ein-uberblick/ über die Hintergründe und die Entstehung von JavaScript. Es werden u.a. folgende Fragen beantwortet: Wer JavaScript “erfunden” hat; wie es zu seinem Namen gekommen ist und wer es spezifiziert.