2

Neuigkeiten – es darf geshoppt werden

amazon_logoMal zwischendurch eine kleine Meldung zum Blog. Es gibt mal wieder etwas Neues. Oben im Menü ist ein neuer Punkt namens “Shop” hinzugekommen.  Ich habe gestern mal in meinem Amazon Partneraccount einen kleinen aStore, so nennt Amazon seine Custom-Shops, zusammengeklickt.

Die Produkte kommen demnach nicht von mir, sondern von diversen Händlern. Der Shop hier im Blog ist quasi eine von mir getroffene Auswahl an Artikeln aus dem Amazon-Sortiment.

Zu finden gibt es zum einen Artikel, die ich selbst besitze und mit gutem Gewissen empfehlen kann, und zum anderen Artikel, die ich für empfehlenswert und  themenrelevant halte.

Wenn ihr etwas kauft, kommen mir davon im Schnitt 5-10% Provision zugute. Mit einem Einkauf über den Shop könnt ihr mich somit gewissermaßen unterstützen. Unter anderem finden sich auch Sony Ericssons LiveView und der TP-Link WR703N Router im Shop, welche ich hier im Blog ausführlicher vorgestellt und behandelt habe.

Im Endeffekt spekuliere ich darauf, dass eventuell der ein oder andere Verkauf im Zusammenhang mit den passenden Artikeln zustande kommt. Mehr als einen Link kostet es mich ja nicht und somit wäre es einfach verschenktes Potenzial.

Sollte es klappen, freue ich mich, über jeden Cent, der als Dank für meine Arbeit zurückkommt. Sollte es nicht klappen, kann ich immerhin sagen, dass ich es probiert habe.

2

404Checkr – Links automatisch auf Gültigkeit testen

404checkr_logoDieser Artikel ist wieder einmal einer kleinen Eigenkreation gewidmet. Nachfolgend soll es um ein kleines Tool von mir gehen, welche ich, wie in den meisten Fällen, aus der Not heraus geschaffen habe. So war ich letztens auf der Suche nach einer Möglichkeit eine große Liste an Links zu überprüfen und tote Links möglichst einfach zu erkennen.

Die Problemstellung

Spätestens ab 20-30 Links macht das per Hand einfach keinen Spaß mehr und ist mehr als zeitintensiv. Deshalb habe ich ein kleines Programm in C# geschrieben, mit welchem beliebig viele Links auf ihre Gültigkeit überprüft werden können. Das Tool habe ich auf den Namen 404Checkr getauft, wobei sich 404 auf den HTTP-Statuscode 404 bezieht, welcher besagt, dass eine Seite/Datei nicht aufgefunden werden konnte.

Was bietet der 404Checkr

Der 404Checkr kann eine beliebig große Liste an Links verarbeiten. Diese kann entweder von Hand oder per Copy und Paste eingegeben werden. Danach kann ausgewählt werden, mit wie vielen Threads analysiert werden soll. Das heißt praktisch, wie viele Seiten parallel überprüft werden sollen. Der Idealwert hierfür steht immer in Abhängigkeit mit der Internetanbindung.

Weiter kann eingestellt werden, nach wie vielen Sekunden ein Timeout-Fehler erhoben wird. Dies kann nützlich sein, wenn man nur Seiten als “ok” eingestuft haben möchte, die innerhalb einer bestimmten Zeit Antworten. Je nach Anwendungszweck mag eine Seite zwar technisch erreichbar sein, jedoch praktisch unbrauchbar, wenn sie erst nach 15-20 Sekunden antwortet.

404checkr_start  404checkr_input  404checkr_output

Sind diese Einstellungen getroffen, kann die Analyse der Links mit einem Klick gestartet werden. Den aktuellen Fortschritt der Überprüfung hat man anhand eines Ladebalkens sowie einer textbasierten Ausgabe jederzeit im Überblick.

Wenn die Überprüfung abgeschlossen ist, können die Ergebnisse entweder als schlichtes .txt-Dokument oder als .csv-Datei exportiert werden.

Download und Hinweise

Natürlich könnt ihr die Software kostenlos downloaden und benutzen. Solltet ihr sie jedoch kommerziell (also zum Beispiel in eurer Firma), so würde ich mich über eine Kontaktaufnahme oder eine kleine Spende per Paypal freuen.

Download: 404Checkr (v. 1.0.0.0)

Screencast – 404Checkr in Aktion

Quellcode und Entwicklerinfos

Im Gegenteil zu manchen meiner anderen Projekte bin ich diesmal so frei, euch den Quellcode zur Verfügung zu stellen. Wer möchte, kann gerne neue Funktion schreiben oder noch ein bisschen an der Performance arbeiten. Solltet ihr tatsächlich etwas Neues aus dem Projekt aufbauen, würde ich mich über einen Kommentar oder eine Mail freuen. (Man sieht ja immer gerne, was andere noch so für Ideen haben, auf die man selbst nicht gekommen ist. Zudem entstehen manchmal auch wirklich spannende Diskussionen aus solchen Situationen heraus.)

Noch zwei Hinweise, bevor es den Downloadlink für das Visual Studio Projekt gibt.

  1. Ich sagte, ihr könnt gerne etwas Neues aus dem bestehenden Projekt schaffen. Was ich nicht so gerne sehe, ist, wenn ihr lediglich meinen Namen aus dem Projekt entfernt, euer Logo hinzufügt und das Programm dann als “eure Idee/Erfindung” verkauft. Ich sage das an dieser Stelle bewusst, da ich in letzter Zeit öfter mal derartige Anfragen bekomme.
  2. Erwartet nicht zu viel. Das Programm ist quasi zwischen zwei Kaffeetassen entstanden. Wenn ihr euch im Code verlauft, kann ich dafür nicht haftbar gemacht werden. ;)

Download: 404Checkr (v. 1.0.0.0) – Visual Studio 2012 Solution

1

OpenSSH Tutorial – Teil 3: Login mit Public- und Private-Key

0

Standard-Browser in C# auslesen

csharp_standard_browserNachfolgend soll es darum gehen, wie man den Pfad zum Standard-Browser unter Windows in C# herausfindet. Dies macht zum Beispiel immer dann Sinn, wenn man eine Datei mittels Process.Start() im Standard-Browser öffnen möchte.

Zwar könnte man davon ausgehen, dass jeder Windowsnutzer auch den Internet Explorer installiert hat und man somit einfach diesen zum Anzeigen von Dateien benutzen sollte,  jedoch erhöht es nicht unbedingt das Vertrauen des Users in die eigene Applikation. So wäre zumindest ich als Benutzer meines Programms davon genervt, wenn dieser immer den Internet Explorer anstelle des Firefox, welchen ich als Standard-Browser festgelegt habe, starten würde.

Nun gibt es zwei Möglichkeiten den Standard-Browser in C# zu öffnen. Beide haben Ihre Vor- und Nachteile.

Variante 1 – Process.Start() mit URL als Startpfad

Die einfachste Variante den Standard-Browser zu starten, ist es einfach mittels der Process-Klasse einen neuen Prozess zu starten. Als Startpfad für den Process wird die zu öffnende Url übergeben.

string url = "http://google.de";
Process.Start(url);

Diese zwei Zeilen reichen aus, um die angegebene Url im Standard-Browser zu öffnen. Problematisch wird es jedoch, wenn in der Variable “url” keine gültige Url steht. In diesem Fall kann es zu einer Exception kommen, da das .NET-Framework nicht unbedingt weiß, mit welcher Anwendung der übergebene Parameter gestartet werden soll.

Dies kann zum Beispiel sein, wenn ihr keinen Einfluss auf den Url-Parameter habt und, egal was dort drin steht, die Url oder Datei im Standard-Browser öffnen wollt. Hierfür ist Variante 2 geeignet.

Variante 2 – Den Standard-Browser in C# auslesen

Um in jedem Fall den Standard-Browser zu öffnen und diesen im Zweifelsfall entscheiden zu lassen, ob er die Url/Datei öffnen oder anzeigen kann, ist es nötig den Pfad des Standard-Browser zu kennen. Hierzu könnt ihr folgende kleine Funktion benutzen, die den Pfad des Standard-Browsers aus der Registry ausliest.

private static string GetStandardBrowserPath()
{
    string browserPath = string.Empty;
    RegistryKey browserKey = null;

    try
    {
        //Überprüfe den Pfad für Windows XP
        browserKey = Registry.ClassesRoot.OpenSubKey(@"HTTPshellopencommand", false);

        //Wenn kein XP Pfad gefunden wurde, überprüfe den Pfad für Windows Vista und neuer
        if (browserKey == null)
        {
            browserKey = Registry.CurrentUser.OpenSubKey(@"SoftwareMicrosoftWindowsShellAssociationsUrlAssociationshttp", false); ;
        }

        //Wenn ein Pfad ein gefunden wurde, schneide eventuelle Parameter am Pfad ab
        if (browserKey != null)
        {
            //Entferne Hochkommata
            browserPath = (browserKey.GetValue(null) as string).ToLower().Replace(""", "");

            //Schneide evtl. Parameter ab
            if (!browserPath.EndsWith("exe"))
            {
                browserPath = browserPath.Substring(0, browserPath.LastIndexOf(".exe") + 4);
            }

            //Schließe Registry-Schlüssel
            browserKey.Close();
        }
    }
    catch
    {
        //Wenn kein Standard-Browser gefunden wurde, gebe leeren Pfad zurück
        return string.Empty;
    }
    //Gebe Browser-Pfad zurück
    return browserPath;
}

Diese Funktion wird nun wieder mittels der Process.Start()-Funktion genutzt. Die Url wird dieses mal jedoch als Parameter und nicht als Stardpfad übergeben.

string url = "http://google.de";
string browserPath = GetStandardBrowserPath();
if (string.IsNullOrEmpty(browserPath))
{
    MessageBox.Show("No standard browser found!");
}
else
{
    Process.Start(browserPath, url);
}

Fazit

Das war es auch schon. Wenn ihr also sicher seid, dass die Urls in einem validen Format vorliegen, so solltet ihr Variante 1 nutzen. Wenn ihr dies nicht sicherstellen könnt oder vielleicht Dateien in eurem eigenen Format oder mit eurer eigenen Dateiendung öffnen wollt, so ist Variante 2 geeignet. Bei Variante 2 sollte jedoch bedacht werden, dass eure Applikation, je nach User-Kontext, in dem Sie ausgeführt wird, explizit Administrationsrechte benötigt!

Wie geht ihr mit dem “Problem” um? Habt ihr auch eine Lösung, die auf der Registry beruht oder geht ihr vielleicht einen ganz anderen Weg?

9

Meine Top 7 WordPress SEO Plugins

wordpress_seo_logoGestern war Donnerstag. Das heißt, es gibt mal wieder eine neue Blogparade von webmasterfriday.de. Diese Woche fragt Martin, ob und wenn ja, welche SEO-Plugins wir in unseren Blogs verwenden. Da ich das Thema ganz spannend finde, mache ich mal wieder mit.

Nachfolgend gibt es also meine persönliche WordPress SEO-Plugin Topliste, die ich auch hier auf code-bude.net verwende. Anzumerken ist, dass alle Plugins, die ich verwende, kostenlos verfügbar sind.

 

All in One SEO Pack

Fast 14 Millionen Blogger können sich nicht irren. (So oft wurde das Plugin im WordPress Plugin Verzeichnis heruntergeladen.) Beim All in One SEO Pack ist der Name Programm. Das Plugin kann eine ganze Reihe an Optimierungen an eurem Blog durchführen. Ich persönliche nutze es nur zur automatischen Generierung von Meta-Tags. [Zum Plugin]

BWP Google XML Sitemaps

Mit BWP Google XML Sitemaps wird das Erstellen der XML-Sitemaps zur Indexierung bei Google ein Kinderspiel. Besonders schön an dem Plugin finde ich, dass nicht nur eine riesige sitemap.xml Datei erstellt wird, sondern eine sitemapindex.xml, die wiederum auf weitere Sitemap-Dateien verweist. So kann eingestellt werden, dass separate Sitemaps für Tags, Kategorien, Seiten, Artikel, etc. erstellt werden. Auch lässt sich einstellen, dass eine Sitemap zum Beispiel maximal X Links enthält. Gibt es mehr Links für diese Sitemap, so wird sie gesplittet und natürlich jeweils in der sitemapindex.xml verlinkt. Und nicht vergessen, die sitemapindex.xml in den Google Webmaster Tools im Menüpunkt “Optimierung->Sitemaps” einzutragen! [Zum Plugin]

Do Follow

NoFollow oder DoFollow? Das ist fast schon eine Glaubensfrage. Das DoFollow Plugin wandelt die automatisch erstellten NoFollow-Links in eurem Blog in DoFollow-Links um. Kurze Nachhilfe: Links, die mit dem NoFollow Tag versehen sind, werden von Suchmaschinen nicht weiter verfolgt. Was habe ich davon? Nichts! Meiner Meinung nach schadet es nicht, wenn eine Suchmaschine die von mir verlinkten Inhalte beachtet und durch meinen Link (als Backlink) eventuell aufwertet. Bringen tut mir das allerdings auch nichts. Wenn jedoch mehr Leute so denken, dann besteht auch die Chance auf mehr Backlinks für den eigenen Blog. Außerdem tut ein DoFollow nicht weh. In dem Sinne – schaut euch das Plugin ruhig mal an. [Zum Plugin]

Lazy Load

Das Lazy Load Plugin ist kein SEO Plugin im klassischen Sinne. Ich liste es hier trotzdem aus folgendem Grund. Das Plugin sorgt dafür, dass Grafiken und Bilder erst (dynamisch per Javascript) nachgeladen werden, wenn der Benutzer in den bestimmten Bereich der Seite scrollt. Bilder, die außerhalb des Sicht- bzw. Scrollbereichs liegen, werden somit erst mal nicht geladen, sondern erst dann, wenn diese in den Viewport (Sichtbereich) gelangen. Dies beschleunigt die Seitenladezeit, je nach Anzahl und Größe der eingebundenen Bilder erheblich. Und die Seitenladezeit soll ja wiederum auch ein Kriterium beim Suchmaschinenranking sein… [Zum Plugin]

Mobile Smart

Das Mobile Smart Plugin bringt eine Browserweiche für mobile Endgeräte mit. Wenn man in seinem Blog bereits ein Responsive Theme einsetzt, also eines, was sich dynamisch an die Größe des Endgeräts anpasst, dann ist dieses Plugin überflüssig. Auf code-bude.net zum Beispiel, habe ich jedoch noch ein nichts responsives Theme im Einsatz, sodass ich eine Lösung für mobile Endgeräte brauchte. Und die heißt Mobile Smart. Im Plugin gibt man ein zweites Theme an, welches statt des Standardthemes geladen werden soll, wenn ein Nutzer mit einem mobilen Gerät auf die Seite kommt. [Zum Plugin]

TagKeywordFinder

Der TagKeywordFinder ist ein von mir selbst entwickeltes Plugin und hilft beim Verschlagworten (Taggen) von Artikeln und Seiten. Normalerweise schlägt WordPress nur Tags vor, die schon einmal im eigenen Blog verwendet wurden. Hier greift der TagKeywordFinder ein. Fängt man an, einen Begriff in das Tag-Feld in WordPress einzutippen, so gleicht mein Plugin diese Eingabe mit Googles Suggest Funktion ab. Das ist auch jene, die im Google Suchfeld genutzt wird. Man bekommt also beim Eintippen der Tags, direkt Vorschläge für weitere Tags, basierend auf den häufigsten Google Suchen. Wer es noch nicht kennt, ist hiermit offiziell aufgefordert, mal einen Blick auf mein kleines Schmuckstück zu werfen! [Zum Plugin]

wpSuggest

Dieses Plugin funktioniert ähnlich meinem TagKeywordFinder und war die gedankliche Vorlage für mein obiges Plugin. Es greift ebenfalls auf die Google Suggest Funktion zu und macht zur Eingabe passende Vorschläge. Jedoch diesmal nicht für die Tags, sondern für die Überschrift einer Seite/eines Artikels. [Zum Plugin]

Und nun die Frage aller Fragen, welche Plugins benutzt ihr? Oder habt ihr euch noch gar keine Gedanken über das Thema gemacht? Über eure Kommentare würde ich mich wie immer freuen!

weitere Seiten ... 1 2 3 4 5 6 7 8 9 10 11