Seite 1 von 1

Unterstützt Googlebot den Header "304 Not Modified"

Verfasst: 03.11.2004, 14:41
von inso
Ich habe jetzt in ein neues Projekt eine Funktion eingebaut die dem googlbot eine 304 (not modified) senden soll falls die Seite sich seit dem letzten spidern nicht geändert hat:

https://www.abakus-internet-marketing.d ... html#20455

Heute morgen hat Google viele Seiten die schon in der Form im Index sind gespidert, aber es wurden alle Seiten komplett neu eingelesen ohne das ein 304 gesand worden ist...

Haben hier noch mehr Leute dieses Problem oder funktioniert es bei euch tadellos?

mfg
inso

Verfasst:
von

Verfasst: 03.11.2004, 15:15
von axelm
Hi Inso,

bringt das wirklich was?

Wieso benutzt du nicht das Last-Modified since modul (siehe unten)?
So ein PHP Skript verbraucht ja auch ressourcen (ja ich weiss nicht viel)
....
Stellen Sie sicher, dass Ihr Webserver den HTTP-Header "If-Modified-Since" unterstützt. Über diese Funktion kann Ihr Webserver Google mitteilen, ob der Inhalt seit dem letzten Webdurchlauf geändert wurde. Mit dieser Funktion können Sie Bandbreite und Overhead einsparen.
https://www.google.de/intl/de/webmaster ... lines.html
....

Axel

Verfasst: 03.11.2004, 15:16
von linux
also google unterstüzt das. bei uns wird immer ein 304 gesendet in kombination mit if modified since. Das geht ohne probleme. ich habe aber festgestellt, daß google 1 woche braucht und das zu begreifen, vielleicht da es ein neues datenbankfeld ja bei denen dann füllt. ich würde ne woche warten oder mit einem header checker schauen, ob der server das modified since ausliefert

und es brigt sehr viel , bei einer großen seitenzahl ist es unerlässlich

Verfasst: 03.11.2004, 16:12
von Southmedia
axelm,

Das Script macht genau das was von Google gefordert wird.

Bei ner PHP-Seite muss das If-Modified-Since-Datum ja nicht dem letzten Upload der Datei entsprechen (wie bei ner .html-Datei) da sie ja dynamisch ist. Meist liegt das letzte Änderungsdatum irgendwo in der Datenbank - und da ist PHP doch die optimale Lösung.

Verfasst: 03.11.2004, 23:40
von inso
danke linux werde mal abwarten ob google es sich noch mal überlegt...

inso

Verfasst: 04.11.2004, 10:07
von axelm
Southmedia hat geschrieben:Das Script macht genau das was von Google gefordert wird.
Wie sieht es mit der Last aus? Was bemerkt oder kratzt das denn server überhaupt nicht?

Verfasst: 04.11.2004, 11:47
von linux
die last ist sehr gering, denn du fragst ja in der datenbank ab wann die Seite erstellt wurde. Als beispiel datenbank feld modified anlegen, sobald du ein update macht und sich die daten ändern eneues datum eintragen. und dieses Datum immer an google schicken. Das ist keine große last, denn du mußt ja eh die anderen daten aus der tabelle auslesen.
@inso hast du mit einem header checker überprüft ob deine seite das modified ausliefer. wenn ja abwarten, wie gesagt es kann dauern

gruß

linux

Verfasst: 04.11.2004, 12:07
von Southmedia
axelm, die Last die das Script selbst erzeugt ist minimal. Der formt den Timestamp nur ein wenig um und berechnet einen Hash daraus, das sind ein paar Nanosekunden Rechenzeit und absolut kein Problem.

Wie du an den Timestamp der letzten Änderung kommst ist wiederum deine Sache. Ich habe ihn meist irgendwie in der Datenbank stehen, es wäre aber auch denkbar den Timestamp in einer Datei als Variable zu speichern und diese Datei in den Hauptdatei einzubinden. Dann wäre die Last so ziemlich 0, denn ein include() ist was ganz normales. Dann einfach die Variable an die Funktion übergeben und das ganze funktioniert.

Und wie gesagt, bei html-Dateien übernimmt der Apache diese Funktion mit den Headern, anhand des letzten Änderungsdatum der Datei.