fix(robots): مسدود نکردن /api/site — Allow داخل گروه Disallow قابل‌اعتماد نبود

گزارش منابع صفحهٔ GSC: «Googlebot blocked by robots.txt → /api/site».
robots.txt قاعدهٔ «آخرین تطابق» ندارد؛ افزودن Allow: /api/site داخل همان گروه
Disallow: /api توسط برخی خزنده‌ها نادیده گرفته می‌شد. حالا فقط /admin و
/api/admin مسدود می‌شوند و /api/site آزاد است.
This commit is contained in:
aramesh-site deploy
2026-10-10 10:28:51 +00:00
parent 51e7e46584
commit 04dc5facde
+11 -3
View File
@@ -553,9 +553,17 @@ def robots(db: Session = Depends(get_db)):
content="User-agent: *\nDisallow: /\n", content="User-agent: *\nDisallow: /\n",
media_type="text/plain; charset=utf-8", media_type="text/plain; charset=utf-8",
) )
# Allow: /api/site — رندرر گوگل موقع رندر صفحه این XHR را هم واکشی می‌کند؛ # /api/site مسدود نمی‌شود: رندرر گوگل این XHR را واکشی می‌کند و Disallow کلی
# Disallow کلی /api باعث می‌شد «مسدود توسط robots.txt» در منابع صفحه ثبت شود # /api باعث می‌شد «مسدود توسط robots.txt» ثبت شود. افزودن Allow داخل همان گروه
lines = ["User-agent: *", "Disallow: /admin", "Disallow: /api", "Allow: /api/site", ""] # قابل‌اعتماد نبود (برخی خزنده‌ها گروه Disallow را ملاک می‌گیرند). حالا فقط
# مسیرهای حساس اداری و اندپوینت‌های مدیریتی مسدود می‌شوند — نه /api/site.
lines = [
"User-agent: *",
"Disallow: /admin",
"Disallow: /api/admin",
"Allow: /api/site",
"",
]
# سیاست صریح خزنده‌های هوش مصنوعی — ربات‌های جست‌وجو/ارجاع آزادند تا محتوا # سیاست صریح خزنده‌های هوش مصنوعی — ربات‌های جست‌وجو/ارجاع آزادند تا محتوا
# در پاسخ‌های ChatGPT/Claude/Perplexity/Gemini ارجاع شود # در پاسخ‌های ChatGPT/Claude/Perplexity/Gemini ارجاع شود
for bot in AI_SEARCH_BOTS: for bot in AI_SEARCH_BOTS: