Αυτή η σελίδα τροποποιήθηκε τελευταία φορά το 1576. Ένα ιστολόγιο που έχει πολλές ενδιαφέρουσες πληροφορίες…. Επιταχύνετε την ευρετηρίαση από τις μηχανές αναζήτησης

Κεφαλίδα HTTP Τελευταία τροποποίηση (τελευταία τροποποίηση)στέλνει χρόνο στον πελάτη τελευταία αλλαγήέγγραφο (ιστοσελίδα). Ο πελάτης (πρόγραμμα περιήγησης ή ανιχνευτής) στέλνει την κεφαλίδα " Εάν-Τροποποιήθηκε-Από' και αν η τελευταία ημερομηνία τροποποίησης της σελίδας ταιριάζει, ο διακομιστής επιστρέφει τον τίτλο ' 304 Μη τροποποιημένο' και δεν φορτώνει τη σελίδα. Εάν ο χρόνος τελευταίας τροποποίησης είναι διαφορετικός (ή η τελευταία τροποποιημένη κεφαλίδα δεν έχει διαμορφωθεί), ο διακομιστής επιστρέφει την κεφαλίδα " 200 ΟΚ' και φορτώνει τη σελίδα. Δηλαδή, αντί να φορτώσει ξανά τη σελίδα και να ενημερώσει τη μνήμη cache, ο πελάτης λαμβάνει μόνο κλάση 304. Ο πελάτης εξοικονομεί κίνηση και ο διακομιστής δίνει λιγότερα δεδομένα - αμοιβαία εξοικονόμηση.

Αλλά, γιατί θα ήταν αυτό το άρθρο, αν όχι για να μιλήσουμε για τα πλεονεκτήματα που έχει η ρύθμιση της κεφαλίδας Τελευταία Τροποποίηση ή μάλλον για την επιτάχυνση της ευρετηρίασης του ιστότοπου. Είναι εύκολο να μαντέψει κανείς ότι 10 σελίδες ενός ιστότοπου θα ευρετηριαστούν ταχύτερα από 1000. Η ίδια αρχή που σας επιτρέπει να βελτιστοποιήσετε τη φόρτωση σελίδων λειτουργεί για τη δημιουργία ευρετηρίου. Μια μηχανή αναζήτησης δεν χρειάζεται να δημιουργήσει ευρετήριο 1000 σελίδων για να βρει 10 νέες σελίδες. Χάρη στην τελευταία τροποποίηση, αφήνουμε μόνο νέες σελίδες (ή ενημερωμένες) για το ρομπότ. Το ρομπότ έρχεται στον ιστότοπο και παίρνει πρώτα αυτό που χρειάζεται και μετά όλα τα άλλα.

Ρύθμιση της κεφαλίδας τελευταίας τροποποίησης

Βεβαιωθείτε ότι οι κεφαλίδες http είναι σωστές. Ειδικότερα, το περιεχόμενο της απάντησης που δίνει ο διακομιστής στο αίτημα "if-modified-since" είναι σημαντικό. Η κεφαλίδα Last-Modified πρέπει να επιστρέψει τη σωστή ημερομηνία της τελευταίας τροποποίησης του εγγράφου. Ακόμα κι αν ο διακομιστής δεν επιστρέψει την ημερομηνία της τελευταίας τροποποίησης του εγγράφου (τελευταία τροποποίηση), ο ιστότοπός σας θα ευρετηριαστεί. Ωστόσο, σε αυτήν την περίπτωση, θα πρέπει να ληφθούν υπόψη τα εξής: - η ημερομηνία δεν θα εμφανίζεται δίπλα στις σελίδες του ιστότοπού σας στα αποτελέσματα αναζήτησης. - κατά την ταξινόμηση κατά ημερομηνία, ο ιστότοπος δεν θα είναι ορατός στους περισσότερους χρήστες. - το ρομπότ δεν θα μπορεί να λάβει πληροφορίες σχετικά με το εάν η σελίδα του ιστότοπου έχει ενημερωθεί από την τελευταία ευρετηρίαση. Και επειδή ο αριθμός των σελίδων που λαμβάνει το ρομπότ από τον ιστότοπο σε μία επίσκεψη είναι περιορισμένος, οι αλλαγμένες σελίδες θα αναπροσαρμόζονται λιγότερο συχνά. Βεβαιωθείτε ότι ο διακομιστής ιστού σας υποστηρίζει την κεφαλίδα HTTP "If-Modified-Since". Αυτή η κεφαλίδα θα επιτρέψει στον διακομιστή ιστού να ενημερώσει την Google εάν το περιεχόμενο του ιστότοπου έχει αλλάξει από την τελευταία φορά που ανιχνεύτηκε. Η υποστήριξη αυτής της δυνατότητας μειώνει τη χρήση γενικών εξόδων και εύρους ζώνης.

Ακολουθούν παραδείγματα για το πώς να ρυθμίσετε την αποστολή της τελευταίας τροποποιημένης κεφαλίδας και τον σωστό χειρισμό του If-Modified-Since.

Πώς να ρυθμίσετε το meta Last-Modified για στατικές σελίδες html

Πώς να ρυθμίσετε το Last-Modified σε php

= $LastModified_unix) ( header($_SERVER["SERVER_PROTOCOL"] . " 304 Not Modified"); exit; ) header("Last-Modified: ". $LastModified); ?>

Πώς να ρυθμίσετε το Last-Modified .htaccess

RewriteRule .* - RewriteRule .* -

Πώς να ρυθμίσετε το Last-Modified nginx + php

τοποθεσία ~ .php$ ( ... if_modified_since off; fastcgi_pass fcgi; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /<путь >/web$fastcgi_script_name; ... fastcgi_pass_header Τελευταία Τροποποίηση; περιλαμβάνουν fastcgi_params? )

Ελέγξτε την τελευταία τροποποίηση

Όταν ρυθμιστεί η κεφαλίδα που περνά στον πελάτη, δεν βλάπτει τελευταία τροποποιημένη επιταγήγια την ορθότητα. Μπορείτε να ελέγξετε την Τελευταία Τροποποίηση στον δικό σας ιστότοπο ή στον ιστότοπο τρίτων μέσω διαδικτυακών υπηρεσιών.

Ή κάντε τον δικό σας έλεγχο για σωστή επεξεργασία της κεφαλίδας Τελευταία Τροποποιημένη:

Ρύθμιση της κεφαλίδας τελευταίας τροποποίησηςκαι η επεξεργασία της κεφαλίδας If-Modified-Since θα είναι εξαιρετικά χρήσιμη σε οποιονδήποτε περισσότερο ή λιγότερο μεγάλο ιστότοπο. Η ταχύτητα επεξεργασίας σελίδας ενός ιστότοπου μπορεί να γίνει σημαντική. Μια σχετικά απλή εγκατάσταση δεν θα δημιουργήσει προβλήματα, ειδικά επειδή για δημοφιλή CMS όπως joomla, wordpress, modx κ.λπ. υπάρχουν έτοιμες λύσεις.

Υπάρχουν πολλοί διαφορετικοί μύθοι στον τομέα της βελτιστοποίησης μηχανών αναζήτησης (SEO). Κάποια από αυτά έχουν βάση, που δεν κατάλαβαν πού. Σε αυτήν τη σημείωση, θα εξετάσουμε ένα από αυτά - τη χρήση της κεφαλίδας απόκρισης τελευταίας τροποποίησης.

Πριν από λίγο καιρό συναντήσαμε ένα έγγραφο με τίτλο "Οδηγίες Ingate για Web Studios σε ιστότοπους που προωθούνται". Και μια από τις «συστάσεις» ήταν η εξής:

Μετά από έναν επανασχεδιασμό ή σε έναν νέο ιστότοπο που αναπτύσσεται, θα πρέπει να γραφεί η ημερομηνία της τελευταίας τροποποίησης των σελίδων του ιστότοπου (Τελευταία τροποποίηση)

Για προσθήκη στον ιστότοπο Πληροφορίες PHPΗ ημερομηνία της τελευταίας τροποποίησης των σελίδων είναι απαραίτητη στην αρχή πηγαίος κώδικαςσενάριο εισαγωγής κάθε σελίδας


επικεφαλίδα ("Τελευταία τροποποίηση: " . ημερομηνία("D, d M Y H:i:s", time()) . "GMT");
?>

Ήταν αυτή η άγρια ​​ανοησία, αυτή η απόλυτη ανοησία και ο ειλικρινά παραληρηματικός κώδικας που με ώθησαν να γράψω αυτό το άρθρο. Εδώ θα προσπαθήσω να εξηγήσω τι είναι το Last-Modified, γιατί χρειάζεται και πώς το χρησιμοποιούν τα προγράμματα περιήγησης και οι μηχανές αναζήτησης.

Τι είναι Τελευταία Τροποποίηση

Ο διακομιστής ιστού, όταν μεταδίδει πληροφορίες στον πελάτη (προγράμματα περιήγησης ή ρομπότ αναζήτησης), αναφέρει αρκετά πρόσθετα δεδομένα. Μπορούν να προβληθούν στην κονσόλα του προγράμματος περιήγησης, για παράδειγμα:

ρυθμίστε τις παραμέτρους του διακομιστή ώστε να εκδίδει σωστές κεφαλίδες απόκρισης (για παράδειγμα, εάν η σελίδα δεν υπάρχει, εκδώστε ένα σφάλμα 404 και εάν ληφθεί ένα αίτημα If-Modified-Since, εκδώστε έναν κωδικό 304 εάν η σελίδα δεν έχει αλλάξει από την καθορισμένη ημερομηνία στο αίτημα).

Μπορείτε επίσης να δείτε ότι εάν ο διακομιστής δεν ανταποκρίνεται με κανέναν τρόπο σε ένα αίτημα GET υπό όρους, τότε δεν διαφέρει από ένα κανονικό αίτημα. Δηλαδή, η κεφαλίδα Last-Modified με την τρέχουσα ώρα, και επίσης εσφαλμένα σχηματισμένη (γεια σας Integate!) δεν χρειάζεται καθόλου!

Είναι λοιπόν απαραίτητο το Last-Modified ή όχι;

Γενικά χρειάζεται. Αλλά είναι σημαντικό να καταλάβουμε ότι δεν είναι η ίδια η κεφαλίδα που παίζει οποιονδήποτε ρόλο, αλλά ολόκληρο το σενάριο των αιτημάτων υπό όρους, το οποίο πρέπει να υλοποιηθεί από τον ιστότοπο μέχρι το τέλος. Σε αυτή την περίπτωση θα έχουμε υψηλή ταχύτητα ευρετηρίασης του ιστότοπου.

Αλλά είναι συχνά πολύ δύσκολο να εφαρμοστεί αυτό σε ένα ολοκληρωμένο CMS. Ίσως αυτό να απαιτήσει αρκετά σημαντικές αλλαγές στον κώδικα του ίδιου του CMS.

Αν και για έναν αριθμό CMS αυτό μπορεί να εφαρμοστεί με την ενεργοποίηση της προσωρινής αποθήκευσης σελίδων. Εάν το CMS αποθηκεύει προσωρινά τις σελίδες δημιουργώντας και εξυπηρετώντας ουσιαστικά στατικά αρχεία, τότε ο ίδιος ο διακομιστής web θα ανταποκριθεί σωστά σε αιτήματα υπό όρους. Για παράδειγμα, στο WordPress αυτό μπορεί να γίνει χρησιμοποιώντας την προσθήκη WP Super Cache:

Ας το ελέγξουμε στη δουλειά. Ενεργοποίησα αυτό το πρόσθετο, άνοιξα το πρόγραμμα περιήγησης σε ανώνυμη λειτουργία και έκανα δύο αιτήματα για την ίδια σελίδα. Φαίνεται ξεκάθαρα ότι η δεύτερη απάντηση είναι σωστή - 304 Μη τροποποιημένο:

Αντί για συμπέρασμα

Έτσι, καταλάβαμε την κεφαλίδα Τελευταία Τροποποίηση. Πρώτον, πρέπει να μεταφέρει πληροφορίες σχετικά με την ημερομηνία και την ώρα που το έγγραφο τροποποιήθηκε πραγματικά. Δεύτερον, η αντίδραση του διακομιστή στο αίτημα υπό όρους με την κεφαλίδα If-Modified-Since είναι εξαιρετικά σημαντική.

Λοιπόν, ακούτε λιγότερο τους SEO που δεν γνωρίζουν τα βασικά στοιχεία του Διαδικτύου.

Ένα από τα στάδια βελτιστοποίησης ενός ιστότοπου στο Διαδίκτυο για τη σωστή λειτουργία και την επιτυχημένη προώθησή του είναι η βελτιστοποίηση από την πλευρά του διακομιστή. Μεταξύ άλλων - ρύθμιση της σωστής απόκρισης διακομιστή στο αίτημα "Τελευταία τροποποίηση". Η σωστή ρύθμιση αυτής της παραμέτρου μπορεί να επηρεάσει την αύξηση της ταχύτητας φόρτωσης του ιστότοπου και θα επηρεάσει θετικά την ευρετηρίασή του από τα ρομπότ αναζήτησης.

Τι είναι το Last-Modified και γιατί χρειάζεται;

Όπως υποδηλώνει το όνομα, η κεφαλίδα Last-Modified λέει στον πελάτη (επισκέπτη ιστότοπου) για την τελευταία φορά που τροποποιήθηκε μια συγκεκριμένη σελίδα του ιστότοπου. Εάν ένα ρομπότ αναζήτησης ενεργεί ως επισκέπτης ιστότοπου και ο ιστότοπος (στον διακομιστή) δεν έχει ρυθμιστεί (ή ρυθμιστεί εσφαλμένα) με την απόκριση Τελευταία Τροποποιημένη στο έγγραφο ή τη σελίδα που ζητήθηκε, το ρομπότ αναζήτησης δεν έχει άλλη επιλογή από το να ευρετηριάσει όλες τις σελίδες του τον πόρο Διαδικτύου ξανά και ξανά σε κάθε επίσκεψη, δημιουργώντας έτσι ένα συγκεκριμένο φόρτο στον διακομιστή που βρίσκεται στον ιστότοπο φιλοξενίας. Και αν ο αριθμός των σελίδων είναι εκατοντάδες ή και χιλιάδες; Ανάλογα με τα χαρακτηριστικά και τις δυνατότητες του διακομιστή, υπάρχει πιθανότητα να «τρέξει» κάποιου είδους σφάλμα από την πλευρά του hosting. Επιπλέον, θα πρέπει να σημειωθεί ότι το ρομπότ αναζήτησης έχει ένα όριο στον αριθμό των σελίδων που ευρετηριάζονται "κάθε φορά", επομένως εάν η κεφαλίδα Τελευταία Τροποποιημένη δεν έχει ρυθμιστεί σωστά, κινδυνεύουμε να ευρετηριαστούν οι αμετάβλητες σελίδες από το ρομπότ, αλλά οι νέες σελίδες που χρειαζόμαστε όχι.

Με βάση την προδιαγραφή RFC 2616 που περιγράφει το πρωτόκολλο μεταφοράς υπερκειμένου HTML, ένας πελάτης μπορεί να "ρωτήσει" τον διακομιστή εάν μια σελίδα έχει αλλάξει από μια συγκεκριμένη ημερομηνία, στέλνοντας στον διακομιστή μια κεφαλίδα "If-Modified-Since". Εάν η ζητούμενη σελίδα δεν έχει αλλάξει, ο διακομιστής θα επιστρέψει μια κεφαλίδα "304 Δεν τροποποιήθηκε" και το πρόγραμμα περιήγησης δεν θα φορτώσει τη σελίδα και ο διακομιστής ιστού δεν θα στείλει πολλά δεδομένα. Διαφορετικά (εάν η σελίδα του ιστότοπου έχει αλλάξει από το προηγούμενο αίτημα), ο διακομιστής θα επιστρέψει μια απάντηση "200 OK" και τον κωδικό της ίδιας της σελίδας.

Εκτός από τα παραπάνω, θα αναφέρουμε τις συστάσεις της Yandex: «Το ρομπότ δεν θα μπορεί να λάβει πληροφορίες σχετικά με το εάν η σελίδα του ιστότοπου έχει ενημερωθεί από την τελευταία ευρετηρίαση. Και επειδή ο αριθμός των σελίδων που λαμβάνει το ρομπότ από τον ιστότοπο σε μία επίσκεψη είναι περιορισμένος, οι αλλαγμένες σελίδες θα αναπροσαρμόζονται λιγότερο συχνά.

ΣΥΝΟΛΟ:Ένας σημαντικός σκοπός της κεφαλίδας "Τελευταία Τροποποίηση" είναι να ενημερώσει τον επισκέπτη του ιστότοπου και ρομπότ αναζήτησηςημερομηνία τελευταίας τροποποίησης οποιουδήποτε εγγράφου.

Σε τι χρησιμεύει η σωστή ρύθμιση Τελευταία Τροποποίηση;

Ρυθμίζοντας σωστά την απόκριση διακομιστή Τελευταία Τροποποίηση, μπορούμε να επιτύχουμε πολλά θετικά αποτελέσματαγια τον ιστότοπό μας:

  • Αυξάνει την ταχύτητα φόρτωσης σελίδων ιστότοπου για άτομα:εάν η σελίδα έχει ήδη επισκεφτεί ο χρήστης και η σελίδα δεν έχει αλλάξει κατά τη στιγμή της επόμενης επίσκεψης, το πρόγραμμα περιήγησης του επισκέπτη δεν θα φορτώσει ξανά τη σελίδα, αλλά θα εμφανίσει το αποθηκευμένο αντίγραφό της.
  • Ο φόρτος στον ιστότοπο φιλοξενίας (διακομιστής) μειώνεται:με αυτόν τον αλγόριθμο εργασίας, ο διακομιστής θα φορτώσει πολύ λιγότερο λόγω της ανάγκης μεταφοράς του όγκου μόνο αλλαγμένων σελίδων στον επισκέπτη του ιστότοπου.
  • Εμφανίζεται η ημερομηνία του τελευταίου εγγράφου στα αποτελέσματα αναζήτησης:Αυτό το γεγονός μπορεί να προσελκύσει επισκέπτες στον ιστότοπό σας εάν εμφανιστεί μια "φρέσκια" ημερομηνία.
  • Ταξινόμηση κατά ημερομηνία:Οι σελίδες του ιστότοπου θα ταξινομηθούν κατά ημερομηνία στα αποτελέσματα αναζήτησης.
  • Η ευρετηρίαση του ιστότοπου από ρομπότ αναζήτησης επιταχύνεται σημαντικά:Λόγω της γρήγορης απάντησης του ιστότοπού σας σχετικά με την ημερομηνία των σαρωμένων σελίδων, οι παλιές (ήδη ευρετηριασμένες) σελίδες θα "πεταχτούν στην άκρη", δίνοντας τη θέση τους σε "φρέσκα" έγγραφα. Αυτό το στοιχείο είναι το πιο σημαντικό κατά την προώθηση του ιστότοπου, επειδή. Η υψηλή ταχύτητα ευρετηρίασης αυξάνει το επίπεδο εμπιστοσύνης στον ιστότοπο μεταξύ των ρομπότ αναζήτησης.

Πώς να ελέγξετε εάν το Last-Modified έχει ρυθμιστεί σωστά;

Μία από τις υπηρεσίες στις οποίες μπορείτε να ελέγξετε την ορθότητα (και μάλιστα την ύπαρξη) της ρυθμισμένης απόκρισης διακομιστή Τελευταία Τροποποίηση είναι η ομώνυμη last-modified.com

Στο πεδίο εισαγωγής, πρέπει να γράψετε τη διεύθυνση του ιστότοπού σας ή μια συγκεκριμένη σελίδα και να κάνετε κλικ στο κουμπί "Έλεγχος". Το αποτέλεσμα της υπηρεσίας θα είναι μια επίδειξη της απάντησης του ιστότοπού σας στο αίτημα για τις κεφαλίδες "Τελευταία Τροποποίηση" και "304 Μη Τροποποιημένο". Ένα παράδειγμα τέτοιου ελέγχου:

Ρύθμιση της τελευταίας τροποποίησης

Ας ρίξουμε μια ματιά στην υλοποίηση της απόκρισης κεφαλίδας HTTP τελευταίας τροποποίησης από την PHP.

Στο Διαδίκτυο, υπάρχουν πολύ συχνά τέτοιες συστάσεις για τη ρύθμιση της τελευταίας τροποποίησης:

Κάποιος θέλει να αναφωνήσει: «Δεν χρειαζόμαστε τέτοιο χόκεϊ!» Και ας δούμε γιατί. Σε απόκριση σε αίτημα χρήστη, η λειτουργία gmdateθα επιστρέψει σε εμάς σημερινή ημερομηνίαΏρα Γκρίνουιτς (GMT). Και αυτό θα συμβαίνει κάθε φορά με κάθε αίτημα ενός χρήστη ή ενός ρομπότ αναζήτησης - ο διακομιστής θα μας επιστρέψει ακριβώς τον δικό του σημερινή ημερομηνία. Αποδεικνύεται ότι κάθε φορά που οι μηχανές αναζήτησης επισκέπτονται τον ιστότοπό σας, θα βλέπουν ότι η σελίδα που ζητήσατε μόλις ενημερώθηκε. Αυτό μπορεί να είναι "χρήσιμο" μόνο μερικές φορές... Μετά από λίγο, η μηχανή αναζήτησης θα καταλάβει ότι "ξεγελιέται" και θα χάσει κάθε εμπιστοσύνη στον ιστότοπό σας. Κατά συνέπεια, μια τέτοια υλοποίηση δεν μας ταιριάζει.

Ας στραφούμε στον παραπάνω πόρο για βοήθεια. last-modified.com. Εμφανίζει επίσης μια υλοποίηση PHP της κεφαλίδας HTTP τελευταίας τροποποίησης. Μοιάζει με αυτό:

$LastModified_unix = 1294844676;

$IfModifiedSince = false;



αν ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) (
έξοδος;
}

Ας ρίξουμε μια ματιά στο πώς λειτουργεί αυτός ο κώδικας. Μεταβλητός $LastModified_unixρυθμίστε χειροκίνητα στη μορφή Unix Time Stamp(ο αριθμός των δευτερολέπτων που έχουν περάσει από την αρχή της εποχής του Unix - από την 1η Ιανουαρίου 1970).

Λειτουργία gmdateεπιστρέφει την τρέχουσα ώρα GMT στη μορφή Ημέρα, ΗΗ Δευτ. ΕΤΟΣ ΩΩ:ΛΛ:SS GMT.

Επόμενο: λάβετε την ώρα της τελευταίας τροποποίησης της σελίδας, ελέγξτε για την παρουσία Εάν-Τροποποιήθηκε-Απόαν υπάρχει - δώστε 304 Μη τροποποιημένοκαι σταματήστε το σενάριο. Διαφορετικά, δημιουργούμε μια κεφαλίδα Τελευταία τροποποίησηκαι δώστε όλη τη σελίδα.

Στην παραπάνω επιλογή προτείνεται η ρύθμιση της ώρας $LastModified_unixχειροκίνητα. Τι γίνεται όμως αν ο ιστότοπος έχει πολλές σελίδες; Για να γίνει αυτό, "εκσυγχρονίζουμε" λίγο το σενάριο, αντικαθιστώντας μόνο την πρώτη γραμμή σε αυτό:

$LastModified_unix = strtotime(ημερομηνία("D, d M Y H:i:s", filectime($_SERVER["SCRIPT_FILENAME"])));
$LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
$IfModifiedSince = false;

if (isset($_ENV["HTTP_IF_MODIFIED_SINCE"]))
$IfModifiedSince = strtotime(substr ($_ENV["HTTP_IF_MODIFIED_SINCE"], 5));

if (isset($_SERVER["HTTP_IF_MODIFIED_SINCE"]))
$IfModifiedSince = strtotime(substr ($_SERVER["HTTP_IF_MODIFIED_SINCE"], 5));

αν ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) (
header($_SERVER["SERVER_PROTOCOL"] . " 304 Not Modified");
έξοδος;
}

header("Last-Modified: ". $LastModified);

Στην ενημερωμένη έκδοση, η πρώτη γραμμή κώδικα μετατρέπει τη κειμενική αναπαράσταση της ημερομηνίας στα αγγλικά σε ετικέτα με τη μορφή Unix Time Stamp, χρησιμοποιώντας έτσι τον αυτόματα υπολογισμένο χρόνο αλλαγής της τρέχουσας σελίδας του ιστότοπου.

Όλα είναι έτοιμα! Τώρα μένει να επικολλήσουμε τον κώδικα που προκύπτει στην ενότητα ... κάθε σελίδα του ιστότοπου και απολαύστε την υψηλή ταχύτητα φόρτωσης σελίδων και την ευρετηρίασή τους από ρομπότ αναζήτησης.

Επιτρέψτε μας να σας βοηθήσουμε να ρυθμίσετε την Τελευταία Τροποποίηση!

Ξεκινήστε με μια απλή κλήσηστο «T-Design»! Το τηλέφωνό μας είναι 8 499 340-17-82 - λειτουργεί σε λειτουργία Ακατάπαυσταώστε να λαμβάνετε γρήγορα τις πληροφορίες που σας ενδιαφέρουν για την επίλυση των προβλημάτων ανάπτυξης και υποστήριξης του ιστότοπού σας. Ή γράψτε σε ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ. Θα συμβουλεύουμε για όλα τα θέματα και επιλέξτε την καλύτερη τιμήγια την εταιρεία σας.

Σύνταξη

If-Modified-Since: , ::GMT

Οδηγίες

Ένα από τα "Δευτέρα", "Τρί", "Τετ", "Πέμ", "Παρ", "Σάββατο" ή "Κυρ" (με διάκριση πεζών-κεφαλαίων). 2ψήφιος αριθμός ημέρας, π.χ. "04" ή "23". Ένα από τα "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ( διάκριση πεζών-κεφαλαίων). 4ψήφιος αριθμός έτους, π.χ. «1990» ή «2016». 2ψήφιος αριθμός ώρας, π.χ. "09" ή "23". 2ψήφιος αριθμός λεπτών, π.χ. "04" ή "59". 2ψήφιος δεύτερος αριθμός, π.χ. "04" ή "59". GMT

Ώρα Γκρίνουιτς. Οι ημερομηνίες HTTP εκφράζονται πάντα σε GMT, ποτέ σε τοπική ώρα.

Παραδείγματα

Εάν-Τροποποιήθηκε-Από: Τετ., 21 Οκτωβρίου 2015 07:28:00 GMT

Προδιαγραφές

Προσδιορισμός Τίτλος
RFC 7232, ενότητα 3.3: If-Modified-Since Πρωτόκολλο μεταφοράς υπερκειμένου (HTTP/1.1): Αιτήματα υπό όρους

Συμβατότητα προγράμματος περιήγησης

Ο πίνακας συμβατότητας σε αυτήν τη σελίδα δημιουργείται από δομημένα δεδομένα. Εάν θέλετε να συνεισφέρετε στα δεδομένα, ρίξτε μια ματιά στη διεύθυνση https://github.com/mdn/browser-compat-data και στείλτε μας ένα αίτημα έλξης.

Ενημερώστε τα δεδομένα συμβατότητας στο GitHub

Επιφάνεια εργασίαςΚινητό
ΧρώμιοάκρηFirefoxInternet ExplorerΛΥΡΙΚΗ ΣΚΗΝΗσαφάριAndroid webviewChrome για AndroidFirefox για AndroidOpera για AndroidSafari σε iOSSamsung Internet
Εάν-Τροποποιήθηκε-ΑπόChrome Πλήρης υποστήριξη ΝαιΠλήρης υποστήριξη Edge 12Πλήρης υποστήριξη Firefox ΝαιIE Πλήρης υποστήριξη ΝαιOpera Πλήρης υποστήριξη ΝαιSafari Πλήρης υποστήριξη ΝαιWebView Android Πλήρης υποστήριξη ΝαιChrome Android Πλήρης υποστήριξη ΝαιFirefox Android Πλήρης υποστήριξη ΝαιOpera Android Πλήρης υποστήριξη ΝαιSafari iOS Πλήρης υποστήριξη ΝαιSamsung Internet Android Πλήρης υποστήριξη Ναι

Επικεφαλίδες Last-Modified και If-Modified-Since για WordPress

Λίγοι δίνουν σημασία στις κεφαλίδες HTTP Τελευταία τροποποίησηΚαι Εάν-Τροποποιήθηκε-Απόκατά τη βελτιστοποίηση του ιστότοπού σας, αλλά μάταια! Είναι σημαντικό η σελίδα, το περιεχόμενο της οποίας δεν έχει αλλάξει από την τελευταία επίσκεψη του ρομπότ αναζήτησης, να δίνει έναν κωδικό 304, ο οποίος στην πραγματικότητα υποδεικνύει ότι η συγκεκριμένη σελίδα δεν συμπληρώθηκε με τίποτα - δεν επεξεργαστήκατε ή δεν συμπληρώσατε το κείμενο, δεν προστέθηκαν σχόλια σε αυτήν την καταχώρηση κ.λπ. Π.

Εάν αυτή η κεφαλίδα http λείπει, τότε στο Yandex, κατά την ταξινόμηση των αποτελεσμάτων κατά ημερομηνία, ο ιστότοπος δεν θα είναι ορατός στους περισσότερους χρήστες.

Γι' αυτό είναι σημαντικό όχι μόνο να το ρυθμίζετε σωστά, αλλά κάθε φορά που επεξεργάζεστε μια ανάρτηση, να ενημερώνετε την ημερομηνία στην τρέχουσα. Αυτό θα πρέπει να γίνει χειροκίνητα.

Είναι πιο εύκολο με τα σχόλια: όταν ένας επισκέπτης προσθέτει ένα σχόλιο, μετά σε μια μεταβλητή $last_modified_timeη ώρα που προστέθηκε το σχόλιο εισάγεται αυτόματα - αυτή θα είναι η ημερομηνία τελευταίας τροποποίησης της σελίδας.

Γιατί χρειάζονται οι κεφαλίδες Last-Modified και If-Modified-Since;

1. Όταν ο διακομιστής επιστρέφει τέτοιο κώδικα, η εκτέλεση όλων των σεναρίων PHP στη σελίδα δεν ξεκινά καν. Η σελίδα φορτώνεται από την κρυφή μνήμη αναζήτησης και αυτό, όπως καταλαβαίνετε, μειώνει σημαντικά το φόρτο του διακομιστή προς μεγάλη χαρά του οικοδεσπότη σας και επιταχύνει τη φόρτωση της σελίδας για τον επισκέπτη, ο οποίος επίσης δεν μπορεί παρά να χαίρεται.

Πώς συμβαίνει αυτό;

Κατά τη σάρωση του Διαδικτύου, οι αράχνες Google και Yandex αποθηκεύουν ένα αντίγραφο κάθε ιστότοπου στη βάση δεδομένων τους. Αυτό το αντίγραφο χρησιμεύει ως ένα είδος μοντέλου σύγκρισης: αν όλα είναι ίδια ή αν υπήρξαν αλλαγές. Και αν οι κεφαλίδες Last-Modified και If-Modified-Since δεν έχουν ρυθμιστεί ή ρυθμιστεί λανθασμένα, οι νέες σελίδες του ιστότοπου καταχωρούνται στο ευρετήριο και η κύρια σελίδα στην κρυφή μνήμη της μηχανής αναζήτησης δεν ενημερώνεται για μεγάλο χρονικό διάστημα, όπως και η ροή σχολίων δεν ενημερώνεται.

Αλλά για σελίδες που ενημερώνονται συχνά (ροές ειδήσεων που ενημερώνονται πολλές φορές την ημέρα, ιστολόγια που σχολιάζονται ενεργά κ.λπ.), έχει ένα μειονέκτημα: οι πληροφορίες στην κρυφή μνήμη γίνονται πολύ γρήγορα ξεπερασμένες και ένα άτομο, ακόμη και αν φορτώνει ξανά τη σελίδα, δεν βλέπει τα πιο πρόσφατα ειδήσεις, δεν βλέπει νέα σχόλια. Αλλά είναι ακόμα ο μισός κόπος. Το πρόβλημα είναι ότι το ρομπότ δεν το βλέπει ούτε αυτό, εκτός και αν είναι ενεργοποιημένο. σωστός τίτλοςτελευταία τροποποίηση.

header("Last-Modified: ".gmdate("D, d M Y H:i:s ")."GMT");

Εάν ο ιστότοπός σας ενημερώνεται συχνά (για παράδειγμα, οι αναρτήσεις σας σχολιάζονται συχνά), μπορείτε να απενεργοποιήσετε την προσωρινή αποθήκευση με το ακόλουθο σύνολο κεφαλίδων:

header("Expires: ".gmdate("D, d M Y H:i:s", time() + 7200)." GMT");

Αυτό σημαίνει ότι η εγκυρότητα του αποθηκευμένου αντιγράφου πρέπει να ελέγχεται ξανά σε κάθε αίτημα.

Πώς λειτουργεί η προσωρινή αποθήκευση του προγράμματος περιήγησης;

Εάν δεν απενεργοποιηθεί καλώντας τη συνάρτηση no_cache, τότε στον Firefox και στον IE η σελίδα αποθηκεύεται στην κρυφή μνήμη και είναι η σελίδα που επιστρέφεται σε όλα τα επόμενα αιτήματα.

Για να ανανεώσετε τη σελίδα και να λάβετε την πιο πρόσφατη έκδοσή της, πρέπει να πατήσετε τον συνδυασμό πλήκτρων Ctrl+F5, το κανονικό κουμπί Ανανέωσης (F5) δεν λειτουργεί. Και πρέπει να πω ότι τα έγγραφα στην κρυφή μνήμη IE μπορούν να αποθηκευτούν για πολύ, πολύ μεγάλο χρονικό διάστημα.

Στην Opera, η σελίδα της προσωρινής μνήμης διαγράφεται πατώντας το κουμπί Ανανέωση ή πατώντας το F5. Ο συνδυασμός CRTL + F5 στην Opera - επαναφόρτωση όλων των ανοιχτών καρτελών Όπως καταλαβαίνετε, αν έχετε ανοίξει πολλές από αυτές, μπορεί να αφήσετε μούσι περιμένοντας.

Εάν απενεργοποιήσετε την προσωρινή αποθήκευση σελίδων με τη συνάρτηση no_cache, τότε η Opera και ο Firefox χρησιμοποιούν έναν μηχανισμό με την κεφαλίδα If-Modified-Since κατά την πρόσβαση σε μια τέτοια σελίδα. Έτσι, πραγματοποιείται προσωρινή αποθήκευση, αλλά το πρόγραμμα περιήγησης ρωτά τον διακομιστή εάν η σελίδα έχει πραγματικά αλλάξει ή όχι - αυτή είναι η σωστή ερώτηση.

Επομένως, πρέπει να συνδέσετε και την επεξεργασία αυτής της παραμέτρου. Δεν θα περιγράψω τι και τι σημαίνει συνάρτηση, απλά θα δώσω τον κωδικό που επιστρέφει σωστά τις κεφαλίδες και δεν προκαλεί διενέξεις στα περισσότερα hosting με τα οποία έπρεπε να δουλέψω. Αυτό το σχέδιο λειτουργεί για sweb.ru, eomy.net, timeweb.ru, fastvps.ru, startlogic.com

header("Expires: ".gmdate("D, d M Y H:i:s", time() + 7200)." GMT");
header("Cache-Control: no-cache, must-revalidate");
$mt = filemtime($file_name);
$mt_str = gmdate("D, d M Y H:i:s ")."GMT";
if (isset($_SERVER["HTTP_IF_MODIFIED_SINCE"]) &&
strtotime($_SERVER["HTTP_IF_MODIFIED_SINCE"]) >= $mt)
(header("HTTP/1.1 304 Not Modified");
καλούπι;
}
header("Τελευταία τροποποίηση: ".$mt_str);
echo $text;
header("Vary: Accept-Encoding");
header("Accept-Encoding:gzip,deflate,sdch");
?>

Άρα το μόνο που έχετε να κάνετε είναι να αντιγράψετε αυτόν τον κώδικα και να τον προσθέσετε στο αρχείο header.phpΤο θέμα σας ΠΑΝΩ ΑΠΟ . Εκείνοι. αυτός ο κώδικας βρίσκεται στην κορυφή του αρχείου ΠΡΙΝ τον υπόλοιπο κώδικα


Προσοχή!Πριν προσθέσετε οτιδήποτε, αποθηκεύστε αυτό το αρχείο στον υπολογιστή σας, ώστε να μπορείτε να επαναφέρετε την αρχική έκδοση εάν η δική σας δεν επιτρέπει μια τέτοια διαμόρφωση κεφαλίδας.

Ελέγχουμε το αποτέλεσμα στην υπηρεσία για τον έλεγχο των κεφαλίδων Last-Modified και If-Modified-Since http://last-modified.com/ru/if-modified-since.html


  • Αν το αποτέλεσμα είναι θετικό, σκουπίζουμε τον ιδρώτα από το μέτωπο και πάμε να πιούμε τσάι.
  • Εάν το αποτέλεσμα είναι αρνητικό, η ίδια κατασκευή μπορεί να προστεθεί στο αρχείο index.phpστη ρίζα του WordPress σας (το συνάντησα στη φιλοξενία timeweb.ru). Ομοίως, πάνω από όλα τα άλλα σε αυτό. Απλώς μην το ξεχνάτε όταν κάνετε ενημέρωση - το αρχείο ευρετηρίου θα αντικατασταθεί στην τυπική του μορφή.

Voila! Ορίζοντας σωστά τις κεφαλίδες Last-Modified και If-Modified-Since, λάβαμε ένα σωρό μπόνους:

  • Αυξημένη ταχύτητα φόρτωσης σελίδας, η οποία είναι σημαντική για το Googlebot και ευχάριστη για τους ανθρώπους.
  • Μειώσαμε το φόρτο στον διακομιστή, κάτι που ευχαρίστησε τον οικοδεσπότη.
  • Η ημερομηνία θα εμφανίζεται στα αποτελέσματα αναζήτησης Yandex ΤΕΛΕΥΤΑΙΑ ΑΝΑΒΑΘΜΙΣΗσελίδες, το οποίο σε ορισμένες περιπτώσεις είναι πολύ σημαντικό για τους ανθρώπους και επομένως έμμεσα θα έχει θετική επίδραση σε παράγοντες συμπεριφοράς.
  • Οι σελίδες του ιστότοπού μας θα συμμετέχουν στην ταξινόμηση των μηχανών αναζήτησης κατά ημερομηνία - ναι, οι προχωρημένοι χρήστες το χρησιμοποιούν αυτό.
  • Και, ως συνέπεια όλων των παραπάνω, η ευρετηρίαση του ιστότοπού μας από τις μηχανές αναζήτησης θα επιταχυνθεί πολύ.



Μπλουζα