قائمة طعام
مجانا
تسجيل
بيت  /  البرامج/ أساطير تحسين محركات البحث: كل شيء عن رأس آخر تعديل. مدونة بها الكثير من المعلومات المثيرة للاهتمام ... لماذا نحتاج إلى رأسي Last-Modified و If-Modified-Since

أساطير مُحسّنات محرّكات البحث: كل شيء عن رأس آخر تعديل. مدونة بها الكثير من المعلومات المثيرة للاهتمام ... لماذا نحتاج إلى رأسي Last-Modified و If-Modified-Since

رأس HTTP تم التعديل الأخير (آخر تعديل)يرسل الوقت إلى العميل اخر تغيروثيقة (صفحة ويب). العميل (متصفح أو روبوت البحث) يرسل الرأس " إذا تم التعديل منذ ذلك الحين"وإذا تطابق تاريخ آخر تعديل للصفحة ، يُرجع الخادم العنوان" 304 غير معدل'ولا يتم تحميل الصفحة. إذا كان آخر وقت تم تعديله مختلفًا (أو لم يتم تكوين آخر رأس تم تعديله) ، فسيرجع الخادم العنوان " 200 جيدوتحميل الصفحة. أي ، بدلاً من إعادة تحميل الصفحة وتحديث ذاكرة التخزين المؤقت ، يتلقى العميل فقط العنوان 304. يحفظ العميل حركة المرور ، ويقدم الخادم بيانات أقل - مدخرات متبادلة.

ولكن ، لماذا تكون هذه المقالة ، إن لم تكن تتحدث عن الفوائد التي يوفرها تعيين رأس Last-Modified ، أو بالأحرى ، لتسريع فهرسة الموقع. من السهل تخمين أن 10 صفحات من الموقع ستتم فهرستها أسرع من 1000. نفس المبدأ الذي يسمح لك بتحسين تحميل الصفحة يعمل للفهرسة. محرك البحثليس عليك فهرسة 1000 صفحة للعثور على 10 صفحات جديدة. بفضل آخر تعديل ، نترك فقط الصفحات الجديدة (أو الصفحات المحدثة) للروبوت. يأتي الروبوت إلى الموقع ويأخذ ما يحتاجه أولاً ، ثم كل شيء آخر.

تعيين رأس Last-Modified

تأكد من صحة رؤوس 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)؛ ؟>

كيفية إعداد .htaccess Last-Modified

إعادة كتابة القاعدة. * - إعادة كتابة القاعدة. * -

كيفية إعداد nginx + php Last-Modified

الموقع ~ .php $ (... if_modified_s since؛ fastcgi_pass fcgi؛ fastcgi_index index.php؛ fastcgi_param SCRIPT_FILENAME /<путь >/ web $ fastcgi_script_name؛ ... fastcgi_pass_header Last-Modified؛ تشمل fastcgi_params ؛ )

تحقق من آخر تعديل

عندما يتم تكوين الرأس الذي يتم تمريره إلى العميل ، فلن يضر ذلك آخر شيك معدلمن أجل الصواب. يمكنك التحقق من Last-Modified على موقع الويب الخاص بك أو موقع الطرف الثالث من خلال الخدمات عبر الإنترنت.

أو قم بإجراء الفحص الخاص بك للمعالجة الصحيحة لعنوان Last-Modified:

تعيين رأس Last-Modifiedوستكون معالجة رأس If-Modified-Since مفيدة للغاية لأي موقع أكبر أو أقل. يمكن أن تصبح سرعة معالجة الصفحة للموقع كبيرة. لن يؤدي الإعداد البسيط نسبيًا إلى حدوث مشكلات ، خاصة وأن أنظمة إدارة المحتوى الشائعة مثل joomla و wordpress و modx وما إلى ذلك. هناك حلول جاهزة.

لماذا هذا المنشور في قسم تحسين محركات البحث؟ آخر تعديل ، كما تؤكد محركات البحث ، هو رأس http مهم للغاية مطلوب للإبلاغ عن تاريخ آخر تعديل للمستند ، أي تاريخ آخر تغيير على الصفحة.

وفقًا لذلك ، إذا لم يكن هذا العنوان موجودًا ، أو بالأحرى لن يتم إعطاؤه ، يفقد الموقع بعض المزايا. على وجه الخصوص ، هذا ما قرأته على الشبكة حول فوائد آخر تعديل:

  1. تتحسن سرعة فهرسة الصفحات الجديدة ، ويمكن للروبوت أن يأخذ المزيد من الصفحات في الفهرس في زيارة واحدة.
  2. يحسن سرعة إعادة فهرسة الصفحات التي أجريت التغييرات عليها. هذا مفيد للغاية ، ولكن بدون هذا العنوان لنشر تعديلاتك ، عليك الانتظار لفترة أطول.

من حيث المبدأ ، هذا يكفي بالفعل للرغبة في التحقق ، وإذا لزم الأمر ، تعديل هذا العنوان.

كيفية التحقق من آخر تعديل؟

هناك العديد من الأدوات ، لقد أحببت هذه الأداة الأفضل - http://www.tools.seo-auditor.com.ru/if-modified-since/
هنا أحتاج فقط إلى إدخال عنوان الصفحة الرئيسية أو أي مقال ، ثم تحديد روبوت البحث - Yandex.

تم العثور على "آخر تعديل" على موقعي ، إنه رائع. لكن في البداية لم يكن هناك ، كيف قمت بإعداده؟


كيف أقوم بإعداد آخر تعديل؟

بصراحة ، لم يساعدني شيء. ربما لأن الخادم هو nginx. لقد قمت بتثبيت AddHeaders - يضع هذا المكون الإضافي جميع رؤوس http المفيدة ، بما في ذلك آخر تعديل ، لكن هذا المكون الإضافي لم يساعدني ، على الرغم من أنه قبل حوالي عام نجح في تنشيط هذا العنوان على موقعي.

في هذه المدونة أيضًا ، وضعت المكون الإضافي المميز Clearfy الذي كتبت عنه. شيء مفيد ، هناك أيضًا وظيفة تسمح لك بوضع آخر تعديل.

لقد قمت بتنشيط الخيار ، ولكن لم يتم إرجاع العنوان بناءً على نتائج الشيك. لكن في النهاية ، تقرر كل شيء من خلال النداء إلى هؤلاء. دعم المكون الإضافي - هناك وصفت تكوين الخادم الخاص بي وقدموا لي نصيحة محددة - انتقل إلى لوحة تحكم الخادم ، وقم بتعطيل هذا وذاك. لم يكد يُقال أكثر من الفعل والآن يُعطى العنوان.

أعتقد أن إضافة عنوان سيكون له تأثير إيجابي على مواقعي.

حل عالمي - من المرجح أن يكون المكون الإضافي AddHeaders مناسبًا لك إذا كان لديك خادم اباتشي. إذا كان nginx ، فحاول تعطيل ssi في إعدادات المجال ثم قم بتنشيط هذا المكون الإضافي مرة أخرى.

"على وجه الخصوص ، يعتبر محتوى الاستجابة التي يقدمها الخادم لطلب" if-modified-since "أمرًا مهمًا. يجب أن يُرجع رأس Last-Modified التاريخ الصحيح الذي تم فيه آخر تعديل للمستند. "

دعنا نتحقق من كيفية عمل Last-Modified في العديد من أنظمة إدارة المحتوى.

# telnet www.example.com 80

وأدخل ما يلي:

احصل على /index.html HTTP / 1.0 User-Agent: Mozilla / 5.0 من: something.somewhere.net قبول: نص / html ، نص / عادي ، application / * Host: www.example.com If-Modified-Since: الأربعاء ، 19 أكتوبر 2005 10:50:00 بتوقيت جرينتش

إذا أرجع الخادم 304 (لم يتم تعديله) ، فإنه يدعم If-Modified-Since ، لكن الصفحة لم يتم تعديلها. الرمز 200 (موافق) يعني أن الصفحة قد تغيرت.

التحقق من If-Modified-Since في C #

يمكنك التحقق من كيفية عمل If-Modified-Since مع كود C # التالي:

HttpWebResponse GetPage () الخاص (سلسلة url = @ "http: // ....." ؛ // Place الويبطلب إلى الخادم عن طريق تحديد عنوان URL طلب HttpWebRequest = (HttpWebRequest) WebRequest.Create (url) ؛ // لا حاجة إلىطلب اتصال دائم. KeepAlive = خطأ ؛ // الرابط الذي أحالنا إلى طلب URL.Referer = url ؛ // ال وكيل المستخدممن طلب المستعرض.UserAgent = "Mozilla / 4.0 (متوافق ؛ MSIE 7.0 ؛ Windows NT 5.1 ؛ SV1 ؛ .NET CLR 1.1.4322 ؛ .NET CLR 2.0.50215)" ؛ // بدلاً من HTTP 1.1 سأستخدم HTTP 1.0. عندما يخبر الطلب الخادم أنه يستخدم 1.0 ، // لن يستجيب الخادم بالبيانات المقسمة ولكنه سيرسل الاستجابة كلها مرة واحدة. request.ProtocolVersion = new Version (1، 1)؛ request.IfModifiedSince = DateTime.Now. AddDays (-5) ؛ // احصل على الاستجابة من طلب إرجاع الخادم (HttpWebResponse) .GetResponse () ؛) باطل خاص TestLastModified (VirtueMartContext db، jos_vm_product product) (باستخدام (HttpWebResponse response = GetPage ()) (Debug.Print ( "كود الحالة: (0) ، الوصف: (1) \ n"، response.StatusCode، response.StatusDescription)؛ string text = WebResponceReader.GetResponceText (response)؛ Debug.Print (text.Substring (0، 100))؛ ))

باستخدام هذه الطريقة ، يمكنك التأكد من أن جملة تُرجع دائمًا رمز الحالة = 200 (موافق) ، بغض النظر عن قيمة الطلب.

التحقق من If-Modified-Since من خلال خدمة Yandex

إذا قمت بالنقر فوق الزر الموجود في Yandex Webmaster "التحقق من استجابة الخادم" ، فسنصل هنا:

هنا مرة أخرى ، يمكنك أن ترى أن موقع الموقع ، وبالتالي ، فإن WordPress بدون المكون الإضافي WP Super Cache لا يضيف رأس Last-Modified.

حسنًا ، اكتشفنا نظام إدارة المحتوى ، ولكن كيف يعمل Yandex نفسه؟

هنا يمكنك إعطاء مثال: اليوم هو 7/7/2011 ، تم تحديث المحتوى في Joomla في 6/20/2011 ، ولدى Yandex نسخة مخبأة من 06/11/2011 ، على الرغم من أنه بعد هذا التاريخ ، أصبح الروبوت أكثر من مرة. في هذه الحالة ، يقوم Yandex بتنزيل التحديثات بتأخير كبير جدًا. السؤال هو لماذا؟

إليكم ما يقوله بلاتون شتشوكين عن هذا:

أثناء الزحف إلى الموقع ، سيتجاوز الروبوت أيضًا الصفحة المحددة ، وبعد ذلك ، مع تحديث قواعد بيانات البحث ، سيتم تحديثها في نتائج البحث. نحن نعمل على تحقيق ذلك في أسرع وقت ممكن.

من ناحيتك ، يمكنك أيضًا مساعدة الروبوت على فهرسة الموقع بشكل أسرع باستخدام التوصيات التالية مع

يخبر رأس HTTP Last-Modified العميل عند آخر تعديل للصفحة (الكائن). إذا تلقى العميل (المستعرض ، روبوت البحث) رأس Last-Modified ، فعندها في المرة التالية التي يصل فيها إلى العنوان ، بشرط أن تكون الصفحة (الكائن) في ذاكرة التخزين المؤقت المحلية ، سيضيف سؤال If-Modified-Since (سواء تم تغيير الصفحة منذ تاريخ استلامها في Last-Modified). بدوره ، يجب على الخادم ، بعد تلقي طلب If-Modified-Since ، التحقق من الطابع الزمني المستلم مع وقت آخر تعديل للصفحة ، وإذا لم تتغير الصفحة ، فاستجب بـ 304 Not Modified.

حفظ حركة المرور

إذا لم تتغير الصفحة ، فسيتوقف الخادم عن إرسال البيانات بعد إرسال الرؤوس بالرمز 304 غير المعدل ، ولن يتم إرسال نص الصفحة والصور والكائنات الأخرى.

انخفاض تحميل الخادم

يمكن أن يؤدي التنفيذ الصحيح للتحقق من وقت آخر تعديل للصفحة إلى تقليل الحمل على الخادم بشكل كبير (حتى 30٪ أو أكثر). يعني التنفيذ الصحيح التحقق من الوقت قبل بدء إنشاء الصفحة على موقع ديناميكي. في هذه الحالة ، لن يتم تنفيذ جميع الإجراءات الخاصة بإنشاء الصفحة (طلب محتوى من قاعدة البيانات ، قوالب التحليل ، تلقي التعليقات ، وما إلى ذلك). هذا ينطبق بشكل خاص على المواقع ذات عدد الزيارات المرتفع والمدة الطويلة لزيارة المستخدم. مثال: المستخدم في موقع إخباري رياضي ويتم تحديثه باستمرار الصفحة الرئيسيةفي انتظار نشر نتيجة المباراة. في غضون دقائق قليلة ، يمكن طلب واستلام صفحة عشرات المرات. إذا تم تقديم رأس Last-Modified وتمت معالجة طلب If-Modified-Since بشكل صحيح ، فسيتم إرسال الصفحة بالفعل مرة واحدة ، وستتلقى جميع الطلبات اللاحقة استجابة 304 Not Modified.

تسريع الفهرسة بواسطة محركات البحث

توصي محركات البحث بإرسال عنوان Last-Modified والتعامل بشكل صحيح مع If-Modified-Since ، من خلال إرشادات مشرفي المواقع.


تأكد من أن خادم الويب الخاص بك يدعم رأس If-Modified-Since HTTP. سيسمح هذا العنوان لخادم الويب بإعلام Google بما إذا كان محتوى الموقع قد تغير منذ آخر مرة تم الزحف إليه. سيقلل دعم هذه الوظيفة من الحمل الإنتاجيةوالتكاليف.

تأكد من صحة رؤوس http. على وجه الخصوص ، يعتبر محتوى الاستجابة التي يقدمها الخادم لطلب إذا تم تعديله منذ ذلك الحين أمرًا مهمًا. يجب أن يُرجع رأس Last-Modified التاريخ الصحيح الذي تم فيه آخر تعديل للمستند. إذا لم يُرجع الخادم تاريخ آخر تعديل للمستند ، فسيتم فهرسة موقعك ، ولكن:
- لن تظهر نتائج البحث التاريخ بجوار صفحات موقعك ؛
- عند الفرز حسب التاريخ ، لن يكون الموقع مرئيًا لمعظم المستخدمين ؛
- لن يتمكن الروبوت من الحصول على معلومات حول ما إذا كانت صفحة الموقع قد تم تحديثها منذ الفهرسة الأخيرة. ونظرًا لأن عدد الصفحات التي يتلقاها الروبوت من الموقع في زيارة واحدة محدود ، فسيتم إعادة فهرسة الصفحات التي تم تغييرها بشكل أقل تكرارًا.

بناء الجملة

إذا تم التعديل منذ: , ::بتوقيت غرينيتش

التوجيهات

أحد "الاثنين" أو "الثلاثاء" أو "الأربعاء" أو "الخميس" أو "الجمعة" أو "السبت" أو "الأحد" (حساس لحالة الأحرف). رقم اليوم المكون من رقمين ، على سبيل المثال "04" أو "23". أحد "يناير" ، "فبراير" ، "مارس" ، "أبريل" ، "مايو" ، "يونيو" ، "يوليو" ، "أغسطس" ، "سبتمبر" ، "أكتوبر" ، "نوفمبر" ، "ديسمبر" ( حساسية الموضوع). رقم السنة المكون من 4 أرقام ، على سبيل المثال "1990" أو "2016". رقم ساعة مكون من رقمين ، على سبيل المثال "09" أو "23". رقم دقيقة مكون من رقمين ، على سبيل المثال "04" أو "59". رقم ثاني مكون من رقمين ، على سبيل المثال "04" أو "59". بتوقيت غرينيتش

توقيت غرينيتش. يتم التعبير عن تواريخ HTTP دائمًا بتوقيت غرينتش ، وليس بالتوقيت المحلي أبدًا.

أمثلة

If-Modified-Since: الأربعاء ، 21 أكتوبر 2015 07:28:00 GMT

تحديد

تخصيص عنوان
RFC 7232 ، القسم 3.3: If-Modified-Since بروتوكول نقل النص التشعبي (HTTP / 1.1): الطلبات المشروطة

التوافق المتصفح

يتم إنشاء جدول التوافق في هذه الصفحة من البيانات المنظمة. إذا كنت ترغب في المساهمة في البيانات ، يرجى مراجعة https://github.com/mdn/browser-compat-data وإرسال طلب سحب إلينا.

تحديث بيانات التوافق على جيثب

سطح المكتبمتحرك
كرومحافةثعلب النارمتصفح الانترنتأوبراسفاريعرض ويب androidChrome لنظام AndroidFirefox لنظام AndroidOpera لنظام AndroidSafari على iOSسامسونج إنترنت
إذا تم التعديل منذ ذلك الحيندعم Chrome الكامل نعمدعم الحافة الكاملة 12دعم Firefox الكامل نعمدعم IE الكامل نعمدعم Opera الكامل نعمدعم Safari الكامل نعمدعم WebView Android الكامل نعمدعم Chrome Android الكامل نعمدعم Firefox Android الكامل نعمدعم Opera Android الكامل نعمدعم Safari iOS الكامل نعمدعم Samsung Internet Android الكامل نعم