HTML-Snapshot für crawler - Verständnis, wie es funktioniert
bin ich beim Lesen dieses Artikel heute. Um ehrlich zu sein, ich bin wirklich interessed "2. Viel von Ihrem Inhalt wird erstellt, indem eine serverseitige Technologie wie PHP oder ASP.NET" Punkt.
Möchte ich verstehen, wenn ich verstanden habe 🙂
Ich Schaffe das php-Skript (gethtmlsnapshot.php), wo ich auch die server-Seite der ajax-Seite (getdata.php) und ich die Flucht (für die Sicherheit) der Parameter. Dann ich fügen Sie es an das Ende des html-statische Seite (index-movies.html). Richtig? Nun...
1 - Wo ich diese gethtmlsnapshot.php? In anderen Worten, muss ich anrufen (oder besser der crawler muss), die Seite. Aber wenn ich keinen link auf die Hauptseite, der crawler kann es nicht nennen :O Wie kann der crawler die Seite aufrufen mit Parameter "_escaped_fragment_"? Sie können nicht wissen, dass Sie, wenn ich nicht bestimmte Sie irgendwo 🙂
2 - Wie kann crewler rufen Sie diese Seite mit dem Parameter? Nach wie vor, ich brauche den link, um das Skript mit dem Parameter, so dass crewler durchsuchen Sie jede Seite und speichern Sie den Inhalt der dinamic Ergebnis.
Können Sie mir helfen? Und was denkst du über diese Technik? Wird nicht besser, wenn die Entwickler der crawler Ihre eigenen bots in einigen andere Möglichkeiten? 🙂
Lassen Sie mich wissen, was denkst du über. Cheers
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, du hast etwas falsch also ich werde versuchen zu erklären, was hier Los ist, einschließlich der hintergrund-und alternativen. da dies in der Tat ein sehr wichtiges Thema, dass die meisten von uns gestolpert ist (oder zumindest so etwas ähnliches) von Zeit zu Zeit.
Mit AJAX oder eher asynchron inkrementelle Seite zu aktualisieren (da die meisten Seiten eigentlich nicht verwenden XML sondern JSON), bereichert das web und große Benutzerfreundlichkeit.
Es hat allerdings auch Ihren Preis haben.
Das größte problem waren die Kunden, die nicht die Unterstützung der xmlhttpget Objekt oder JavaScript.
Am Anfang hatten Sie zu bieten Abwärtskompatibilität.
Dies war in der Regel getan durch die Bereitstellung von links und erfassen Sie das onclick-Ereignis und Feuer ein AJAX-Aufruf, anstatt die Seite neu zu laden (falls der client es unterstützt).
Heute fast jeder client unterstützt die notwendigen Funktionen.
Also heute das problem sind Suchmaschinen. Weil Sie das nicht. Nun, das ist nicht ganz wahr, weil Sie zum Teil (vor allem Google), aber für andere Zwecke.
Google wertet bestimmte JavaScript-code zu verhindern, Blackhat SEO (zum Beispiel einen link irgendwo, aber mit JavaScript öffnen eine ganz andere Webseite... Oder in html-keyword-codes, die unsichtbar für den client, weil Sie entfernt werden, indem Sie JavaScript oder Umgekehrt).
Aber es einfach zu halten, sein bestes zu denken, ein Suchmaschinen-crawler eine sehr einfache browser ohne CSS-oder JS-Unterstützung (es ist das gleiche mit CSS, seiner Partei analysiert aus besonderen Gründen).
Wenn du also "AJAX-links" auf Ihre website, und die Webcrawler nicht unterstützt, Folgen Ihnen mit Hilfe von JavaScript, die Sie einfach nicht bekommen gecrawlt. Oder tun Sie das?
Nun, die Antwort ist JavaScript-links (wie Dokument.Position was auch immer) erhalten, gefolgt. Google ist oft intelligent genug, um zu erraten, das Ziel.
Aber ajax-Aufrufe werden nicht gemacht. einfach, weil Sie wieder Teil des Inhalts und nicht sinnvoll ganze Seite aufgebaut werden kann, wie der Kontext unbekannt ist und die eindeutigen URI-Sie stellen nicht die Position der Inhalte.
Also grundsätzlich gibt es 3 Strategien um, dass die Arbeit.
die Idee ist es, Ihre JavaScript-xmlhttpget Anfragen verstrickt mit entsprechende href-Attribute, die ungefähr so Aussehen:
www.example.com/ajax.php#!key=value
also der link sieht so aus:
die Funktion
handleajax
könnte bewerten diedocument.location
variable, um das Feuer der inkrementellen asynchrone Seite zu aktualisieren. es ist auch möglich, um eine id oder url oder was auch immer.den crawler jedoch erkennt das ajax-crawlingschema-format und holt
http://www.example.com/ajax.php.php?%23!page=imprint
statthttp://www.example.com/ajax.php#!page=imprint
damit Sie den query-string dann contanis das html-fragment aus dem Sie erkennen können, welche teilweise Inhalte wurde aktualisiert.
Sie müssen also lediglich darauf achten, dass http://www.example.com/ajax.php.php?%23!page=Impressum gibt eine vollständige website, die genauso aussieht, wie die website Aussehen sollte, um den Nutzer nach dem xmlhttpget update gemacht wurde.
eine sehr elegante Lösung ist auch zu übergeben, die ein Objekt selbst auf die handler-Funktion, die dann holt der gleichen URL wie die crawler haben würde, holte mit ajax, aber mit zusätzlichen Parametern. Ihre server-side-Skript entscheidet dann, ob die ganze Seite oder auch nur den teilweisen Inhalt.
Es ist ein sehr kreativer Ansatz, ja und hier kommt meine persönliche pr-con-Analyse:
pro:
con:
Fazit:
einfach üblich, links mit fallback auf legacy Arbeit href-Attribute, aber eine onclick-handler sind ein besserer Ansatz, denn Sie bieten Funktionalität für ältere Browser.
der größte Vorteil der ajax-crawlingschema ist, dass teilweise aktualisierten Webseiten erhalten Sie einen eindeutigen URI, und Sie nicht tun müssen, zu erstellen, duplicate content, der irgendwie dient als schwenkbare und verlink Gegenstück.
könnte man argumentieren, dass ajax crawling scheme-Implementierung konsistenter ist und einfacher zu implementieren. Ich denke, das ist eine Frage der Anwendung-design.