Lastmodified definīcija Bitrix html lapām. Blogs ar daudz interesantas informācijas...

Piezīme: tiek aktivizēta vietnes adaptīvā versija, kas automātiski pielāgojas jūsu pārlūkprogrammas mazajam izmēram un paslēpj dažas vietnes detaļas, lai atvieglotu lasīšanu. Patīkamu skatīšanos!

Sveiki, dārgie emuāra lasītāji. Mēs turpinām tēmu, kas ir viens no svarīgākajiem SEO faktoriem. Šajā rakstā tiks apskatīts tas, ko var saukt par iekšējās optimizācijas sarežģītību, jo tas koncentrēsies uz atbildes kodu, kas meklētājprogrammas un apmeklētājiem, reaģējot uz viņu piekļuvi lapai.

Pareiza servera atbilde

Neskatoties uz to, ka šī ir diezgan maza detaļa, veidojot un optimizējot vietni kopumā, tomēr tas ir ļoti svarīgi! Proti, ir svarīgi, lai lapa, kurā nav notikušas izmaiņas kopš pēdējā robota vai cilvēka apmeklējuma, dod 304 kodu, kas nozīmē, ka lapa ir palikusi nemainīga. Kad serveris nosūta šo kodu klientam, visu lapā esošo PHP skriptu izpilde pat nesākas, tā vietā lapa tiek ielādēta no kešatmiņas, kas ievērojami samazina servera slodzi un paātrina lapas ielādi lietotājam .

Tādējādi, iestatot pareizās mūsu servera atbildes, mēs ar vienu akmeni nogalinām vismaz piecus putnus:

  • Mēs paātrinām lapas ielādi apmeklētājiem (cilvēkiem).
  • Samazinām servera slodzi.
  • IN Meklēšanas rezultāti(noteikti Yandex) parādīs pēdējās lapas atjaunināšanas datumu, kas var piesaistīt lietotāja uzmanību, it īpaši, ja datums ir nesens.
  • Vietņu lapas piedalīsies meklētājprogrammu šķirošanā pēc datuma.
  • Ievērojami paātriniet meklētājprogrammu vietnes indeksēšanu!

Man nez kāpēc pēdējais punkts šķiet saldākais (jo tas ietekmē SEO un palielina jūsu vietnes uzticamību meklētājprogrammās), lai gan, bez šaubām, arī pārējie punkti ir ārkārtīgi svarīgi.

Kā konfigurēt 304 un 200 servera atbildes?

Mēs jau teicām, ka, atbildot uz pieprasījumu uz nemainītām lapām, serverim vajadzētu atgriezties 304 Nav mainīts, un kāds kods serverim jāatdod, ja klients pirmo reizi piekļūst lapai vai piekļūst lapai, kas ir mainījusies? Šādos gadījumos serverim ir jāatgriež statuss 200 labi. Šo kodu speciāli sūtīt nevajag, ja ar lapu viss kārtībā, tad vienmēr izdod 200.

Tāpēc mums ir jārūpējas tikai par 304 kodu, jo serveris to nesūtīs bez mūsu iejaukšanās. Lai to izdarītu, tas mums palīdzēs, kā arī nosaukums Pēdējās izmaiņas un pieprasīt.

Nosaukumi Pēdējās izmaiņas

Pēdējās izmaiņas ir galvene, ko mēs nosūtām ar PHP, šajā galvenē ir norādīts precīzs laiks, kad lapa pēdējo reizi tika modificēta (sekundēs). Lai to izdarītu, tiek izmantots vispārpieņemts laika mērīšanas mērs: Unix laika zīmogs.

Unix laika zīmogs ir sekunžu skaits kopš Unix laikmeta sākuma: 1970. gada 1. janvāra. Šajā rakstīšanas brīdī Unix laika zīmogs ir 1370597447 sekundes, kas ir 06/07/2013 09:30:47 GMT (+00:00).

Tas ir, viss, kas mums jādara, ir vienkārši nosūtīt PHP galveni ar instrukciju Pēdējās izmaiņas un vēlamais datums:

Header("Pēdējais modificētais: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT");

Ja galvene ir HTTP galvenes nosūtīšanas konstrukcija, Pēdējās izmaiņas- ko mēs nosūtām, un tūlīt aiz resnās zarnas ir tā vērtība:

Gmdate("D, d M Y H:i:s", $last_modified_time)."GMT".

Pēdējā modificētā vērtība ir funkcija gmdate(), kas satur manis izgudroto mainīgo $last_modified_time(jūs to varat saukt neatkarīgi). Mainīgā $last_modified_time un satur pēdējās modifikācijas laiku formātā Unix laika zīmogs un funkcija gmdate() kalpo mums, lai norādītu datumu pareizajā formā (Grinvičas laiks).

Skaidrības labad šeit ir piemērs: ja mēs esam funkcijā gmdate() ielieciet vērtību 1365003142 , tad izvade būs: Trešdien, 2013. gada 3. aprīlī, 15:32:22.

Tagad, kad esam uzzinājuši, kā viss process darbojas, var rasties jautājums: "Vai katrai lapai mums manuāli jānorāda pēdējās modifikācijas laiks?". Atbilde: "Jā!" Personīgi es tieši tā daru – visvairāk ar rokām uzticama iespēja. Taču speciāli šim blogam visu norādīju, piemēram, ja lapā parādās jauns komentārs, tad mainīgajā $last_modified_time tiek reģistrēts šī komentāra pievienošanas laiks, tas tiek darīts, lai meklētājprogrammas varētu indeksēt jaunus komentārus un zinātu, ka vietne ir “tiešraidē”. Katra vietne ir atšķirīga, un jums būs jāizdomā savs algoritms, lai norādītu lapas pēdējās modifikācijas datumu, vai arī tas vienmēr jānorāda manuāli.

Vēlreiz uzsveru, ka mans algoritms ir šāds:

1) Materiāla tapšanas datumu norādu manuāli, ja rakstā kaut ko mainu (drukas kļūdas vai pievienoju), tad atkal manuāli ievadu jauno pēdējās atjaunināšanas laiku.

2) Ja apmeklētājs pievieno komentāru, tad mainīgajā $last_modified_time automātiski, man nezinot, tiek ievadīts komentāra pievienošanas laiks, jo faktiski tas būs datums, kad lapa tika pēdējoreiz mainīta.

Ko es neņēmu vērā: manā vietnes labajā slejā svaigi raksti, ieteicams Un top 10. Tie mainās pastāvīgi un vienlaikus visām lapām. Ja katru reizi, mainot vietnes labo kolonnu, es mainītu (automātiski vai manuāli — tas nav svarīgi) datumu, kad lapa tika pēdējoreiz mainīta, tad visa šīs darbības būtība tiktu zaudēta. Es nolēmu, ka šīs izmaiņas ir jāseko līdzi un jāņem vērā, precizējot $last_modified_time nav tā vērts, jo tie nesniedz nekādu labumu SEO.

Kā jau rakstīju, es nevaru precīzi pateikt, kā automatizēt lapas pēdējo modificēto datumu, bet es pastāstīšu, kā to NEDRĪKST darīt!

Kļūdas, norādot pēdējās modifikācijas datumu

Pirmā lieta, kas var ienākt prātā lielākajai daļai cilvēku, ir nosūtīt faila pēdējās modifikācijas datumu ar lapas saturu galvenē. Personīgi mani rakstu teksti ir failos, nevis datu bāzē, tāpēc man šī metode varētu šķist lieliska izeja, lai neiebrauktu katru reizi Unix laika zīmogs manuāli. Bet nē! Lielākā daļa saimniekdatoru un varbūt pat visi tā izveides datumu uzskata par faila pēdējās modifikācijas datumu, viņi neņem vērā turpmākās izmaiņas tajā.

Es domāju, ka jūs saprotat sekas šādos gadījumos. Viens populārs Ukrainas hostinga pakalpojumu sniedzējs (un es domāju, ka viņš nav vienīgais) savā FAQ raksta apmēram šādi: “Faila pēdējās modifikācijas datuma vietā izmantojiet funkciju laiks(), kas atgriež pašreizējo laiku Unix laika zīmoga formātā." Tas ir tik absurdi! Tas vienkārši šauj uz vietas! Un šis hostinga pakalpojumu sniedzējs tiek uzskatīts par “vienu no labākajiem”, pēc tam, kad es to izlasīju, es uzreiz nevēlējos kļūt par viņu klientu.

Tas ir tikai anti-SEO, padomā pats, atnāk uz tavu meklētāja lapu un skatās: “Oho! Pēdējo reizi lapa tika mainīta tikai tagad, tāpēc es uzminēju, kad nākt klase! Pēc pāris dienām viņš nonāk tajā pašā lapā: “Redzi, tas atkal mainījās, tā ir nejaušība... Pagaidiet, kāpēc es neredzu nekādas izmaiņas? Labi, es atgriezīšos citreiz." Viņš nāk vēlreiz: "Nē, puiši, tas vairs nav smieklīgi, jums noteikti nevar uzticēties." Lūk, pasaka :)

Un tad cilvēki brīnās, kāpēc rezultāti meklēšanas rezultātos nav tādi, kā viņi vēlētos, bet gan tāpēc, ka jūsu vietnei ir pazudis banālais pārliecība(uzticēšanās). Gluži kā līdzībā "Par ganu un vilkiem".

Tātad, mēs noskaidrojām galvenās kļūdas: jūs nevarat norādīt pašreizējo laiku, un es neiesaku norādīt faila modifikācijas laiku. Tagad turpināsim saprast, kā tas viss darbojas.

Iestatiet sūtīšanas galvenes Pēdējās izmaiņas tā ir tieši 1/3 no lietas, mums vēl ir: jāatbild uz pieprasījumu un jāieslēdz lapas kešatmiņa. Abas šīs darbības neaizņems daudz laika un koda rindu.

ir klienta pieprasījums jūsu serverim, kurā klients jautā: “vai lapa ir mainījusies kopš mana pēdējā apmeklējuma?”. Ja lapa nav mainījusies, tad mums jāpārtrauc lapas turpmākās ielādes izpilde ar komandu:

Tajā pašā laikā lapas pamattekstu nevajadzētu sākt zīmēt, tas viss notiek PIRMS pirmās lapas izvadīšanas! Līdz ar to klientam ir jāatgriež servera atbilde 304 Nav mainīts, tādējādi sakot, ka lapa ir jāizņem no kešatmiņas. Tūlīt pāriesim pie lietas:

If (isset($_SERVER["HTTP_IF_MODIFIED_SINCE"]) && strtotime($_SERVER["HTTP_IF_MODIFIED_SINCE"]) >= $last_modified_time)( header("HTTP/1.1 304 Nav modificēts"); die; ) galvene("Last-Modified" : ".gmdate("D, d MYH:i:s", $last_modified_time)." GMT");

Tātad pirmajā rindā mēs ar palīdzību pārbaudām, vai HTTP_IF_MODIFIED_SINCE pieprasījums ir nonācis mūsu serverī, kā arī nekavējoties pārbaudām, cik sekunžu skaits ienākošajā HTTP_IF_MODIFIED_SINCE ir lielāks nekā $last_modified_time vai nē? Ja vairāk, tad klienta pēdējā apmeklējuma datums ir vēlāks par lapas pēdējās maiņas datumu, no šejienes izdarām tīri loģisku secinājumu, ka lapa nav mainījusies, kas nozīmē, ka servera atbildi nosūtām plkst. otrā rinda 304 Nav mainīts un 3. rindā mēs nogalinām (apturam) visu lapas skriptu izpildi. Citiem vārdiem sakot, mēs pārtraucam tā lejupielādi.

Ja klients mums nav nosūtījis HTTP_IF_MODIFIED_SINCE pieprasījumu vai viņa pēdējais apmeklējums bija agrāk nekā datums, kad lapa tika pēdējoreiz mainīta, mēs (pēc noklusējuma) atgriežam kodu. 200 labi un piektajā rindā mēs viņam nosūtām FAKTĀLO lapas maiņas datumu, nevis to, kas viņam bija.

Par IF_MODIFIED_SINCE un to, kā kods ir sakārtots, viņš pastāstīja visu, kas jums nepieciešams, izņemot to, ko dara funkcija strtotime ():

Strtotime ($_SERVER["HTTP_IF_MODIFIED_SINCE"])

Vērīgs un gudrs lasītājs jau varēja nojaust, ka šī funkcija parastu datumu pārvērš Unix laika zīmogā, jo tajā mēs iestatām mainīgo $last_modified_time, un tāpēc salīdzinājumam mums viss ir jāsamazina līdz kopēja mērījuma kopsaucējam. sistēma.

Un visbeidzot, mums vienkārši jāiespējo kešatmiņa, tas tiek darīts, izmantojot šādas rindas:

Header ("CacheControl: publiska"); header("Derīguma termiņš: " . datums("r", laiks()+10800));

Kur skaitlis 10800 ir laiks (sekundēs), par kuru mēs vēlamies saglabāt lapu kešatmiņā, tas ir, šajā piemērā 3 stundas.

Un kā vienmēr tiem, kas neko nesaprot, ievietoju visu pilnībā, kā tas ir sakārtots manā blogā:

= $last_modified_time)( header("HTTP/1.1 304 Nav modificēts"); mirst; /* nogalini visu zemāk */) header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT"); ?> Un pārējā lapa aizgāja

Es domāju, ka jūs, iespējams, pamanījāt, ka viss šis stāsts ar pēdējo modificēto ir analogs tagam - . Tāpēc lastmod ir iepazīšanās un padomdevēja raksturs, un neviens nestrīdēsies ar jūsu servera atbildēm. Protams, nav nekas neparasts, ka vietnes kartes pēdējā modifikācija atšķiras no galvenes LastModified, taču no šī brīža tiem vajadzētu būt vienādiem! Galu galā tagad mēs esam mācījušies kaut kādu zinātni, nevis tāpēc, lai kļūtu kā nelaimīgi tīmekļa pārziņi, kuri nav tikuši tālāk par sitemap.xml.

Es personīgi šobrīd savās vietņu kartēs vispār neizmantoju tagu lastmod, varbūt vēlāk pārdomāšu, bet pagaidām neredzu jēgu tik sīkumainiem nosaukumiem Pēdējās izmaiņas :)

Un visbeidzot pārbaudiet pareizību Pēdējās izmaiņas un jūs varat ar šo pakalpojumu: noklikšķiniet uz .

Paldies par uzmanību un īpašs paldies arvien pieaugošajam abonentu skaitam, man tas ir lielākais stimuls biežāk rakstīt emuārā. Tātad, ja vēl neesi pierakstījies jauniem rakstiem, laipni lūdzam!

Kāpēc šī ziņa ir SEO sadaļā? Pēdējā modifikācija, kā to apliecina meklētājprogrammas, ir ļoti svarīga http galvene, kas nepieciešama, lai ziņotu par dokumenta pēdējās modifikācijas datumu, tas ir, pēdējo izmaiņu datumu lapā.

Attiecīgi, ja šī galvene neeksistē vai drīzāk tā netiks dota, vietne zaudē dažas priekšrocības. Jo īpaši šeit ir tas, ko es izlasīju tīklā par pēdējās modifikācijas priekšrocībām:

  1. Uzlabojas jaunu lapu indeksēšanas ātrums, un robots var iekļaut rādītājā vairāk lapu 1 apmeklējuma laikā.
  2. Uzlabo to lapu atkārtotas indeksēšanas ātrumu, kurās esat veicis izmaiņas. Tas ir ļoti noderīgi, taču bez šī virsraksta labojumu publicēšanai jums jāgaida ilgāk.

Principā ar to jau ir pietiekami, lai gribētos pārbaudīt un, ja nepieciešams, pielāgot šo galveni.

Kā pārbaudīt pēdējo modifikāciju?

Ir vairāki rīki, šis man patika vislabāk − http://www.tools.seo-auditor.com.ru/if-modified-since/
Šeit man vienkārši jāievada adrese mājas lapa vai jebkuru rakstu un pēc tam atlasiet meklēšanas robots— Yandex.

Manā vietnē atrasts pēdējais modificētais, tas ir lieliski. Bet sākotnēji tā nebija, kā es to iestatīju?


Kā iestatīt pēdējo modifikāciju?

Godīgi sakot, man nekas nepalīdzēja. Varbūt tāpēc nginx serveris. Es instalēju AddHeaders - šis spraudnis ievieto visas noderīgās http galvenes, ieskaitot pēdējo modifikāciju, taču šis spraudnis man nepalīdzēja, lai gan apmēram pirms gada tas veiksmīgi aktivizēja šo galveni manā vietnē.

Arī šajā emuārā es ievietoju premium spraudni Clearfy, par kuru rakstīju. Noderīga lieta, ir arī funkcija, kas ļautu likt pēdējo modificēto.

Es aktivizēju opciju, bet nosaukums netika atgriezts, pamatojoties uz pārbaudes rezultātiem. Taču galu galā visu izšķīra apelācija pie tiem. spraudņu atbalsts - tur es aprakstīju sava servera konfigurāciju un viņi man deva konkrētus padomus - ej uz servera vadības paneli, atspējo to un to. Ne ātrāk pateikts, kā darīts, un tagad nosaukums ir dots.

Es domāju, ka galvenes pievienošana pozitīvi ietekmēs manas vietnes.

Universāls risinājums - spraudnis AddHeaders visticamāk ir piemērots jums, ja jums ir apache serveris. Ja nginx, mēģiniet atspējot ssi domēna iestatījumos un vēlreiz aktivizējiet šo spraudni.

Kāpēc pielāgot galveni Last-Modified? Mēģināsim pēc iespējas ātrāk un vienkāršāk izdomāt galvenes iestatījumu Last-Modified.

Sākumā es teikšu, ka tas galvenokārt ir nepieciešams, lai samazinātu servera slodzi un paātrinātu lapu indeksēšanu. Tāpēc ir nepieciešams pielāgot galveni Last-Modified, īpaši lieliem resursiem ar lielu lapu skaitu.

Šīs galvenes mērķis ir pastāstīt klientam (pārlūkprogrammai vai meklētājprogrammai) informāciju par jaunākajām izmaiņām konkrētā lapā. Klients nosūta uz serveri If-Modified-Since galveni. Ja lapā netiek atrastas nekādas izmaiņas, tad no servera tiek atgriezta galvene "304 Not Modified". Šajā gadījumā lapa netiek ielādēta.

Ja tika veiktas izmaiņas, tas tiks ņemts vērā, un serveris atgriezīs galveni "200 OK" (lapa tiks ielādēta ar atjauninātu saturu).

Pareizi konfigurējot Last-Modified, tiek nodrošinātas šādas priekšrocības:

  • meklēšanas rezultātos tiek parādīts datums, kad lapas saturs tika pēdējo reizi atjaunināts;
  • lapas, kas sakārtotas meklētājā pēc datuma, ieņem augstākas pozīcijas;
  • lapu indeksēšana ir ievērojami paātrināta.
  • Kāpēc roboti ātrāk indeksē vietnes ar konfigurētu pēdējo modifikāciju?

    Atbilde ir vienkārša: ja vietnē ir mainītas tikai 20 lapas, robotam nav jāindeksē visas 500, lai meklētu jaunu saturu, jo Last-Modified norādīs lapas ar izmaiņām.

    Pēdējā modifikācija ir īpaši svarīga resursiem ar lielu lapu skaitu, jo robotam ir ierobežots laiks, lai pārmeklētu katru vietni, un tam var nebūt laika sasniegt vēlamās lapas.

    Kā iestatīt pēdējo modificēto

    Vispirms jums ir jāpārbauda, ​​​​vai šī galvene ir konfigurēta. Lai to izdarītu, varat izmantot pakalpojumus varvy.com , last-modified.com vai tools.seo-auditor.com.ru . Ja pārbaude parādīja, ka galvenes nav, jāsāk tā iestatīšana.

    Ja jums ir statiska vietne, katrai lapai ir jāieraksta ekrānā redzamais kods:

    Pēc katras satura maiņas manuāli mainiet datumu kodā. Un ko tu man jautā katru reizi? Jā, ja vietne ir statiska.

    Ja vietne ir dinamiska, mēs izmantojam PHP iestatījumu. Jūs bieži redzat šādu kodu:

    header("Pēdējais modificēts: ". date('r',strtotime($post->post_modified)))

    Tas ir jāpievieno header.php. Bet tas darbosies tikai ziņās un lapās, bet nedarbosies galvenajā lapā. Tas nav derīgs arī taksonomijām, arhīviem un jaunu komentāru uzskaitei.

    $LastModified_unix = 1294844676;

    $Last Modified = 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));

    If ($IfModifiedSince && $IfModifiedSince >= &LastModified_unix) (

    galvene ($_SERVER['SERVER_PROTOCOL'] . ' 304 Nav modificēts');

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

    Varat arī pielāgot galveni, ierakstot divas rindiņas .htaccess failā:

    RewriteRule .*

    RewriteRule .*

    Bet šajā gadījumā jums ir jāpārbauda, ​​vai nav problēmu no mitināšanas puses.

    Lai neizrakstītu kodus, varat izmantot gatavus risinājumus Last-Modified konfigurēšanai. Piemēram, CMS WordPress ir spraudņi Clearfy un Last Modified Timestamp. Pielāgošanu var veikt, izmantojot spraudni WP Super Cache. Lai to izdarītu, papildu iestatījumos aktivizējiet vienumu "Kļūda 304" (304 atbildes atbalsts pēc noklusējuma ir atspējots, jo dažiem hostingiem var būt problēmas). Arī citām CMS ir savi spraudņi, vai ārkārtējos gadījumos varat pasūtīt spraudni no programmētāja.

    Jāsaprot, ka iestatījums Last-Modified ne vienmēr ir noderīgs (piemēram, ja katrā lapā tiek uzstādīts informācijas bloks "caur" ar regulāri mainīgu viena un tā paša satura saturu). Šādā gadījumā meklētājprogrammas var vairs neuztvert informāciju kā jaunu un jūsu vietni apmeklēs retāk.

    Pretējā gadījumā, konfigurējot pēdējo modificēto, jūs iegūsit:

    • satiksmes ietaupījumi;
    • paātrināt vietni;
    • sekojiet Google un Yandex meklētājprogrammu ieteikumiem, kas ievērojami paātrina indeksēšanu un palielina lapu redzamību meklēšanā. Tas ir īpaši pamanāms resursos ar lielu lapu skaitu.

    Meklētājprogrammu optimizācijas (SEO) jomā valda ļoti daudz dažādu mītu. Dažiem ir pamats, kuri nesaprata kur. Šajā piezīmē mēs apsvērsim vienu no tiem - atbildes galvenes pēdējā modificētā izmantošana.

    Pirms kāda laika mēs satikām dokumentu ar nosaukumu "Ingate's Guidelines for Web Studios on Promoted Sites". Un viens no "ieteikumiem" bija šāds:

    Pēc pārprojektēšanas vai jaunas vietnes izstrādes ir jāraksta vietnes lapu pēdējās modifikācijas datums (pēdējās izmaiņas).

    Lai vietnei pievienotu informāciju par lapas pēdējās modifikācijas datumu PHP, jums jāievieto skripts katras lapas avota koda pašā sākumā.


    galvene ("Pēdējo reizi modificēts: " . date("D, d M Y H:i:s", time()) . " GMT");
    ?>

    Tieši šīs mežonīgās muļķības, šīs pilnīgās muļķības un atklāti sakot maldīgais kods mani pamudināja uzrakstīt šo rakstu. Šeit es mēģināšu izskaidrot, kas ir Last-Modified, kāpēc tas ir vajadzīgs un kā pārlūkprogrammas un meklētājprogrammas to izmanto.

    Kas ir pēdējo reizi mainīts

    Tīmekļa serveris, pārsūtot informāciju klientam (pārlūkprogrammai vai meklēšanas robotam), ziņo diezgan daudz papildu datu. Tos var apskatīt pārlūkprogrammas konsolē, piemēram:

    konfigurējiet serveri, lai tas izdotu pareizas atbildes galvenes (piemēram, ja lapa neeksistē, izdodiet kļūdu 404 un, ja tiek saņemts pieprasījums If-Modified-Since, izdodiet 304 kodu, ja lapa nav mainījusies kopš norādītā datuma pieprasījumā).

    Varat arī redzēt, ka, ja serveris nekādā veidā nereaģē uz nosacījumu GET pieprasījumu, tas neatšķiras no parastā pieprasījuma. Tas ir, Last-Modified galvene ar pašreizējo laiku un arī nepareizi izveidota (sveicināti, Integate!) Nav vajadzīga vispār!

    Tātad, vai ir nepieciešama pēdējā modifikācija?

    Vispār vajadzīgs. Bet ir svarīgi saprast, ka lomu spēlē nevis pati galvene, bet gan viss nosacījuma pieprasījumu scenārijs, kas vietnei ir jāīsteno līdz galam. Šajā gadījumā mēs iegūsim lielu vietnes indeksēšanas ātrumu.

    Bet bieži vien ir ļoti grūti to ieviest gatavā CMS. Varbūt tas prasīs diezgan būtiskas izmaiņas pašā CMS kodā.

    Lai gan vairākām CMS to var ieviest, iespējojot lapu kešatmiņu. Ja CMS lapas saglabā kešatmiņā, izveidojot un apkalpojot praktiski statiskus failus, tad tīmekļa serveris pats pareizi atbildēs uz nosacījuma pieprasījumiem. Piemēram, programmā WordPress to var izdarīt, izmantojot spraudni WP Super Cache:

    Pārbaudīsim to darbā. Es iespējoju šo spraudni, atvēru pārlūkprogrammu anonīmā režīmā un veicu divus pieprasījumus vienai lapai. Ir skaidri redzams, ka otrā atbilde ir pareiza - 304 Nav modificēts:

    Secinājuma vietā

    Tādējādi mēs izdomājām galveni Last-Modified. Pirmkārt, tai ir jānorāda informācija par datumu un laiku, kad dokuments faktiski tika mainīts. Otrkārt, ārkārtīgi svarīga ir servera reakcija uz nosacījumu pieprasījumu ar galveni If-Modified-Since.

    Mazāk klausieties SEO, kuri nezina interneta elementārus pamatus.

    Viens no interneta vietnes optimizācijas posmiem tās pareizai darbībai un veiksmīgai reklamēšanai ir servera puses optimizācija. Cita starpā - pareizas servera atbildes iestatīšana pieprasījumam "Pēdējā modifikācija". Pareiza šī parametra iestatīšana var ietekmēt vietnes ielādes ātruma palielināšanos un pozitīvi ietekmēt meklēšanas robotu veikto indeksāciju.

    Kas ir pēdējā modifikācija un kāpēc tas ir vajadzīgs?

    Kā norāda nosaukums, galvene Last-Modified norāda klientam (vietnes apmeklētājam) par pēdējo reizi, kad konkrēta vietnes lapa tika modificēta. Ja meklēšanas robots darbojas kā vietnes apmeklētājs un vietne (uz servera) nav konfigurēta (vai ir nepareizi konfigurēta) ar pēdējo modificēto atbildi uz pieprasīto dokumentu vai lapu, meklēšanas robotam nav citas izvēles, kā tikai indeksēt visas vietnes lapas. interneta resurss atkal un atkal katrā apmeklējuma reizē, tādējādi radot zināmu slodzi uz servera, kas atrodas hostinga vietnē. Un ja lappušu skaits ir simtiem vai pat tūkstošiem? Atkarībā no servera īpašībām un iespējām pastāv iespēja "uzskriet" kāda veida hostinga kļūmēm. Papildus tam jāņem vērā, ka meklēšanas robotam ir ierobežots “vienlaikus” indeksējamo lapu skaits, tādēļ, ja galvene Last-Modified nav iestatīta pareizi, mēs riskējam, ka nemainītās lapas tiks indeksētas robots, bet jaunās lapas, kas mums vajadzīgas, nebūs.

    Pamatojoties uz RFC 2616 specifikāciju, kas apraksta HTML hiperteksta pārsūtīšanas protokolu, klients var "jautāt" serverim, vai lapa kopš noteikta datuma ir mainījusies, nosūtot serverim galveni "If-Modified-Since". Ja pieprasītā lapa nav mainīta, serveris atgriezīs galveni "304 Not Modified" un pārlūkprogramma neielādēs lapu un tīmekļa serveris nesūtīs daudz datu. Pretējā gadījumā (ja vietnes lapa ir mainījusies kopš iepriekšējā pieprasījuma), serveris atgriezīs atbildi "200 OK" un pašas lapas kodu.

    Papildus iepriekšminētajam pieminam Yandex ieteikumus: “Robots nevarēs iegūt informāciju par to, vai vietnes lapa ir atjaunināta kopš pēdējās indeksēšanas. Un tā kā lapu skaits, ko robots saņem no vietnes vienā apmeklējumā, ir ierobežots, mainītās lapas tiks reindeksētas retāk.

    KOPĀ: Svarīgs galvenes "Last-Modified" mērķis ir informēt vietnes apmeklētāju un meklēšanas robotu par dokumenta pēdējās modifikācijas datumu.

    Kam paredzēts pareizais iestatījums Pēdējās izmaiņas?

    Pareizi konfigurējot pēdējā modificētā servera atbildi, mēs varam sasniegt vairākus pozitīvus rezultātus mūsu vietnei vienlaikus:

    • Palielina vietnes lapas ielādes ātrumu cilvēkiem: ja lapu lietotājs jau ir apmeklējis un nākamā apmeklējuma reizē lapa nav mainījusies, apmeklētāja pārlūkprogramma nepārlādēs lapu, bet parādīs tās kešatmiņā saglabāto kopiju;
    • Tiek samazināta mitināšanas vietnes (servera) slodze: ar šo darba algoritmu serveris tiks ielādēts daudz mazāk, jo vietnes apmeklētājam ir jāpārsūta tikai mainīto lapu apjoms;
    • Tiek parādīts pēdējā dokumenta datums meklēšanas rezultātos:šis fakts var piesaistīt apmeklētājus jūsu vietnei, ja tiek parādīts "svaigs" datums;
    • Kārtot pēc datuma: vietnes lapas meklēšanas rezultātos tiks sakārtotas pēc datuma;
    • Vietnes indeksēšana, ko veic meklēšanas roboti, ir ievērojami paātrināta: Jūsu vietnes ātrās atbildes dēļ par skenēto lapu datumu, vecās (jau indeksētās) lapas tiks "izmestas malā", dodot vietu "svaigiem" dokumentiem. Šis vienums ir visnozīmīgākais, reklamējot vietni, jo. liels indeksēšanas ātrums palielina uzticības līmeni vietnei starp meklēšanas robotiem.

    Kā pārbaudīt, vai Last-Modified ir pareizi konfigurēts?

    Viens no pakalpojumiem, kurā varat pārbaudīt konfigurētās Last-Modified servera atbildes pareizību (un patiešām pastāvēšanu), ir tāda paša nosaukuma vietne last-modified.com.

    Ievades laukā jums jāieraksta savas vietnes vai konkrētas lapas adrese un jānoklikšķina uz pogas "Pārbaudīt". Pakalpojuma rezultāts būs jūsu vietnes atbildes demonstrācija uz pieprasījumu pēc galvenēm "Pēdējoreiz mainīts" un "304 nav mainīts". Šādas pārbaudes piemērs:

    Pēdējās modifikācijas iestatīšana

    Apskatīsim PHP pēdējā modificētās HTTP galvenes atbildes ieviešanu.

    Internetā ļoti bieži ir šādi ieteikumi, kā iestatīt Last-Modified:

    Gribas iesaukties: "Tādu hokeju mums nevajag!" Un redzēsim, kāpēc. Atbildot uz lietotāja pieprasījumu, funkcija gmdate atgriezīsies pie mums Šodienas datums Griničas laiks (GMT). Un tas notiks katru reizi ar katru lietotāja vai meklēšanas robota pieprasījumu - serveris mums atgriezīs tieši savu Šodienas datums. Izrādās, ka katru reizi, kad meklētājprogrammas apmeklēs jūsu vietni, tās redzēs, ka pieprasītā lapa ir tikko atjaunināta. Tas var būt “noderīgs” tikai dažas reizes... Pēc kāda laika meklētājs sapratīs, ka tiek “apmānīts”, un zaudēs jebkādu uzticību jūsu vietnei. Attiecīgi šāda īstenošana mums neder.

    Lai saņemtu palīdzību, vērsīsimies pie iepriekš minētā resursa. last-modified.com. Tas parāda arī PHP galvenes Last-Modified HTTP ieviešanu. Tas izskatās šādi:

    $LastModified_unix = 1294844676;

    $IfModifiedSince = false;



    if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) (
    Izeja;
    }

    Apskatīsim, kā šis kods darbojas. Mainīgs $LastModified_unix iestatīt manuāli formātā Unix laika zīmogs(sekunžu skaits, kas pagājis kopš Unix laikmeta sākuma - kopš 1970. gada 1. janvāra).

    Funkcija gmdate atgriež pašreizējo GMT laiku šādā formātā diena, DD Pirm. YEAR HH:MM:SS GMT.

    Nākamais: iegūstiet lapas pēdējās modifikācijas laiku, pārbaudiet klātbūtni Ja-Modificēts-Kopš ja ir - dod 304 Nav mainīts un apturēt skriptu. Pretējā gadījumā mēs ģenerējam galveni Pēdējās izmaiņas un dodiet visu lapu.

    Iepriekš minētajā opcijā ir ierosināts iestatīt laiku $LastModified_unix manuāli. Bet ko darīt, ja vietnei ir daudz lapu? Lai to izdarītu, mēs nedaudz “modernizējam” skriptu, aizstājot tajā tikai pirmo rindiņu:

    $LastModified_unix = strtotime(date("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));

    if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) (
    header($_SERVER["SERVER_PROTOKOLS"] . " 304 Nav modificēts");
    Izeja;
    }

    header("Pēdējais modificēts: ". $LastModified);

    Atjauninātajā versijā pirmā koda rindiņa pārvērš datuma tekstuālo attēlojumu uz angļu valoda formātā Unix laika zīmogs, tādējādi izmantojot automātiski aprēķināto vietnes pašreizējās lapas maiņas laiku.

    Viss ir gatavs! Tagad mums atliek ielīmēt iegūto kodu sadaļā ... katru vietnes lapu un izbaudiet lielo lapu ielādes ātrumu un to indeksēšanu, ko veic meklēšanas roboti.

    Ļaujiet mums palīdzēt iestatīt pēdējo modificēto!

    Sāciet ar vienkāršu zvanu programmā "T-Design"! Mūsu tālrunis ir 8 499 340-17-82 - darbojas režīmā bez apstājas lai jūs varētu ātri saņemt jūs interesējošo informāciju vietnes izstrādes un atbalsta problēmu risināšanā. Vai arī rakstiet uz e-pasts. Mēs konsultēsim visos jautājumos un izvēlēties labāko likmi jūsu uzņēmumam.

    2022 x360ce.ru
    Fotogrāfija - Informācijas portāls