אזהרות הגבלת גיל הן לא רק חלונות קופצים. בלעדיהן, אתרים שמוכרים אלכוהול, טבק או נשק מפרים את החוק הפדרלי מס' 38-FZ בדבר פרסום. עם זאת, יישומי JS overlay גורמים לעתים קרובות לבעיות אינדוקס: סורקים רואים מסך ריק.
נסביר כיצד להגדיר את רכיב age.warning שאינו פוגע ב-SEO ועומד בדרישות הרגולציה. הניסיון שלנו: 10+ שנים בפיתוח Bitrix, 50+ פרויקטים עם דרישות חוקיות.
כדי להימנע מקנסות וחסימת אתר, עליך לא רק להציג פופ-אפ אלא גם להגדיר אותו נכון: בדיקה בצד השרת, החרגת בוטים (Googlebot, YandexBot), הגנת רענון.
ב-95% מהמקרים, הגדרה שגויה מובילה לאובדן אינדוקס או לסיכונים משפטיים. נבחן נקודות טכניות מרכזיות באמצעות דוגמה מפרויקט אמיתי: חנות אלכוהול מקוונת שבה השיפור העלה את ההמרה ב-15% וביטל לחלוטין את סיכוני הקנסות.
הקנס על היעדר אזהרה יכול להגיע לעלות המחושבת לאחר ביקורת, ועלויות משפטיות לעלות המחושבת לאחר ביקורת, כך שהשקעה ביישום נכון משתלמת כבר ביום הראשון.
כיצד לאחסן אישור גיל?
ההחלטה המרכזית היא היכן לאחסן את עובדת ההסכמה. שלוש אפשרויות:
- Cookie — מוגדר ל-30 יום או עד סוף הסשן. יתרונות: ללא משאבי שרת. חסרונות: המשתמש יכול למחוק עוגיות.
- סשן Bitrix —
\Bitrix\Main\Application::getInstance()->getSession()->set('AGE_CONFIRMED', true). אמין יותר עבור הביקור הנוכחי, אך מתאפס בעת סגירת הדפדפן. - פרופיל משתמש — עבור משתמשים מורשים, דגל המאוחסן ב-
UF_AGE_CONFIRMED(סוג boolean). לאחר אישור חד-פעמי, הבעיה אינה מתעוררת יותר.
סכימה מומלצת: cookie עבור משתמשים אנונימיים (30 יום) + שדה UF עבור משתמשים רשומים. זה מפחית את עומס השרת ב-40% בהשוואה לגישת הסשן.
| שיטה | עמידות | שמישות | עומס שרת |
|---|---|---|---|
| Cookie | בינונית | גבוהה | נמוך |
| סשן | חלשה (עד סגירת הדפדפן) | בינונית | בינוני |
| פרופיל | גבוהה (לנצח) | גבוהה | נמוך (חד-פעמי) |
מדוע התנהגות סירוב נכונה חשובה?
אם המשתמש לוחץ על "לא, אני מתחת לגיל 18", האתר חייב לחסום גישה כראוי:
- הפניה לעמוד מיוחד המציין חוסר נגישות לתוכן
- חסימת היכולת לחזור אחורה באמצעות
history.pushState - הגדרת קוקי סירוב (
AGE_DENIED=Y) ל-24 שעות כדי להימנע מהצגת הפופ-אפ שוב
עמוד הסירוב לא צריך להכיל קישורים לאזורים מוגנים. כתובת ה-URL שלו היא בדרך כלל /age-restricted/ או /sorry/.
רכיב אזהרה
האזהרה מיושמת כרכיב נפרד הנכלל בתבנית האתר (header.php או באמצעות bitrix:main.include). הרכיב בודק קוקי/סשן, ואם אין אישור, מציג את שכבת הכיסוי.
מבנה הרכיב:
/local/components/custom/age.warning/
├── class.php
├── templates/
│ └── .default/
│ ├── template.php
│ └── script.js
└── .description.php
ב-class.php — לוגיקה לבדיקה והגדרת קוקיז:
public function executeComponent() {
$cookieName = 'AGE_CONFIRMED';
$request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
if ($request->getCookie($cookieName) === 'Y') {
return; // Confirmation exists
}
if ($this->arParams['CHECK_AUTH'] === 'Y') {
global $USER;
if ($USER->IsAuthorized()) {
$userFields = CUser::GetByID($USER->GetID())->Fetch();
if ($userFields['UF_AGE_CONFIRMED'] === '1') {
return;
}
}
}
$this->IncludeComponentTemplate();
}
SEO ובוטים
סורקי חיפוש לא צריכים להיות חסומים על ידי האזהרה. יישום נכון:
- האזהרה מוצגת רק באמצעות JS לאחר טעינת העמוד — תוכן ה-HTML זמין לאינדוקס
- בדיקה בצד השרת (הפניה 302) מוחלת רק על משתמשים אמיתיים, תוך החרגת User-Agents של סורקים
- עמודי קטלוג עם מוצרי 18+ אינם חסומים לאינדוקס — רק כפתור "Buy" מוחלף
// Check if bot
const isBot = /bot|crawl|spider|slurp|teoma/i.test(navigator.userAgent);
if (!isBot && !getCookie('AGE_CONFIRMED')) {
showAgeConfirmModal();
}
User-Agents של בוטים שיש להחריג
- Googlebot
- YandexBot
- Bingbot
- Mail.RU_Bot
- Baiduspider
- FacebookBot
אינטגרציה עם יומן אירועים
עבור אתרים בעלי משמעות משפטית (פעילויות מורשות), עובדת אישור הגיל נרשמת ביומן. באמצעות handler לאחר לחיצה על "כן", נשלחת בקשת AJAX לבקר המתעד זמן, IP, User-Agent ומזהה סשן — דרך \Bitrix\Main\Diag\Logger או טבלה מותאמת אישית. הדבר מספק נתיב ביקורת ל-3 שנים.
תהליך העבודה
- ניתוח — לימוד האתר שלך, זיהוי עמודים עם תוכן מוגבל, קביעת דרישות חוקיות.
- עיצוב — בחירת מנגנון אחסון, פיתוח סכמת הפניה ואינטגרציה עם CRM.
- יישום — יצירת רכיב age.warning, הגדרת cookie/session, יומן אירועים.
- בדיקה — בדיקה על בוטים אמיתיים (Googlebot, YandexBot), בדיקת סירוב והסכמה מחדש.
- הפצה — פריסה לשרת הייצור, ביצוע ביקורת סופית.
כדי למצוא את הפתרון האופטימלי, צור קשר — נעריך את הפרויקט שלך בתוך יום אחד.
מה כלול
- סט תיעוד מלא (תיאור סכימה, מדריך הפעלה)
- קוד מקור של הרכיבים עם הערות
- הגדרות הפניה מחדש, קובצי cookie והחרגת בוטים
- אינטגרציה של יומן אירועים (אם נדרש)
- הדרכה עבור המנהל שלך
- תמיכה לאחר הפרויקט: חודש ראשון בחינם
הערכות זמן
| וריאנט יישום | זמן |
|---|---|
| חלון קופץ בסיסי עם cookie | 4–6 שעות |
| רכיב עם session + הפניה מחדש במקרה של סירוב | 8–12 שעות |
| מערכת מלאה: משתמשים מאומתים + אנונימיים + יומן | 1–2 ימים |
טעויות אופייניות וצ'קליסט
- בוטים לא מוחרגים — מקבלים הפניה מחדש, מאבדים אינדוקס
- חלון קופץ חוסם תוכן עד לחיצה על כפתור — הסורק רואה רק שכבת כיסוי
- אין הפניה מחדש בעת סירוב — המשתמש יכול לנחות שוב ושוב על העמוד
- קוקי סירוב לא מוגדר — המודאל מופיע בכל רענון
- אין שדה למשתמשים מורשים — משתמשים רשומים רואים חלון קופץ בכל ביקור
הזמינו את הגדרת אזהרת הגיל — קבלו מודול תואם חוק עם אחריות ותקופת ניסיון. צרו קשר לייעוץ.

