Das Putzlowitsch Test- und SEO-Blog

Stümperhaft programmiert – wie falsche Links entstehen

Fehler über Fehler

WMT Fehler 404  https-Links

Ich habe zur Zeit nicht wirklich viele Fehler in den Google-Webmastertools für meine Domain schnurpsel.de zu stehen, aber die oben gezeigte Liste hat mich erstmal stutzig werden lassen.

Was habe ich mit Google-Plus-Profilen zu schaffen und wieso sind die alle falsch? Zunächst dachte ich an meinen Autoren-Link aus der Info-Seite, aber da ist alles in Ordnung. Das wäre auch schon eher mal aufgefallen, denn die Links zu meinen Profilen stehen da schon seit mehreren Monaten drin und ich habe daran in letzter Zeit nichts geändert.

Fehlersuche

In den Webmastertools erhält man meistens auch eine Information zur Linkquelle des fehlerhaften Links. Bei allen diesen Google+-Profillinks wird eine Seite als Linkgeber genannt: www.myip.net, eine dieser vielen Website-Bewertungsseiten. Dort gibt es auch eine Seite mit Informationen zu den internen Links und da finde ich dann das:

Interne Links bei myip.net

Beim Anblick der Namen war mir sofort klar, das diese Links aus meinem Rückblick zur SEO-Campixx 2013 stammen. Dort habe ich die genannten Personen mit ihrem jeweilgen Google+-Profil verlinkt. Allerdings sind die Links korrekt als externe Links eingetragen:

<a href='https://plus.google.com/1...8/about'>Name</a>

Stümperhaft programmiert

Ich kann mir allerdings denken, was dort bei MyIP.net passiert ist.
Die Seite wird eingelesen und dann werden die Links nebst Ankertext extrahiert. Keine große Sache, das bekommt man sogar noch recht überschaubar mit regulären Ausdrücken hin. Man kann natürlich auch einen DOM-Parser verwenden, aber eigentlich ist das egal, Hauptsache man erhält eine Liste mit den Links.

Nun kommt das eigentlich spannende, wie unterscheidet man ausgehende und interne Links?

Auch das ist nicht schwer, wird sich der Programmierer gesagt haben, ausgehende Links beginnen mit http://. Dabei hat er alledings nicht bedacht, daß es auch noch andere Protokolle im Internet gibt, eben z.B. https://. Klar, https:// ist nicht http://, also ist es ein interner Link, nur leider ist das falsch.

Tja, und deswegen habe ich jetzt 15 falsche Fehler in den Webmastertools zu stehen.

2 Kommentare »

Lustige Zappeleffekte mit JavaScript (jQuery)

Klappfenster

Ohne ausklappenden Fenstern geht im modernen Webdesign fast gar nichts mehr. Dynamische Webseiten sind in und auch gar nicht mal so schwer zu erstellen. Durch die Nutzung einer passenden JavaScript-Bibliothek wie jQuery sind oft nur ein paar Zeilen JavaScript-Code notwendig, um die gewünschten Effekte zu erzielen.

Das nachfolgende Beispiel verwendet die Funktionen .hover() und .slideToggle() und sieht im Quelltext recht überschaubar aus:

$("#festes-fenster").hover(
 function(){
  $(this).next().slideToggle(150);
 }
);

JavaScript-Code
Beim div (Fenster) mit der id „festes-fenster“ wird für das Mausereignis „Betreten“ und „Verlassen“ eine Ereignisfunktion (Event-Handler) installiert, die das nächste div mit der Funktion slideToggle() ein- oder ausklappen läßt.

Hier das Beispiel:

festes Fenster

Zappel-Fenster

Bewegt man die Maus in das feste Fentster, wird das Zappel-Fenster ausgeklappt. Verläßt der Mauszeiger wieder den gestrichelt umrandeten Bereich, verschwindet das Fenster wieder. So weit, so gut.

Zappelphilipp

Interessant ist der untere Rand des festen Fensters, denn dieser wird vom Zappelfenster, wenn es sichtbar ist, teilweise überdeckt. Wenn nun der Mauszeiger in diesen Bereich gelangt, beginnt das Zappel-Fenster zu zappeln.

Der Grund ist die Überlappung. In dem Moment, wo das zweite Fenster ausgeklappt wird, überdeckt es das erste Fenster, wodurch die Maus dieses Fenster verläßt. Dadurch wird das Zappelfenster zugeklappt, die Maus ist wieder im festen Fenster, also wird das Zappelfenster wieder ausgeklappt, übderdeckt wieder das feste Fenster, wird wieder zugeklappt usw. usw. Das geht immer weiter, so lange sich der Mauszeiger im Überlappungsbereich der beiden Fenster befindet.

Beispiele aus der Praxis

Daß das nicht nur theoretische Überlegungen sind, zeigen zwei Bespiele aus der Parxis. Dadurch bin ich überhaupt erst auf dieses Phänomen aufmerksam geworden.

Bei Google+ gibt es in der linken Symbolleiste den Menüpunkt für „Fotos“ und ganz unten „Mehr“. Hier werden jeweils Unterfenster nach rechts ausgeklappt, die man zum Zappeln bringen kann. Ich habe das hier in einem kurzen Video demonstriert:

Frohes neues Jahr 2027, Neujahrstag 2027, Neujahr 2027, Happy New Year 2027 - Feuerwerk

Beim zweiten Beispiel kommt noch eine weiterer Aspekt hinzu, ein Zappel-Speichereffekt. Ich habe es jetzt nicht genauer untersucht, aber es sieht so aus, als würden die Mausereignisse in eine Art Warteschlange eingereiht und asynchron abgearbeitet werden.

Wenn die Maus eine Weile im Zappel-Bereich verweilt und zum nächsten wechselt, zappelt das vorhergehende Fenster noch weiter. Das gibt ganz lustig aussehenden, nun ja, fast schon Tanzdarbietungen:

Frohes neues Jahr 2027, Neujahrstag 2027, Neujahr 2027, Happy New Year 2027 - Feuerwerk

Splittest Zappel-Seite
Die „Musik“ ist auf der ursprünglichen Webseite nicht vorhanden, die habe ich erst im Video drunter gelegt. :-)

Weitere Artikel mit Bezug zu diesem:
3 Kommentare »

Bilder in der WordPress-Mediathek neu verknüpfen

Bilder und Artikel

Lädt man in WordPress Bilder direkt im Editor hoch, werden sie automatisch mit dem aktuell bearbeiteten Artikel bzw. der Seite verknüpft. Diese Bilder werden dann z.B. in der Worpdress-Galerie zu diesem Artikel angezeigt. Die Zuordnung eines Bildes zu einem Artikel ist normalerweise nicht änderbar. Auch wenn man ein Bild in einem oder mehreren anderen Artikeln verwendet bleibt die Eltern (Artikel) – Kind (Bild) – Beziehung bestehen.

Elternlose Bilder

Wird ein Bild in der Mediathek hochgeladen, ist es zunächst elternlos. In der Bilderliste steht dann in der Spalte „Verwendet in“ wie bei den Aprikosen nur „(Nirgendwo verwendet)“.

Wordpress-Mediathek: Funktionen für Bilder

Mit einem Klick auf „Verknüpfen“ kann man das Bild dann einem Artikel oder einer Seite zuweisen. Das Bild bekommt seine Eltern auch zugeteilt, wenn es erstmalig in einem Artikel oder einer Seite verwendet wird.

Bilder-Adoption

Manchmal kann es wünschenswert sein, ein Bild einem anderen Artikel zuzuordnen. Ein Weg ist, dieses direkt in der Datenbank zu erledigen. Dazu muß im Feld post_parent des Bildes die ID des gewünschten Artikels eintragen.

Einfacher ist es natürlich, wenn man die Zuweisung in der WordPress-Mediathek durchführen kann. Eine entsprechende Funtkion kann mit ein paar Zeilen PHP-Code nachgerüstet werden:

function plw123_add_attach( $actions, $post, $detached )
{
  if ( current_user_can( 'edit_post', $post->ID ) )
    $actions['attach'] = '<a href="#the-list" onclick="findPosts.open( \'media[]\',\''.$post->ID.'\' );return false;" class="hide-if-no-js">'.__( 'Attach' ).'</a>';
  return $actions;	
}
add_filter( 'media_row_actions', 'plw123_add_attach', 10, 3 );

Der PHP-Code kann z.B. in die Datei functions.php des Themes eingetragen werden.

Der Link „Verknüpfen“ wird dann für jedes Bild bei den Funktionen angezeigt, die beim Überfahren einer Mediathekzeile mit der Maus eingeblendet werden (Beispiel Kamera):

Wordpress-Mediathek: Funktion "Verknüpfen" bei jedem Bild

Die vorgestellte Lösung habe ich mit WordPress 3.2.x und 3.3.x getestet.

25 Kommentare »

Die gute, alte Blogrolle

Wordpress: Link bearbeiten

Lebt sie noch, oder ist sie schon verstorben, die gute, alte Blogrolle?

Die WordPress Linkliste

Ja, bei mir gibt es noch die Blogrolle und sie heißt sogar so. Eigentlich ist es eine von WordPress verwaltete, kategorisierbare Linkliste. Bei jeder neuen WordPress-Installation gibt es genau eine Link-Kategorie bereits vorinstalliert, eben die berühmte Blogroll. Sie ist auch schon mit ein paar Einträgen belegt, es sei denn, man machte eine leere WP-Installation.

In älteren Versionen von WordPress bis einschließlich 3.0.x hatten diese WordPress-Bookmarks noch eine nicht unwichtige technische Funktion. Wenn man bei den Kommentar-Einstellungen die Option

[x] Der Autor muss bereits einen genehmigten Kommentar geschrieben haben.

aktiviert hatte, wurden Trackbacks und Pingbacks von Blogs, die in der Linkliste stehen, automatisch freigeschaltet. Das fand ich sehr gut, mußte ich doch so nicht immer die vielen Pings und Trackbacks von befreundeten Blogs freischalten. Aber leider ist das irgendwie ab WP 3.1 unter den Tisch gefallen.

Deshalb habe ich diese praktische Funktion wieder zum Leben erweckt. Keine große Sache, alles in allem etwa 20 Zeilen PHP-Skript. Hier die Datei:

Download: 123 Comment Approve Blogroll (Version 0.10)

Die Verwendung ist in WordPress als Plugin, als MU-Plugin, in der my-hacks.php oder in der funcions.php des Themes möglich.

Webmasterfriday

Gut, das paßte jetzt vielleicht nicht 100%ig zum aktuellen Thema „Die Blogroll – wichtig oder weglassen?“ des Webmaster-Fridays. Aber egal, es hat mit der Blogrolle zu tun und ich nähere mich dem Thema halt aus einem technischen Blickwinkel.

Allein meiner Faulheit geschuldet, nicht immer alle Ping- und Trackbacks freischalten zu müssen, werde ich die Blogroll behalten und sogar erweitern. Die Funktionalität ist übrigens selbst dann gegeben, wenn ein Link auf

[x] Diesen Link als Privat markieren

steht, also unsichtbar ist. Man kann also einen Link auch nur intern als Trackback-Freischalter verwenden, ohne ihn öffentlich sichtbar zu machen. :-)

Webmasterfriday - WMF

Keine Kommentare »

Frohes neues Jahr mit Google Top-100

Frohes neues JahrSchnurpsel wünscht allen Lesern
ein frohes neues Jahr.

Die Putzlowitscher Zeitung hat ja schon vorhin ihren Lesern ein frohes neues Jahr 2012 gewünscht, nun will ich das hier auch bei Schnurpsel tun, da vermutlich nicht alle Leser meine beiden Blogs lesen.

Für das aktuelle Google-Doodle funktioniert meine Frohes neues Jahr Top-100 schon recht gut. Als Zusatz habe ich kürzlich noch die automatische Anpassung vom Titel der Seite und der URL hinzugefügt. Das geht ganz gut mit der WordPress-Funktion wp_update_post. Im Seiten-Template prüfe ich ganz am Anfang, ob Titel und Seitenname bereits dem aktuellen Doodle-Titel entsprechen. Falls nicht, werden die Felder post_title und post_name entsprechend angepaßt.

Somit läuft die Top-100 nun praktisch ohne mein Zutun für alle neuen Google-Doodles. Naja, zumindest will ich das mal hoffen.

Wie bei Oceparx zu lesen ist, gibt es wohl ab 0 Uhr noch ein extra Neujahrs-Doodle. Mal sehen, ob das hier dann mit der Top-100 auch so gut klappt.

Ein Kommentar »