molily: jQuery / Ajax-Requext- wie vermeide ich das Laden von Metainfos?

Beitrag lesen

Hallo,

Google interessiert sich für unvollständige HTML-Dateien nicht, sofern sie nicht direkt verlinkt sind. HTML-Snippets, die nur per JavaScript geladen und ins Dokument eingefügt werden, werden von Google eher ignoriert, jedenfalls NICHT als separate Ressourcen behandelt.

Natürlich ist nicht ausgeschlossen, dass Google anderweitig an die URL des nachgeladenen HTMLs kommt. Dann würde ich dort aber kein vollständiges HTML-Gerüst mit html, head, body und meta-Element unterbringen, sondern die URL kurzerhand in die http://de.selfhtml.org/diverses/robots.htm@title=robots.txt schreiben und Google das indizieren verbieten.

uns wurde auch gesagt das ein Eintrag in die robots-Datei um die Indizierung zu vermeiden nichts hilft weil sich google angeblich darüber hinwegsetzt..

Vielleicht solltet ihr euch einen anderen SEO-Experten zulegen, das ist nämlich Quatsch. Google unterstützt beides. Selbst wenn nicht: Wenn Google sich über robots.txt hinwegsetzt, könnte sich sich genauso über das meta-Element hinwegsetzen.

Zu deinem Code:

jQuery.ajax({
type:    "GET",
async:   true,
dataType: "html",
url:     "/ziel.html",
success: function(data){
jQuery('.content').html(data).find('body');
}
});
});

data beinhaltet hier den kompletten HTML-Code als String. Da dich nur der body interessiert, müsstest du dessen Inhalt extrahieren, bevor du .content den neuen Inhalt zuweist. Der Aufruf von find('body') erzeugt nur ein neues jQuery-Objekt, nimmt keine Filterung vor.

Das extrahieren des body-Inhalts ist allerdings gar nicht so einfach. Bei einer einfachen Zuweisung an innerHTML (das, was jQuerys .html() macht) ignoriert der Browser schon viele Elemente wie html, body und head, aber title und meta bleiben. Ein DOMParser und das anschließende Heraussuchen des body-Inhalts wären nötig.

Mathias