View Full Version : Problem mit der Backlink-Identifizierung
edvsb
04-05-2006, 01:11 PM
Hallo zusammen,
folgendes Problem.
Ein User hat einen Backlink auf einer Seite mit folgender URL.
http://www.example.com/index.php?main=firmeninfopages&id=43
Das Problem ist dass der Backlink dort nicht erkannt wird, obwohl er vorhanden ist.
Nach ein bisschen stöbern bin ich auf die "function get_url" gestoßen. Dort wird nicht der komplette Content zurückgegeben, sondern komischerweise nur die ersten paar Zeilen der Webseite. Demzufolge schlägt auch die Überprüfung fehl.
Hat jemand einen Tip für mich?
Danke und GRuß,
Ingo
neurosis4u
04-05-2006, 04:39 PM
Hallo,
versuch es mal damit, das Du unter den Verzeichniseinstellungen den Punkt
Enable ID auf nein stellst.
kann natürlich auch daran liegen, das die Abfrage nicht bei dynamischen Seiten funktioniert
edvsb
04-05-2006, 05:21 PM
Hallo,
danke erst mal für die Antwort.
ID ist gar nicht aktiviert. Und dynamische URL funktionieren normalerweise. Habe auch schon andere im Verzeichnis.
Das Problem scheint irgendwo in der Funktion zu sein, genauer noch in der Abfrage ob chunked oder nicht. Die ersten 4096 vom Content werden übertragen, mehr ist dann aber nicht im Array was den Content betrifft.
Gruß, Ingo
Kann es sein dass andere HTML Tags im Link Titel vorhanden sind?
zB: mein link (...)
Das ist nähmlich nicht erlaubt!
Boby
edvsb
04-05-2006, 06:22 PM
Nö, da ist nichts falsches drinnen. Habe es ja selber überprüft da die Dame mich angerufen hat. Es stimmt alles, Titel stimmt, Beschreibung ist da. Link stimmt, kein nofollow, keine robot.txt nix.
Aber immer wieder die Meldung dass der Link nicht gefunden wurde.
Das muß an der Funktion liegen: function get_url genauer gesagt an dem Teilbereich:
while (!feof($fp)) {
//echo 'ist chunked';
$data = '';
if ($chunked) {
$line = fgets($fp, 128);
if (preg_match('/^([0-9a-f]+)/i', $line, $matches)) {
$len = hexdec($matches[1]);
if (0 == $len) {
while (!feof($fp))
fread($fp, 4096);
} else {
$data = fread($fp, $len);
//echo htmlentities($data);
}
}
} else {
$data = fread($fp, 4096);
}
$ret['content'] .= $data;
}
Denn wenn ich dort $data anzeigen lasse, dann bekomme ich auch nur die ersten 4096.
Und diese Funktion liefert ja das Ergebnis dann an die andere Funktion zum Prüfen des Links. Und da ist er nicht drinnen. Logisch, wenn 90% vom Quelltext fehlen.
Hm, ist echt doof :-(
Gruß, Ingo
thompson
04-05-2006, 06:52 PM
ich hab auch schon ähnliches festgestellt.
bei mir bricht das programm in der linküberprüfung (administration) mit einem fehler (mangelnder speicher) ab.
Loewenherz
04-20-2006, 10:25 AM
Ich habe ebenfalls immer wieder ein Problem mit der Backlinkindizierung (phpLD v2). Sobald der zu verlinkende Text nur ein wenig geändert wird - sei es durch ein Hinzufügen eines durchaus sinnvollen target="_blank" oder eine font-Formatierung -, scheint das Script den Backlink nicht mehr zu erkennen. In einem deutschsprachigen Forum bekam ich den Tipp:
Man müsste das Script daraufhin abändern, dass es nurnoch nach "href="{url}" und nicht nach dem ganzen Code-Schnipsel sucht.
Aber leider konnte mir bislang niemand sagen, wie dies zu realisieren wäre...
Und zum ersten Posting: ein Backlink von einer solcherart verklausulierten dynmischen IP bringt m.E. zumindest PR-technisch nichts.
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.