~2 دقیقه مطالعه • بروزرسانی ۷ آبان ۱۴۰۴
۱. robots.txt چیست؟
فایل robots.txt طبق استاندارد Robots Exclusion Protocol مشخص میکند که خزندههای موتور جستجو (مانند Googlebot یا Bingbot) به کدام مسیرهای سایت شما اجازه دسترسی دارند یا ندارند. این فایل در ریشهٔ پوشه app قرار میگیرد.
۲. تعریف فایل استاتیک
میتوانید فایل app/robots.txt را بهصورت دستی ایجاد کنید:
User-Agent: *
Allow: /
Disallow: /private/
Sitemap: https://acme.com/sitemap.xml۳. تولید فایل با کد
از Route Handler مخصوص robots.ts استفاده کنید:
// app/robots.ts
import type { MetadataRoute } from 'next'
export default function robots(): MetadataRoute.Robots {
return {
rules: {
userAgent: '*',
allow: '/',
disallow: '/private/',
},
sitemap: 'https://acme.com/sitemap.xml',
}
}خروجی:
User-Agent: *
Allow: /
Disallow: /private/
Sitemap: https://acme.com/sitemap.xml۴. سفارشیسازی خزندههای خاص
میتوانید رفتار خزندههای خاص را با آرایهای از قوانین تنظیم کنید:
export default function robots(): MetadataRoute.Robots {
return {
rules: [
{
userAgent: 'Googlebot',
allow: ['/'],
disallow: '/private/',
},
{
userAgent: ['Applebot', 'Bingbot'],
disallow: ['/'],
},
],
sitemap: 'https://acme.com/sitemap.xml',
}
}خروجی:
User-Agent: Googlebot
Allow: /
Disallow: /private/
User-Agent: Applebot
Disallow: /
User-Agent: Bingbot
Disallow: /
Sitemap: https://acme.com/sitemap.xml۵. ساختار Robots object
نوع MetadataRoute.Robots شامل گزینههای زیر است:
rules: شامل userAgent، allow، disallow، crawlDelaysitemap: آدرس فایل sitemaphost: دامنه اصلی (اختیاری)
جمعبندی
فایل robots.txt در Next.js ابزاری حیاتی برای کنترل رفتار خزندههای موتور جستجو است. با استفاده از روشهای استاتیک یا داینامیک، میتوانید مسیرهای قابل ایندکس را مشخص کنید، مسیرهای خصوصی را محدود کنید، و تجربه SEO بهتری برای سایت خود بسازید.
نوشته و پژوهش شده توسط دکتر شاهین صیامی