SEO mitovi: Sve o zaglavlju Last-Modified. Blog koji ima puno zanimljivih informacija... Zaglavlje zahtjeva se ne obrađuje ako je izmijenjeno od tada

Zašto je ovaj post u odjeljku SEO? Last modified, kako tvrde tražilice, vrlo je važno http zaglavlje, koje je potrebno za označavanje datuma zadnje izmjene dokumenta, odnosno datuma zadnje izmjene na stranici.

Prema tome, ako ovo zaglavlje ne postoji, odnosno neće biti dano, tada će web mjesto biti lišeno nekih prednosti. Konkretno, evo što sam pročitao na internetu o prednostima zadnje izmjene:

  1. Brzina indeksiranja novih stranica se poboljšava, au jednom posjetu robot može pokupiti više stranica u indeks.
  2. Poboljšava se brzina ponovnog indeksiranja stranica na kojima ste izvršili izmjene. Ovo je vrlo korisno, ali bez ovog zaglavlja bit će potrebno više vremena da se vaša uređivanja zabilježe.

U principu, to je već dovoljno da želite provjeriti i, ako je potrebno, prilagoditi ovo zaglavlje.

Kako provjeriti zadnje izmjene?

Postoji nekoliko alata, ovaj mi se najviše svidio - http://www.tools.seo-auditor.com.ru/if-modified-since/
Ovdje samo trebam unijeti adresu glavne stranice ili bilo kojeg članka, a zatim odabrati robota za pretraživanje - Yandex.

Last Modified je pronađen na mojoj web stranici, super je. Ali u početku ga nije bilo, kako sam ga postavio?


Kako konfigurirati zadnje izmjene?

Iskreno rečeno, ništa mi nije pomoglo. Možda zbog činjenice da nginx poslužitelj. Instalirao sam AddHeaders - ovaj dodatak instalira sva korisna http zaglavlja, uključujući posljednju izmjenu, ali mi ovaj dodatak nije pomogao, iako je prije otprilike godinu dana uspješno aktivirao ovo zaglavlje na mojoj stranici.

Također sam instalirao premium Clearfy dodatak na ovaj blog, o kojem sam pisao. Korisna stvar, postoji i funkcija koja bi vam omogućila da stavite zadnje izmjene.

Aktivirao sam opciju, ali zaglavlje nije vraćeno na temelju rezultata skeniranja. Ali na kraju je sve presudilo kontaktiranje tih. podrška za dodatke - tamo sam opisao konfiguraciju svog servera i dali su mi konkretan savjet - idi na upravljačku ploču servera, onemogući to i to. Rečeno, učinjeno i sada je titula predana.

Mislim da će dodavanje naslova imati pozitivan učinak na moje stranice.

Univerzalno rješenje - dodatak AddHeaders će vam najvjerojatnije odgovarati ako imate Apache poslužitelj. Ako je nginx, pokušajte onemogućiti ssi u postavkama domene i ponovo aktivirati ovaj dodatak.

Nisam bio tužan dok danas nisam instalirao dodatak Seo Scan. Dobar dodatak koji pokazuje što se Googleu možda neće svidjeti na vašoj stranici i poslužitelju. I postojala je jedna stvar koja mi se sigurno nije svidjela na mojoj web stranici - nedostatak zadnje izmjene .


Malo teorije, tek sam danas saznao za to. Last-modified je http zaglavlje koje šalje signal o tome je li bilo promjena na toj i toj stranici ili ne, šaljući odgovor If-Modified-Since s kodom 304 ovako...

Iako će bez svega toga stranica biti indeksirana, kao što kaže Yandex, postoje i značajni nedostaci u nedostatku ovog zaglavlja:

  • rezultati pretraživanja neće prikazivati ​​datum pored stranica stranice;
  • prilikom sortiranja po datumu, stranica neće biti vidljiva korisnicima;
  • robot neće moći dobiti informaciju o tome je li stranica stranice ažurirana od zadnjeg indeksiranja. A budući da je broj stranica koje robot prima sa stranice u jednom posjetu ograničen, promijenjene stranice će se rjeđe ponovno indeksirati.

Kao što vidite, postoji mnogo nedostataka, a prije svega, to je ne baš brzo indeksiranje i ponovno indeksiranje stranice. Odnosno, napravili ste KORISNU izmjenu u članku, a sada ih radim puno svaki dan, a Yandex i Google mogu vidjeti to je tek za par mjeseci! Ne, ne treba nam ovakav hokej, sad ću se razbiti i popraviti ovaj nedostatak!

Kako provjeriti zadnje izmjene?

Možete provjeriti na različite načine, u WordPressu je najjednostavnije instalirati gore navedeni dodatak SEO skeniranje, dao mi je ovo:

To je i gluma, ali to je druga priča, onda ću i to dublje istražiti. Također možete provjeriti zadnji put izmijenjen putem usluge istog imena last-modified.com


Kao što vidite, također pokazuje izostanak odgovora If-Modified-Since - Zadnja izmjena nije pronađena! Ili možete koristiti uslugu Yandex Provjera odgovora poslužitelja


I ovdje je isto - HTTP statusni kod:"304 Not Modified" znači da sustav ne radi. Iako je nakon nekog vremena očita pogreška nestala, kod odgovora 304 nikada se nije pojavio.

Odmah sam se zainteresirao, radi li to uopće ikome? Odlučio sam ovo provjeriti kod onih blogera koji su sami napisali priručnike na ovu temu:


Da, tip s TOP-a je pronašao Last-Modified za ovaj zahtjev, što znači da je i meni moguće. Usput, njegov članak navodi mnoge načine za konfiguriranje Last Modified, pokušajmo ih, iako sam pronašao druge.

Kako konfigurirati zadnji modificiran?

Opisat ću sve metode koje sam isprobao i odmah reći je li mi uspjelo ili ne. Ali imajte na umu da ako meni ne ide, to ne znači da neće vama.

1. Prva metoda je instaliranje dodatka

Najlakši način za one koji imaju WordPress je da instaliraju za to dizajnirane dodatke, na primjer: Dodajte zaglavlja, Ako je promijenjeno od ili Ako je promijenjeno od zaglavlja.

Nijedan od ovih dodataka nije radio za mene, ne znam zašto. Možda će vam uspjeti?

2. Druga metoda - PHP kod

Servis last-modified.com, gore opisano, predlaže postavljanje sljedećeg php koda u datoteku header.php na samom početku:

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

Ni meni nije pomoglo. Također predlažem da ga pokušate smjestiti u datoteku index.php u korijenu stranice, ali ni to mi nije pomoglo.

3. Treća metoda je pisanje u .htaccess

Ako imate Apache poslužitelj, onda će vam ovo najvjerojatnije raditi. Potrebno u kartoteci .htaccess u korijenu stranice zalijepite kod:

RewriteRule .* - RewriteRule .* -

Meni nije išlo, jer imam kombinaciju Ngnix + Apache i sve te manipulacije s .htaccessom najčešće ne idu.
Nakon svih ovih muka pomislio sam: zašto samo ja patim? Pisaću službi za podršku hostingu, tamo su ljudi kompetentni, možda mi daju neki savjet? Napisao sam i sjedim i čekam.

Dobio sam odgovor od tehničke podrške:

Jednostavno je. Stranice vašeg web-mjesta generiraju PHP skripte koje ne prikazuju ovo zaglavlje pregledniku.
Web poslužitelj (nginx) za statične datoteke (jpg, gif, css, js itd.) prikazuje datum zadnje izmjene datoteke u zadnjem modificiranom zaglavlju. Primjeri u snimkama zaslona.
Ako nemate jako visok promet na web-mjestu, nema smisla predmemorirati stranice web-mjesta na strani preglednika.

“Posebno je važan sadržaj odgovora koji poslužitelj daje na zahtjev “if-modified-since”. Zaglavlje Last-Modified mora označavati točan datum zadnje izmjene dokumenta."

Provjerimo kako stvari funkcioniraju s Last-Modified u raznim CMS-ovima.

# telnet www.example.com 80

i unesite sljedeće:

GET /index.html HTTP/1.0 User-Agent: Mozilla/5.0 From: something.somewhere.net Accept: text/html,text/plain,application/* Host: www.example.com If-Modified-Since: Wed, 19. listopada 2005. 10:50:00 GMT

ako poslužitelj vrati 304 (Nije modificirano), tada podržava If-Modified-Since, ali stranica nije modificirana. Kod 200 (Ok) znači da je stranica promijenjena.

If-Modified-Since provjera u C#

Možete provjeriti kako If-Modified-Since funkcionira pomoću sljedećeg C# koda:

Private HttpWebResponse GetPage() ( string url = @"http://....."; // Postavite web zahtjev na poslužitelj navodeći URL HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); // Nema potrebe za trajnim zahtjevom za povezivanje.KeepAlive = false; // Veza koja nas je uputila na URL request.Referer = url; // Korisnički agent preglednika request.UserAgent = "Mozilla/4.0 (kompatibilan; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50215)"; //Umjesto HTTP 1.1 koristit ću HTTP 1.0. Kada zahtjev kaže poslužitelju da koristi 1.0, //poslužitelj neće odgovoriti s razdijeljenim podacima, ali će poslati odgovor odjednom. ProtocolVersion = new Version(1, 1); IfModifiedSince = DateTime.Now.AddDays(-5); GetResponse();) private void TestLastModified(VirtueMartContext db, jos_vm_product product) ( using (HttpWebResponse response = GetPage()) ( Debug.Print("Status Code: (0), Description: (1)\n" , response.StatusCode , response.StatusDescription); tekst niza = WebResponceReader.GetResponceText(odgovor); Debug.Print(text.Substring(0, 100)); ) )

Pomoću ove metode možete osigurati da Joomla uvijek vraća StatusCode=200 (OK), bez obzira na vrijednost request.IfModifiedSince.

Provjera If-Modified-Since putem usluge Yandex

Ako u Yandex Webmasteru kliknemo na gumb "Provjeri odgovor poslužitelja", dolazimo ovdje:

ovdje opet možete vidjeti da je stranica stranica i, sukladno tome, WordPress bez dodatka WP Super Cache ne dodaje zaglavlje Last-Modified.

Pa, razvrstali smo CMS, ali kako radi sam Yandex?

Ovdje možemo navesti sljedeći primjer: danas je 7. srpnja 2011., sadržaj u Joomli ažuriran je 20. lipnja 2011., a Yandex ima verziju od 11. lipnja 2011. u svojoj predmemoriji, iako je nakon tog datuma robot stigao više nego jednom. U ovom slučaju Yandex preuzima ažuriranja s vrlo značajnim kašnjenjem. Pitanje je zašto?

Evo što o tome kaže Platon Ščukin:

Kako robot indeksira stranicu, tako će indeksirati i navedenu stranicu, nakon čega će se, uz ažuriranje baza podataka pretraživanja, ažurirati u rezultatima. Radimo na tome da se to dogodi što je prije moguće.

Sa svoje strane, također možete pomoći robotu da brže indeksira web mjesto korištenjem sljedećih preporuka:

Sintaksa

Zadnja promjena: , ::GMT

direktive

Jedan od "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ili "Sun" (razlikuje velika i mala slova). Dvoznamenkasti broj dana, npr. "04" ili "23". Jedan od "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ( osjetljivo na velika i mala slova). 4-znamenkasti broj godine, npr. "1990" ili "2016". 2-znamenkasti broj sata, npr. "09" ili "23". 2-znamenkasti broj minuta, npr. "04" ili "59". 2-znamenkasti drugi broj, npr. "04" ili "59". GMT

Srednje vrijeme po Greenwichu. HTTP datumi se uvijek izražavaju u GMT, nikada u lokalnom vremenu.

Primjeri

Zadnja izmjena: srijeda, 21. listopada 2015. 07:28:00 GMT

Tehnički podaci

Specifikacija Titula
RFC 7232, odjeljak 2.2: Zadnja izmjena Protokol za prijenos hiperteksta (HTTP/1.1): Uvjetni zahtjevi

Kompatibilnost preglednika

Tablica kompatibilnosti na ovoj stranici generirana je iz strukturiranih podataka. Ako želite doprinijeti podacima, pogledajte https://github.com/mdn/browser-compat-data i pošaljite nam zahtjev za povlačenje.

Ažurirajte podatke o kompatibilnosti na GitHubu

Radna površinaMobilni
KromRubFirefoxInternet ExplorerOperaSafariAndroid web-prikazChrome za AndroidFirefox za AndroidOpera za AndroidSafari na iOS-uSamsung Internet
Zadnja promjenaPuna podrška za Chrome DaEdge Potpuna podrška 12Firefox Puna podrška DaIE Puna podrška DaOpera Potpuna podrška DaSafari Potpuna podrška DaWebView Android Puna podrška DaChrome Android Puna podrška DaFirefox Android Puna podrška DaOpera Android Puna podrška DaSafari iOS Puna podrška DaSamsung Internet Android Puna podrška Da

Last-Modified HTTP zaglavlje govori klijentu kada je stranica (objekt) zadnji put modificirana. Ako je klijent (preglednik, robot za pretraživanje) primio zaglavlje Last-Modified, tada će sljedeći put kada se pristupi adresi, pod uvjetom da je stranica (objekt) u lokalnoj predmemoriji, dodati pitanje If-Modified-Since (je li stranica je promijenjena od datuma primljenog u Last-Modified). Zauzvrat, poslužitelj, nakon što primi zahtjev If-Modified-Since, mora provjeriti primljenu vremensku oznaku s vremenom zadnje izmjene stranice i, ako stranica nije promijenjena, odgovoriti s 304 Not Modified.

Ušteda prometa

Ako se stranica nije promijenila, poslužitelj će prestati slati podatke nakon slanja zaglavlja s kodom 304 Not Modified; tijelo stranice, slike i drugi objekti neće se prenositi.

Smanjenje opterećenja poslužitelja

Ispravna implementacija provjere vremena zadnje izmjene stranice može značajno (do 30% ili više) smanjiti opterećenje poslužitelja. Ispravna implementacija znači provjeru vremena prije nego što se stranica generira na dinamičnoj stranici. U tom slučaju sve radnje za generiranje stranice (upit sadržaja iz baze podataka, raščlanjivanje predložaka, primanje komentara itd.) neće biti izvršene. To posebno vrijedi za stranice s velikim prometom i dugim posjetom korisnika. Primjer: korisnik se nalazi na web stranici sa sportskim vijestima i stalno osvježava početnu stranicu očekujući objavu rezultata utakmice. U nekoliko minuta stranica se može zatražiti i primiti nekoliko desetaka puta. Ako je zaglavlje Last-Modified poslano i ako je zahtjev If-Modified-Since ispravno obrađen, tada će stranica zapravo biti predana jednom, a svi sljedeći zahtjevi dobit će odgovor 304 Not Modified.

Ubrzajte indeksiranje od strane tražilica

Tražilice, putem svojih smjernica za webmastere, preporučuju slanje zaglavlja Last-Modified i pravilno rukovanje If-Modified-Since .


Provjerite podržava li vaš web poslužitelj If-Modified-Since HTTP zaglavlje. Ovo zaglavlje omogućit će web poslužitelju da kaže Googleu je li se sadržaj stranice promijenio od zadnjeg indeksiranja. Podržavanje ove značajke smanjit će korištenje propusnosti i troškove.

Provjerite jesu li vaša http zaglavlja ispravna. Konkretno, važan je sadržaj odgovora koji poslužitelj daje na if-modified-since zahtjev. Zaglavlje Last-Modified mora označavati točan datum zadnje izmjene dokumenta. Ako poslužitelj ne prikaže zadnji datum izmjene dokumenta, vaša će stranica biti indeksirana, ali:
- rezultati pretraživanja neće prikazivati ​​datum pored stranica vaše stranice;
- prilikom sortiranja po datumu, stranica neće biti vidljiva većini korisnika;
- robot neće moći dobiti informaciju o tome je li stranica stranice ažurirana od zadnjeg indeksiranja. A budući da je broj stranica koje robot prima sa stranice u jednom posjetu ograničen, promijenjene stranice će se rjeđe ponovno indeksirati.



Vrh