איך מודיעים לגוגל לא לסרוק אתר תחת תחזוקה, החזרת HTTP Status Code - קרוסלה - הבלוג של מתי הורוביץ

איך מודיעים לגוגל לא לסרוק אתר תחת תחזוקה, החזרת HTTP Status Code

נתקלתי במקרה בו הורידו אתר לתחזוקה אך לא הודיעו לבוס של האינטרנט כי אין מדובר בתוכן האתר, כך שגוגל הציג בתוצאות החיפוש את הכותרת "HOT – סליחה, תקלה". הפיתרון לכך הוא כפי שהצעתי שם בתגובה: להודיע שהאתר אינו זמין זמנית – על ידי שליחת קוד סטטוס 503 Service Unavailable – האתר אינו זמין.

בPHP נוכל לכתוב כך:

[php]
header('HTTP/1.1 503 Service Unavailable');
[/php]

אבל מומלץ לשלוח גם את תאריך סיום ההשבתה. אפשר לרשום תאריך בפורמט HTTP-date

[php]
header('Retry-After: Sat, 8 Oct 2011 18:27:00 GMT');
[/php]

תוכלו להיעזר בפונקציה שמחזירה את התאריך בפורמט זה:

[php]
http_date ( int $timestamp )
[/php]

ואפשר גם בשניות, ולדוגמה עבור 3 שעות:

[php]
header('HTTP/1.1 503 Service Temporarily Unavailable');

header('Retry-After: ' . 60 * 60 * 3);
[/php]

על פי גוגל, חשוב, לא לא להשתמש בקביעות בקוד 503 שעשוי לגרום להם להוריד את האתר לצמיתות מהאינדקס.

כמו כן מומלץ להכיר את שאר הסטטוסים שמודיעים בצורה ידידותית מה קרה לאתר.
ולדוגמה במצב דיבוג אני מעדיף לראות בdebugger שכתובת כלשהי מחזירה קוד 400 (Bad Request) כך שאני מבין מיד שמשהו שגוי בפרמטרים שהועברו.

משתמשי וורדפרס פטורים מלכתוב את התחביר המלא של הסטטוס, וורדפרס כוללת פונקציה שמקבלת את הקוד ושולחת אותו בפורמט התקין עם הפרוטוקול והטקסט:

[php]
status_header( int $header );
[/php]

חשוב כמובן לשלוח את הקוד לפני הצגת ושליחת כל טקסט לדפדפן, וכאן המקום להזכיר ולהמליץ שלא לסיים קבצי php בקוד סגירה:

[php]?> [/php]

משום שאם בטעות תכניסו תו רווח אחרי תו הסגירה זו כבר תהיה שליחת נתונים לדפדפן, בעוד שהשגיאות העלולות להתרחש מכך הן מגוונות (במיוחד במערכות קוד פתוח עם תוספים מיוצרים שונים, ושיטות עבודה שונות).

פוסטים אחרונים

קבלו עדכונים בפייסבוק

השאר תגובה

אם הגעת עד לכאן, אשמח לחוות דעתך על הפוסט בשתי מילים (לא יתפרסם באתר)