by
Roland Schumacher alias GENiALi
19. June 2010 -- 385 Wörter
-- 202 mal gelesen
Dieser Beitrag ist mir was wert:
Wie nur unschwer zu erkennen ist habe ich mein Blog wieder einmal überarbeitet.
Zwei Gründe bewogen mich dazu diese Arbeit auf mich zu nehmen.
- Das alte Designe war irgend wie, na ja, überladen, schwer … Es passte mir nicht mehr.
- Wenn es im BlogEngine.NET Projekt Änderungen an den Themen gab merkte ich das nicht wirklich. Jetzt habe ich das Standard Theme genommen. Wenn die in dem Theme was anpassen merke ich es beim abrufen der Source sofort. Somit habe ich auch alle Modifikationen drin. z.B. habe ich das Captcha bei mir nicht an den Start gebracht. Beim Standard Theme funktioniert das wunderbar.
Ich hoffe das Designe hält diesmal länger. Das verursacht nur viel Arbeit.
Zudem habe ich eine aktuelle Version des Projektes SyntaxHighlighter eingebaut. Die alte Version wollte nicht mehr. Jetzt muss ich dann nur noch alle Postings anpassen. Der alte SyntaxHighlighter reagierte auf das Tag <pre name="code" class="c#">, der Neue auf <pre name="code" class="prush: c#">. Das heisst, ich muss auf dem SQL Server ein Query laufen lassen. Da mein Hoster aber nur Fixe IP’s rein lässt, und ich ein ADSL Kunde mit dynamische IP bin, muss er mich zuerst in seiner Firewall eintragen. Dann kann ich das Query laufen lassen und die C# Code Beispiele werden wieder richtig angezeigt.
Zudem werden die SociableBE Extension for BlogEngine.NET nicht mehr auf der Hauptseite bei jedem Posting angezeigt. Die werden nur noch auf der Seite des eigentlichen Postings angezeigt. Das ist übrigens noch ein interessantes Beispiel für Entwickler von Extensions für BlogEngine.NET. Wie stelle ich fest ob ich auf der Haubtseite (default.aspx) oder auf einem Posting bin.
Früher habe ich das mit einer Prüfung auf default.aspx gemacht. Irgend wann bin ich über eine Eigenschaft gestolpert die einem angibt ob es eine SinglePost, PostList, SinglePage, Feed, Email oder Other ist. Im Code kann man dann die nötige Prüfung machen.
<%
if (Location == ServingLocation.SinglePost)
{%>
<div class="bookmarks">
<uc1:SociableBE_UC ID="SociableBE_UC1" runat="server" />
</div>
<%
}%>
Und schon kommt die Extension nur noch auf den SinglePost Seiten.
Was muss ich jetzt noch machen?
- Alle Schönheitsfehler die ich finde bereinigen.
- Die Google Werbung auf der Rechten Seite wollte ich so machen dass sie mit scrollt. BlogEngine.NET unterstützt neu JQuery. Aber das habe ich einfach noch nicht hinbekommen. Für eine Hilfe oder einen guten Link wäre ich Dankbar. Was ich gefunden habe funktionierte einfach nicht. Lag wohl an mir. :-)
by
Roland Schumacher alias GENiALi
26. April 2010 -- 120 Wörter
-- 782 mal gelesen
Dieser Beitrag ist mir was wert:
Vor kurzem habe ich festgestellt das bei BlogEngine.NET ein Captcha eingebaut wurde. Da ich wahnwitzig viel SPAM bekomme musste ich das natürlich so schnell wie möglich online stellen.
Das habe ich heute Abend gemacht. Jetzt können nur noch Kommentare hinterlassen werden wenn das Captcha ausgefüllt wird.
Damit hoffe ich die dämlichen SPAM’er einwenig los zu werden. Vielleicht ist ihnen jetzt der Aufwand zu gross. Die SPAM Bots werde ich so vielleicht auch los. Vielleicht.
klaus_b@.net sagte mir noch, dass BlogEngine.NET noch ein unsichtbares Captcha für Bots nutzt. Ich soll mal in meinem Theme die CommentView und PostView UserControl anschauen. Das habe ich jetzt auch gemacht. Unterschiede habe ich keine festgestellt.
Somit sollte ich jetzt die Bots auch los sein. Vielleicht.

by
Roland Schumacher alias GENiALi
3. April 2010 -- 77 Wörter
-- 195 mal gelesen
Dieser Beitrag ist mir was wert:
Nach dem ich ein Posting zum Thema Holzterrassenreinigung veröffentlicht habe wollte ich kurz nachlesen, ob es ein Problem ist, mit dem Hochdruckreiniger ans Werk zu gehen. Also suchte ich bei Google nach “massaranduba hochdruckreiniger”. Ich wurde auch sehr schnell fündig. Allerding wurde mein Posting, was ich etwa 5 Minuten vorher veröffentlichte, schon auf Platz zwei gelistet. Das ist unheimlich.
So schnell schon im Index!? Und dann schon auf Platz zwei? Das geht ja immer viel schneller. Unheimlich.
by
Roland Schumacher alias GENiALi
21. March 2010 -- 457 Wörter
-- 741 mal gelesen
Dieser Beitrag ist mir was wert:
klaus_b@.net hat in letzter Zeit einiges an Verbesserungen für die BlogEngine.NET in seinem Blog diskutiert und auch Code veröffentlicht. Da ich auch BlogEngine.NET einsetze und auch selber schraube machte mich das natürlich hellhörig. Einmal ging es um XML-RPC API die nicht ganz korrekt implementiert sind und einmal um den Einsatz des Meta-Tag robots. Und das mit dem Meta-Tag fand ich ganz faszinierend. Das wollte ich unbedingt einbauen.
Im Hinblick auf “Geld verdienen” mit dem Blog macht die Aussage durchaus sinn. Und das werde ich testen. Ich will nicht die Übersichtsseiten oder die Archiv im Index der Suchmaschinen haben sondern die Postings. So wie es aussieht kann das mit dem Meta-Tag robots gesteuert werden.
Allerdings wollte ich nur eine Datei anpassen müssen und nicht jede die irgend wie speziell gesteuert werden soll. Zuerst dachte ich an eine Extension für BlogEngine.NET. Allerdings gibt es kein sinnvolles Event auf das man reagieren könnte. Sobald eine Seite geöffnet wurde, die nichts mit Postings zu tun hat, wird das Post.Serving Event nicht mehr ausgelöst. Es gäbe aber noch ein Page.Serving Event. Page ist die Basisklasse von BlogEngine.NET. Leider ist die Implementation von Page.Serving eine Leiche. Das Event wird nie ausgelöst. Schade.
Also, was hat jedes Theme von BlogEngine.NET als Basis? Die site.master. Die wird immer aufgerufen. Egal was geöffnet wird. Somit kann das mit dem Meta-Tag schön zentral an einer Stelle abgewickelt werden.
Viel Code habe ich von der klaus_b@.NET Lösung genommen.
protected void Page_Load(object sender, EventArgs e)
{
SetRobotsMetaTag(sender);
}
private void SetRobotsMetaTag(object sender)
{
Page page = ((MasterPage) sender).Page;
string[] noindexPages = new[] { "default.aspx", "archive.aspx", "contact.aspx", "search.aspx" };
//Per default soll alles indexiert und verfolgt werden.
string metaContent = "index, follow";
foreach (string noindex in noindexPages)
{
if (page.Request.Path.ToLower().IndexOf(noindex) > -1)
{
//Es gibt aber ausnahmen die nicht indexert werden sollen.
metaContent = "noindex, follow";
break;
}
}
HtmlMeta tag = null;
foreach (Control ctrl in page.Header.Controls)
{
if (ctrl is HtmlMeta
&& ((HtmlMeta)ctrl).Name.ToLowerInvariant() == "robots")
{
tag = (HtmlMeta)ctrl;
tag.Content = metaContent;
break;
}
}
if (tag == null)
{
var meta = new HtmlMeta();
meta.Name = "robots";
meta.Content = metaContent;
page.Header.Controls.Add(meta);
}
}
In Zeile 10 werden die Seiten definiert die nicht indexiert werden sollen. Alle anderen werden indexiert und verfolgt.
Wenn neue Seiten definiert werden können die zentral erfasst werden.
Was noch wichtig ist, nicht das man das robots Meta-Tag mehr als einmal im Code hat. In den Einstellungen des Blogs können im HTML Head-Section Infos erfasst werden die im Header des HTML angezeigt werden. Das nutze ich rege für diverse Meta-Tags. Dort müsste das robots Meta-Tag entfernt werden. Sonst kommt es mehr als einmal im HTML Code. Was dann ein Bot damit macht ist mir nicht klar. Nimmt er das erste oder das letzte? Also einfach raus.

by
Roland Schumacher alias GENiALi
28. January 2010 -- 66 Wörter
-- 327 mal gelesen
Dieser Beitrag ist mir was wert:
Was verspricht man sich eigentlich ab solcher Nutzlosigkeit?
Innert ein paar Stunden über 800 Kommentare die als SPAM markiert werden.
Wie blöd muss man da sein. Selbst wenn es ein SPAM Bot ist, der muss ja auch von JEMANDEM parametrisiert werden.
Wie blöd sind DIE eigentlich??!!
Deshalb ist bei mir zur Zeit das kommentieren ausgeschaltet. Sorry.
PS: Ich glaube man merkt das ich jetzt verärgert bin.