7 SEOs online




28. Dezember 2009

Mit DOM nach dem Laden der Seite XHTML-Elemente ansprechen

Roman @ 16:09  >>  Kategorie: php & coding — Tags: , ,

Es gibt Situationen im Wordpress-Blog oder auf der Website, wo man in seinem Seiten-Code nur eine (PHP-)Variable hat, die vielleicht mit der Funktion fsockopen() externen Code generiert und ladet; z.B. Werbe-Code eines Affiliate-Netzwerks, der z.B. Textlinks anzeigen soll. Es gibt auch Situationen, wo das Ganze dann ohne das Attribut rel=”nofollow” generiert und ausgeliefert wird. Wer aber von Google nicht den Nuller-Hammer will, möchte vielleicht die dofollow Textlinks mit nofollow versehen… Doch wie kann man “nach dem Laden” der Seite bestimmte XHTML-Elemente doch noch ansprechen und manipulieren? – ganz einfach, mit DOM!

Es gibt noch verschiedene Aspekte, die erwähnt werden sollten.
Erstens kann es z.B. sein, dass Du laut Teilnahmebedingungen Deines Affiliate-Netwerks den ausgelieferten Code gar nicht verändern darfst…
Zweitens ist da noch der öhm ästhetische Aspekt aus Coder-Sicht. Denn diese Variante, zu der Du gleich unten den Code siehst, wird am Ende des Seitencodes eingefügt. Aber manchmal geht es nicht anders, halt Handwerksarbeit ;o)

Nehmen wir also an, Du hast einen PHP-Code, den Du laut Werbepartner in Deinen Seitencode einbauen sollst. Gehen wir weiter davon aus, dass Du in Deinem PHP-Code die Variable sowie die Ausgabe des generierten Codes finden kannst. Das könnte dann z.B. folgend aussehen:

<?php
echo $werbecodeOutput;
?>

Nun gibst Du dem Ganzen eine ID, damit Du das nachher via DOM ansprechen kannst:

<div id="werbeCode">
<?php
echo $werbecodeOutput;
?>
</div>

Gehen wir nun z.B. davon aus, dass bei der Variablen $werbecodeOutput einfacher Text mit Textlinks ("<a href="">") generiert werden, könnte man jetzt, am Ende des Seitencodes alle vorhandenen A-Tags durchloopen und mit rel="nofollow" versehen:

<script language="javascript" type="text/javascript">
<!–
var d = document.getElementById("werbeCode");
var cells = d.getElementsByTagName("a");
for (var i = 0; i < cells.length; i++) {
cells[i].setAttribute("rel", "nofollow");
}

//–>
</script>

So wird nachträglich jeder vorhandene <a href="">-Tag über die Methode setAttribute mit dem zusätzlichen Attribut rel="nofollow" codiert. Das ganze rel="nofollow" wird sozusagen am Schluss noch reingeschrieben.

Wenn Du ein Wordpress-Blog hast, dann kannst Du obenstehenden Javascript-Code in die footer.php einfügen.

Hier nochmal den Code in einer sauberen Textdatei: links-mit-dom-ansprechen.txt
Der Code ist XHTML valid. Good luck!




Dieser Artikel ist mir was wert


Beitrag bei SEOigg hinzufügen  












3 Kommentare »

  1. Führt Google beim Crawlen den die Javascripts auch wirklich aus? Ansonsten bringt das ja nicht allzu viel.

    Anstatt den Code per php reinzuladen und dann mit Javascript verändern, könntest du auch gleich die Links per Javascript reinschreiben ;-)

    Comment von Peanut — 28. Dezember 2009 @ 16:29

  2. hi Peanut, ja ist klar, aber es gibt Werbepartner, da hast Du PHP-Code, welches XHTML (Links) zurückliefert und Du “keinen Einfluss” auf die Links innerhalb des PHPs (da Variable) hast.

    Comment von Roman — 28. Dezember 2009 @ 16:37

  3. Hmm… Wenn du eine Variable erhälst kannst du doch diese mit str_replace (http://php.net/manual/de/function.str-replace.php) bearbeiten. Zb. “<a” durch “<a rel=nofollow” ersetzen.

    Die Werbelinks sind doch immer irgendwie gefährlich. Man muss mol einfach einen “guten” Werbepartner haben. Vor allem einen Werbepartner dem man Vertrauen kann.

    Comment von Peanut — 29. Dezember 2009 @ 10:24

RSS-Feed für Kommentare zu diesem Artikel. TrackBack-URL

Einen Kommentar hinterlassen

Geladen in 0.854 Sekunden, 40 Datenbankabfragen. - WordPress Blog (Deutschland) :: wordpress customizing @ seo-blog