sitemap.xml و robots.txt: ساخت درست و معرفی به گوگل
۳ دقیقه مطالعهبروزرسانی:
sitemap.xml به گوگل میگوید کدام صفحهها را ببیند و robots.txt میگوید کجا نرود. این دو فایل سادهاند، اما یک اشتباه کوچک در آنها میتواند کل سایت را از نتایج بیندازد. اینجا هر کدام را درست میسازیم.
sitemap.xml چیست؟
فهرستی از آدرسهایی که میخواهید ایندکس شوند. برای سایتهای کوچک با لینکدهی داخلی خوب لازم نیست، ولی کشف صفحههای تازه را سریعتر میکند و در سایتهای بزرگ یا تازه مفید است.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2026-10-08</lastmod>
</url>
</urlset>چه صفحههایی در sitemap بیایند؟
- فقط صفحههایی که میخواهید در جستوجو دیده شوند
- کد ۲۰۰ بدهند (نه ریدایرکت یا ۴۰۴)
- noindex نباشند
- canonical به خودشان باشد، نه صفحهی دیگر
lastmod را فقط وقتی بنویسید که تاریخ واقعی آخرین تغییر باشد. گوگل priority و changefreq را استفاده نمیکند و میتوانید ننویسید.
محدودیتها
- هر فایل حداکثر ۵۰٬۰۰۰ آدرس و ۵۰ مگابایت (بدون فشردهسازی)
- برای بیشتر، چند فایل بسازید و با یک sitemap index معرفی کنید
- آدرسها باید کامل (با https و دامنه) و از همان دامنهی فایل باشند
robots.txt چیست؟
فایلی متنی با آدرس ثابت /robots.txt در ریشهی دامنه که خزندهها پیش از هر چیز میخوانند.
User-agent: *
Allow: /
Disallow: /admin
Disallow: /api/
Sitemap: https://example.com/sitemap.xmlاشتباههای رایج
- `Disallow: /` فراموششده. معمولاً هنگام توسعه گذاشته و بعد از راهاندازی برداشته نشده است.
- فکر کردن به امنیت. robots.txt را همه میتوانند بخوانند؛ مسیر خصوصی را با ورود و مجوز محافظت کنید، نه با Disallow.
- استفاده برای خارج کردن از ایندکس. Disallow جلوی خزیدن را میگیرد، نه ایندکس شدن آدرس را؛ اگر جایی لینک شده باشد، آدرسش ممکن است بدون توضیح در نتایج بیاید.
- تداخل با noindex. گوگل صفحهی بستهشده را نمیخواند و noindex را نمیبیند. برای خارج کردن از ایندکس، صفحه را باز بگذارید و noindex بدهید.
- مسیر بدون اسلاش پایانی.
Disallow: /admin/فقط زیرمسیرها را میبندد و خود/adminباز میماند؛Disallow: /adminهر دو را میبندد.
معرفی به گوگل
- فایل
sitemap.xmlرا در ریشهی سایت بگذارید و درrobots.txtخطSitemap:را اضافه کنید. - در Google Search Console وارد بخش Sitemaps شوید، آدرس فایل را بنویسید و «Submit» بزنید.
- چند روز بعد وضعیت (موفق یا خطا) و تعداد آدرسهای کشفشده را ببینید.
- برای صفحههای بسیار مهم، با «بررسی آدرس» و «درخواست ایندکس» سرعت بدهید.
در وردپرس
افزونههای سئو (مثل Yoast SEO یا Rank Math) خودشان sitemap میسازند و بهروز نگه میدارند؛ معمولاً نیازی به ساخت دستی نیست. فقط آدرسش را در Search Console ثبت کنید و مطمئن شوید صفحههای بیارزش (برچسبها، آرشیو تاریخ) را noindex کردهاید.
با ابزار امتحان کنید
سؤالات متداول
sitemap من خطا دارد. از کجا بفهمم چیست؟
فایل را در تب «بررسی نقشهی سایت» ابزار sitemap بدهید؛ آدرس نامعتبر، تکراری، تاریخ اشتباه و مشکل ساختار را فهرست میکند.
چرا گوگل «کشفشده ولی ایندکسنشده» میگوید؟
یعنی آدرس را میشناسد ولی هنوز آن را ایندکس نکرده است. معمولاً به کیفیت یا تکراری بودن محتوا، سرعت یا لینکدهی داخلی برمیگردد، نه خطای فایل sitemap.
برای سایت وردپرسی باید robots.txt دستی بنویسم؟
نه، وردپرس یک نسخهی مجازی میسازد. فقط مطمئن شوید «عدم نمایش سایت در موتورهای جستوجو» در تنظیمات ← خواندن خاموش است.