چک لیست سئو فنی سایت؛ از sitemap تا canonical
اگر گوگل نتواند صفحه های سایت را پیدا و ایندکس کند، هر مقاله ای که بنویسی عملاً دیده نمی شود. این چک لیست از robots.txt و کد وضعیت صفحه ها تا sitemap و canonical را به ترتیب اولویت مرور می کند و دلیل هر مورد را هم می گوید.

سئو فنی سایت یعنی مطمئن بشی گوگل می تونه صفحه های مهمت رو پیدا کنه، بخونه، ایندکس کنه و نسخهٔ درست هر صفحه رو بشناسه. اگه این پایه خراب باشه، هر مقالهٔ تازه ای که می نویسی عملاً تو انباری می مونه.
این چک لیست به ترتیب اولویت چیده شده. کنار هر مورد یکی از برچسب های حیاتی، مهم یا بعداً هست و دلیلش رو هم نوشتم. بعضی موردها یه ساعته درست می شن و بعضی ها باید تو برنامه بیان.
سئو فنی سایت از دسترسی شروع می شه
اول مطمئن شو در به روی گوگل بازه. بقیهٔ کارها بعد از این معنی پیدا می کنن.
robots.txt و noindex (حیاتی)
فایل /robots.txt رو تو مرورگر باز کن. یه نمونهٔ سالم چیزی شبیه اینه:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.ir/sitemap.xml
اگه Disallow: / دیدی، یعنی کل سایت بسته ست. این خط معمولاً از نسخهٔ آزمایشی به سایت اصلی منتقل می شه. گزینهٔ «درخواست از موتورهای جستجو برای ایندکس نکردن این سایت» تو وردپرس و تگ noindex تو قالب هم همین سرنوشت رو دارن. بعد از هر بازطراحی یا انتقال سرور، هر سه تا رو دستی چک کن.
یه اشتباه رایج هم هست: robots.txt جلوی خزیدن رو می گیره، نه جلوی ایندکس رو. اگه صفحه ای رو هم Disallow کنی و هم noindex بذاری، گوگل هیچ وقت تگ noindex رو نمی بینه، چون اجازهٔ باز کردن صفحه رو نداره.
کد وضعیت صفحه های اصلی (حیاتی)
صفحهٔ اصلی، دسته ها و محصول ها یا مقاله های مهم باید ۲۰۰ برگردونن. با این دستور سریع می بینی:
curl -I https://example.ir/
خروجی باید HTTP/2 200 باشه. اگه ۳۰۲ یا ۵۰۰ دیدی، اول بفهم چرا. خطای ۵۰۰ که گاهی میاد و گاهی نمیاد از همه موذی تره. تو کم می بینیش، ولی ربات ممکنه تو ساعت های اوج بیشتر بخورتش. برای شکار این جور قطعی های کوتاه، راهنمای مانیتورینگ آپتایم سایت رو بخون.
بلاک شدن ربات توسط فایروال (حیاتی)
این یکی تو ایران زیاد پیش میاد. بعضی هاست ها و فایروال ها برای کم کردن حمله، IP های خارج از کشور رو محدود می کنن. ربات گوگل معمولاً از IP های خارج از ایران میاد، پس ممکنه ۴۰۳ بگیره یا کند بشه، در حالی که تو از داخل ایران همه چیز رو سالم می بینی. curl با User-Agent جعلی گوگل اینجا کافی نیست، چون فایروال معمولاً خود IP رو چک می کنه. بهترین راه، ابزار «بررسی نشانی اینترنتی» (URL Inspection) تو Search Console و گزینهٔ تست زنده ست. اگه اونجا صفحه رو درست می بینه، مشکلی نیست.
اتصال Search Console (حیاتی)
بدون Search Console بقیهٔ چک لیست کورکورانه ست. سایت رو به صورت دامنه (Domain property) اضافه کن تا http و https و زیردامنه ها همه یه جا بیان. بعد بخش «ایندکس صفحات» رو باز کن و دو وضعیت رو یادداشت کن: «کشف شده، ایندکس نشده» و «بررسی شده، ایندکس نشده». اولی معمولاً یعنی گوگل آدرس رو می شناسه ولی هنوز نخزیده. دومی یعنی خونده و نخواسته نگهش داره. راه حل هر کدوم جداست، پس قاطی شون نکن.

sitemap: نقشهٔ راه، نه لیست آرزوها
آدرس و محتوای درست (حیاتی)
فایل sitemap.xml باید فقط آدرس هایی داشته باشه که می خوای ایندکس بشن: وضعیت ۲۰۰، بدون noindex، و همون آدرسی که canonical خودش معرفی کرده. آدرس ریدایرکتی، ۴۰۴ یا پارامتردار تو sitemap یعنی به گوگل سیگنال متناقض دادی.
سه تا نکتهٔ عملی:
- هر فایل sitemap حداکثر ۵۰ هزار آدرس یا ۵۰ مگابایت (فشرده نشده) می گیره. سایت بزرگ تر رو به چند فایل بشکن و یه sitemap index بساز.
lastmodرو فقط وقتی عوض کن که محتوا واقعاً عوض شده. اگه هر شب برای همهٔ صفحه ها تاریخ امروز رو بنویسی، گوگل کم کم بهش اعتماد نمی کنه.- آدرس فارسی تو sitemap باید درست انکود شده باشه. اگه افزونه ات خودش این کار رو نمی کنه، خروجی رو با یه اعتبارسنج XML چک کن.
آدرس sitemap رو هم تو robots.txt بنویس و هم تو Search Console ثبت کن. بعدش ببین تعداد آدرس های کشف شده با تعداد صفحه های واقعی سایتت می خونه یا نه.
sitemap تصویر و ویدیو (بعداً)
اگه سایتت فروشگاهیه و عکس محصول برات مهمه، بعداً sitemap تصویر رو هم اضافه کن. برای سایت شرکتی یا وبلاگ معمولاً لازم نیست.
canonical و نسخه های تکراری
یک نسخه از هر آدرس (حیاتی)
سایتت ممکنه با چهار آدرس باز بشه: http://example.ir، https://example.ir، http://www.example.ir و https://www.example.ir. برای گوگل اینا چهار سایت جدان. سه تاشون باید با ریدایرکت ۳۰۱ به یه نسخه برن. نمونهٔ ساده تو nginx:
server {
listen 80;
server_name example.ir www.example.ir;
return 301 https://example.ir$request_uri;
}
بلاک https مربوط به www هم باید به همین شکل به نسخهٔ اصلی بره. هر چهار آدرس رو با curl -I تست کن و ببین همه تو یک قدم به مقصد می رسن.
تگ canonical (حیاتی)
هر صفحه یه تگ canonical به آدرس خودش داشته باشه، با آدرس کامل (مطلق):
<link rel="canonical" href="https://example.ir/blog/technical-seo-checklist" />
این تگ مخصوصاً برای صفحه های فیلتر و مرتب سازی فروشگاه لازمه. آدرس هایی مثل ?sort=price یا ?utm_source=... محتوای تقریباً یکسان دارن و canonical به آدرس تمیز، تکرار رو جمع می کنه.
چند اشتباه رایج:
- canonical به آدرسی که خودش ریدایرکت می شه یا ۴۰۴ می ده.
- canonical همهٔ صفحه های ۲ و ۳ و ۴ یه دسته به صفحهٔ اول. با این کار محصول های صفحه های بعدی از دید گوگل پنهان می مونن.
- canonical و noindex روی یک صفحه. این دو پیام با هم نمی خونن.
یادت باشه canonical یه پیشنهاده، نه دستور. اگه سیگنال های دیگه (پیوند داخلی، sitemap، ریدایرکت) خلافش باشن، گوگل ممکنه نسخهٔ دیگه ای رو انتخاب کنه. تو Search Console اگه «کانونیکال انتخابی گوگل» با «کانونیکال انتخابی کاربر» فرق داشت، ریشهٔ مشکل رو همون جا دنبال کن.

ریدایرکت ها و صفحه های ۴۰۴
زنجیرهٔ ریدایرکت (مهم)
اگه A به B و B به C بره، ربات یک قدم اضافه طی می کنه و کاربر دیرتر می رسه. ریدایرکت ها رو مستقیم از مبدأ به مقصد نهایی ببر. بعد از بازطراحی یا تغییر ساختار آدرس، جدول «آدرس قدیمی به جدید» لازمه. اگه سایتت چند سال پیش دو بار عوض شده، احتمال زنجیرهٔ سه تایی کم نیست.
۳۰۱ یا ۳۰۲ (مهم)
برای انتقال دائمی از ۳۰۱ استفاده کن. ۳۰۲ فقط جایی درسته که انتقال واقعاً موقتیه، مثلاً یه کمپین کوتاه مدت. بعضی افزونه ها پیش فرض شون ۳۰۲ه، پس تنظیمش رو چک کن.
soft 404 (مهم)
صفحه ای که می نویسه «پیدا نشد» ولی کد ۲۰۰ برمی گردونه، برای گوگل soft 404 حساب می شه. تو بخش ایندکس Search Console دنبالش بگرد. راه حلش ساده ست: برای صفحهٔ واقعاً ناموجود، ۴۰۴ یا ۴۱۰ برگردون. برای محصول ناموجودی که جایگزین داره، ۳۰۱ به نزدیک ترین صفحه.
اگه سایتت در حال بازطراحیه، این بخش رو تو توافق تحویل بنویس. تو مراحل طراحی سایت از سفارش تا تحویل هم دیدیم که نقشهٔ ریدایرکت باید قبل از راه اندازی آماده باشه، نه بعدش.
سرعت و موبایل
موبایل اول (حیاتی)
گوگل اساساً نسخهٔ موبایل صفحه رو برای ایندکس می خونه. اگه تو موبایل بخشی از متن، پیوند یا داده ساختاریافته نیست که تو دسکتاپ هست، همون بخش از دید گوگل وجود نداره. با URL Inspection تو Search Console خروجی موبایل رو ببین.
سه شاخص تجربه کاربری (مهم)
LCP (سرعت نمایش بزرگ ترین عنصر)، INP (پاسخ به تعامل) و CLS (جابه جایی ناگهانی چیدمان) رو از PageSpeed Insights یا گزارش Core Web Vitals بخون. این شاخص ها به تنهایی رتبه نمی آرن، ولی سایت خیلی کند بازدیدکننده رو فراری می ده.
برای سایت ایرانی یه نکتهٔ دیگه هم هست. اگه مخاطبت ایرانیه، سرور داخل ایران معمولاً تأخیر کمتری داره، مخصوصاً وقتی اینترنت بین الملل افت می کنه. ولی اگه منابع سرور تنگ باشه، TTFB بالا می ره. علامت هاش رو تو محدودیت منابع هاست توضیح دادیم. اگه می خوای مستقیم روی کدها، عکس ها و کش کار بشه، خدمت بهینه سازی سرعت همین رو پوشش می ده.
چیزهایی که می شه بعداً سراغشون رفت
این ها بد نیستن، ولی قبل از مرحله های بالا وقت نذار:
- داده ساختاریافته (مهم):
Article،BreadcrumbListو برای فروشگاهProduct. با Rich Results Test اعتبارسنجی کن. بدون اون هم ایندکس می شی. - عنوان و توضیحات تکراری (مهم): با کراولری مثل Screaming Frog یا گزارش افزونه پیداشون کن. اولویت با صفحه های پربازدیده.
- hreflang (بعداً): فقط اگه واقعاً نسخهٔ چندزبانه داری. سایت تک زبانه فارسی بهش نیازی نداره.
- تحلیل لاگ سرور (بعداً): برای سایت بزرگ نشون می ده ربات وقتش رو سر کدوم صفحه ها تلف می کنه. برای سایت چند ده صفحه ای شاید اصلاً ارزش وقت گذاشتن نداشته باشه.
سوالات متداول
سئو فنی سایت رو هر چند وقت یک بار باید بررسی کنم؟
بعد از هر بازطراحی، انتقال سرور یا تغییر ساختار آدرس، یه بررسی کامل لازمه. بیرون از اون، گزارش ایندکس Search Console رو ماهی یک بار نگاه کن. اگه ناگهان صفحه های «ایندکس نشده» زیاد شد، همون موقع سراغش برو.
فقط با داشتن sitemap صفحه هام ایندکس می شن؟
نه. sitemap فقط یه پیشنهاده که به گوگل می گه کدوم آدرس ها مهمن. ایندکس شدن به کیفیت محتوا، پیوندهای داخلی و سیگنال های فنی هم بستگی داره. sitemap پر از آدرس ریدایرکتی یا ۴۰۴ می تونه گوگل رو گیج کنه.
دامنهٔ .ir یا بین المللی روی سئو فنی فرق داره؟
از نظر فنی، همون قواعد بالا برای هر دو صدق می کنه. دامنهٔ .ir برای مخاطب ایرانی سیگنال جغرافیایی روشنی می ده. تو دامنهٔ بین المللی، گوگل هدف جغرافیایی رو بیشتر از زبان، محتوا و پیوندها حدس می زنه. پیش از خرید، پرسش های رایج ثبت دامنه بین المللی از ایران رو هم ببین.
اگه canonical و ریدایرکت با هم تضاد داشته باشن گوگل چی کار می کنه؟
معمولاً ریدایرکت سیگنال قوی تری حساب می شه، ولی گوگل تضمین نمی ده. بهتره از اول هر دو رو به یک آدرس بدی. اگه نسخهٔ A به B ریدایرکت می شه، canonical نسخهٔ B رو هم به خودش بذار و A رو از sitemap دربیار.
قبل از مقالهٔ بعدی، با این ترتیب جلو برو
اگه فقط یه ساعت وقت داری: robots.txt و noindex، کد وضعیت صفحه های اصلی، اتصال Search Console. اگه یه روز داری: sitemap تمیز، یک نسخه از هر آدرس و canonical درست. بقیه رو (ریدایرکت زنجیره ای، سرعت، داده ساختاریافته) بذار برای هفته های بعد.
اگه نمی خوای خودت سراغ این مرحله ها بری، تیم طراحی وبسایت ما می تونه این بررسی ها رو تو تحویل پروژه هم انجام بده. فقط یادت باشه: هر صفحهٔ تازه روی پایهٔ خراب، فقط خرجه.


