این فهرست کنترل سئوی فنی موارد را به ترتیب جمع کرده است تا بررسی کنید سایتتان توسط موتورهای جستوجو پیدا و خزیده میشود، صفحات درست ایندکس میشوند و بازدیدکننده تجربه سریع و امنی دارد. بهترین محتوا هم اگر خزیده نشود یا به اشتباه از ایندکس خارج شده باشد، رتبه نمیگیرد؛ به همین دلیل پیش از کار روی محتوا باید پایه را کنترل کرد. هر مورد را طوری نوشتهایم که بتوانید با «بله / خیر» علامت بزنید.
چرا سئوی فنی اول میآید؟
موتور جستوجو در سه مرحله کار میکند: خزش (پیدا کردن و دانلود صفحه)، ایندکسگذاری (فهمیدن و ذخیره محتوا) و رتبهبندی. سئوی فنی تضمین میکند دو مرحله اول بدون مشکل انجام شوند. اگر مشکلی در این مرحله باشد، مراحل بعدی اصلاً شروع نمیشوند. پیش از شروع، مطمئن شوید Search Console نصب است؛ برای راهاندازی به راهنمای شروع Search Console ما مراجعه کنید. بیشتر کنترلهای زیر با گزارشهای همان ابزار تأیید میشوند.
برای تسریع کنترل، سه منبع رایگان کافی است: Search Console (دیدن اینکه گوگل سایت شما را چطور میبیند)، PageSpeed Insights (سرعت و Core Web Vitals) و یک ابزار خزش دسکتاپ (سایت را مانند موتور جستوجو میگردد و فهرست لینک خراب، تغییر مسیر و برچسب ناقص میدهد). برای هر مورد وضعیت «انجام شد / نیاز به اصلاح / ندارد» را در یک جدول دارای تاریخ نگه دارید تا بعد از سه ماه بتوانید مقایسه کنید.
1. کنترلهای خزش (crawl)
- صفحات مهم توسط robots.txt مسدود نشدهاند. ابزار «URL Inspection» در Search Console نشان میدهد آیا صفحهای قابل خزش است یا نه.
- صفحات با HTTP 200 پاسخ میدهند. در صفحات مهم نباید خطای 404، 500 یا soft 404 (صفحه بدون محتوا که کد 200 میدهد) وجود داشته باشد.
- تغییر مسیرها تکمرحلهای و 301 هستند. زنجیره تغییر مسیر (A → B → C) را کوتاه کنید؛ جز موارد موقت، از 302 استفاده نکنید.
- صفحات مهم با لینکهای داخلی به هم وصلاند. صفحاتی که از هیچجا لینک نمیگیرند («یتیم») ممکن است از دید خزنده دور بمانند. جزئیات را در مقاله راهبرد لینکسازی داخلی ما ببینید.
- لینکهای داخلی خراب پاک شدهاند. لینکهایی که 404 میدهند را اصلاح یا حذف کنید.
- ساختار URL تمیز است. نشانیهای کوتاه، خوانا، با حروف کوچک و بدون پارامتر اضافی ترجیح دارند؛ صدها نسخه پارامتری از یک محتوا تولید نکنید.
- در لاگ سرور خطای Googlebot نیست. در سایتهای بزرگ، پاسخهای مکرر 5xx به درخواستهای ربات باعث کاهش خزش میشوند.
2. کنترلهای ایندکسگذاری
- گزارش Pages در Search Console بررسی شده است. دلیلهای «ایندکس نشده» (مثلاً «Crawled - currently not indexed»، «Alternate page with proper canonical tag»، «Excluded by noindex tag») را یکبهیک بخوانید.
- در صفحات مهم noindex وجود ندارد. برچسب
<meta name="robots" content="noindex">که در زمان توسعه اضافه و فراموش شده، خطای رایجی است. - صفحات بیارزش عمداً کنار گذاشته شدهاند. برای صفحات تشکر، سبد خرید، فیلتر و جستوجوی داخلی، noindex را در نظر بگیرید.
- محتوای نازک (thin) بازبینی شده است. صفحات چند جملهای و تکراری را ادغام کنید یا بهبود دهید.
- جستوجوی سایت انجام شده است. در گوگل عبارت
site:alanadiniz.comرا بنویسید و تعداد تقریبی صفحات ایندکسشده را با تعداد واقعی مقایسه کنید.
3. canonical و محتوای تکراری
برچسب canonical (<link rel="canonical" href="...">) راهی است برای گفتن «نسخه اصلی این است»
وقتی یک محتوا یا محتوای بسیار مشابه در چند نشانی وجود دارد.
- هر صفحه خودش را canonical معرفی میکند (self-referencing) یا عمداً به نسخه اصلی اشاره میکند.
- canonical از نشانی مطلق (https://...) استفاده میکند و به نشانیای که تغییر مسیر یا 404 دارد اشاره نمیکند.
- تفاوتهای www / بدون www، http / https و اسلش انتهایی با 301 به یک نسخه هدایت شدهاند.
- پارامترهای فیلتر و مرتبسازی به صفحه اصلی دسته canonical دادهاند.
- canonical و noindex با هم به کار نرفتهاند. دو سیگنال متضاد هستند.
نکته: canonical یک راهنمایی است، نه فرمان. گوگل ممکن است با سیگنالهای متناقض (لینک داخلی، نقشه سایت، تغییر مسیر) نشانی دیگری را انتخاب کند. به همین دلیل لینک داخلی، نقشه سایت و canonical باید همان نشانی را نشان دهند.
نمونه معمول خطای canonical این است: در یک سایت فروشگاهی، صفحه دستهای با پارامتر «?sort=price» خودش را canonical معرفی میکند. در نتیجه فهرست یکسان محصولات در دهها نشانی ایندکس میشود و صفحات با هم رقابت میکنند. راهحل این است که canonical همه نسخههای پارامتری به نشانی تمیز دسته داده شود.
4. hreflang و ساختار چندزبانه
اگر برای چند زبان یا منطقه صفحه دارید، hreflang به گوگل میگوید کدام نسخه برای کدام کاربر نمایش داده شود.
- هر نسخه زبانی بقیه را فهرست میکند (تأیید متقابل). اگر صفحه A به B اشاره میکند، B هم باید به A اشاره کند.
- نسخه زبانی خودش را هم شامل میشود (self-reference).
- کدهای زبان و منطقه درستاند: مانند
fa،en،en-gb؛ بهجایfa-irاغلبfaکافی است. - نشانیهای هدف 200 میدهند و با canonical تناقض ندارند.
x-defaultتعریف شده است: برای انتخاب زبان یا صفحه پیشفرض.- هر زبان واقعاً ترجمه شده است. صفحات ترجمهنشده را بهعنوان زبان دیگر علامت نزنید.
5. نقشه سایت و robots.txt
| فایل | مواردی که باید کنترل شوند |
|---|---|
| sitemap.xml | فقط شامل نشانیهایی باشد که 200 میدهند، میخواهید ایندکس شوند و نشانیهای canonical هستند؛ در Search Console ارسال شده است؛ هر فایل از 50,000 نشانی یا 50 مگابایت بیشتر نیست؛ lastmod تاریخ واقعی بهروزرسانی را نشان دهد. |
| robots.txt | در ریشه دامنه (/robots.txt) باشد؛ پوشههای حیاتی را جز بخشهای مدیریت و موقت مسدود نکند؛ فایلهای CSS/JS را مسدود نکند؛ نشانی نقشه سایت را با خط Sitemap: معرفی کند. |
تفاوت مهم: robots.txt خزش را مسدود میکند اما صفحه را از ایندکس خارج نمیکند. اگر میخواهید صفحهای
در نتایج دیده نشود، از noindex استفاده کنید و آن را همزمان در robots.txt مسدود نکنید؛ در غیر این صورت گوگل اصلاً
برچسب noindex را نمیبیند.
6. سرعت، موبایل و امنیت
- Core Web Vitals بررسی شده است. هدفها: LCP ≤ 2.5 ثانیه، INP ≤ 200 میلیثانیه، CLS ≤ 0.1. برای جزئیات راهنمای Core Web Vitals ما را ببینید؛ برای سنجش میتوانید از PageSpeed Insights استفاده کنید.
- تصاویر فشرده شدهاند (WebP/AVIF)، ابعادشان مشخص است و تصاویر پایین صفحه با تأخیر بارگذاری میشوند.
- زمان پاسخ سرور (TTFB) کوتاه و کش فعال است.
- سازگاری با موبایل: طراحی واکنشگرا، برچسب
viewport، فاصله کافی بین عناصر قابل کلیک، و محتوای موبایل مشابه دسکتاپ. - کل سایت HTTPS است. گواهی معتبر است، محتوای مخلوط (mixed content) وجود ندارد و نشانیهای http با 301 به https هدایت میشوند.
- هدرهای امنیتی و زیرساخت بهروز: نسخه جاری PHP/CMS و اسکن بدافزار.
- برچسبهای پایه صفحه کامل است: هر صفحه title و description مخصوص خودش و یک H1 دارد. نکات نگارش را در راهنمای نوشتن متا تایتل و توضیحات ببینید.
7. داده ساختاریافته
داده ساختاریافته (علامتگذاری schema.org) وظیفه صفحه را برای ماشینها روشن توصیف میکند و امکان نمایش در نتایج غنی (ستاره، سؤالات متداول، قیمت، دستور پخت و غیره) را فراهم میکند. گوگل قالب JSON-LD را پیشنهاد میکند.
- نوعهای مناسب بهکار رفتهاند: در سایتهای شرکتی
Organization، در نوشتههاArticle، در محصولاتProduct، در کسبوکارهای محلیLocalBusinessو برای نشان دادن مسیرBreadcrumbList. - علامتگذاری کاملاً با محتوای قابلمشاهده در صفحه همخوان است. افزودن اطلاعات نادیدنی یا جعلی ریسک اقدام دستی دارد.
- اعتبارسنجی انجام شده است: «Rich Results Test» گوگل و گزارش «Enhancements» در Search Console خطاها و هشدارها را نشان میدهند.
- الزامات بهروز بررسی شدهاند: اینکه کدام نوعها نتیجه غنی میدهند با گذر زمان تغییر میکند؛ فهرست بهروز را از Google Search Central دنبال کنید.
ترتیب اولویت: همه را همزمان درست کردن را امتحان نکنید. اول به مشکلات «بازدارنده» نگاه کنید: امکان خزش صفحات، noindex اشتباه، خطاهای robots.txt و 5xx. بعد نوبت پاکسازی canonical و تغییر مسیرها است و سپس سرعت و داده ساختاریافته.
محتوای ساختهشده با JavaScript
در سایتهایی که با فریمورکهایی مانند React یا Vue ساخته شدهاند، محتوا در مرورگر ساخته میشود. گوگل میتواند JavaScript را اجرا کند، اما این کار در صفی جداگانه انجام میشود، ممکن است دیر شود و خطا بدهد.
- محتوای مهم در پاسخ اولیه HTML هست؟ با «URL Inspection → Test live URL → View tested page» در Search Console، نسخهای را که گوگل میبیند با نسخه موردنظر مقایسه کنید.
- لینکها واقعی و از نوع
<a href>هستند؟ دکمههایی که فقط با رویداد کلیک جابهجا میشوند ممکن است خزیده نشوند. - title، description و canonical در سمت سرور نوشته میشوند؟ در صورت امکان از رندر سمت سرور (SSR) یا تولید از پیش (prerender) استفاده کنید.
- بهجای اسکرول بیپایان، لینکهای صفحهبندی وجود دارند؟ در غیر این صورت محتوای عمیقتر ممکن است کشف نشود.
مشکلات رایج و راهحلها
| نشانه | علت احتمالی | راهحل |
|---|---|---|
| صفحه جدید هفتهها ایندکس نمیشود | لینک داخلی ندارد، در نقشه سایت نیست، کیفیتش پایین است | لینک داخلی اضافه کنید، به نقشه سایت ببرید، از URL Inspection درخواست ایندکس بدهید، محتوا را تقویت کنید |
| هشدار «Alternate page with proper canonical» زیاد است | نشانیهای پارامتری یا کپی | canonical و نشانیهای نقشه سایت را هماهنگ کنید |
| ترافیک ناگهان افت کرده | noindex اشتباهی، مسدودسازی robots.txt، تغییر قالب | کد منبع و robots.txt صفحه زنده را بررسی کنید، تاریخ خطا را در Search Console پیدا کنید |
| محتوای موبایل و دسکتاپ متفاوت است | بخشهای پنهان، سایت موبایلی جدا | محتوای موبایل را کامل نگه دارید؛ گوگل نسخه موبایل را مبنا میگیرد |
| نتیجه غنی نمایش داده نمیشود | علامتگذاری خطادار یا ناسازگار با محتوا | در Rich Results Test تأیید کنید و با محتوای قابلمشاهده تطبیق دهید |
چه مدت یکبار باید کنترل کرد؟
| بازه | کنترل |
|---|---|
| هفتگی | خطاهای خزش و اعلانهای امنیتی یا اقدام دستی در Search Console |
| ماهانه | تعداد صفحات ایندکسشده، وضعیت Core Web Vitals، گزارش 404 و تغییر مسیر |
| هر 3 ماه | خزش کامل سایت، صفحات یتیم، یکدستی نقشه سایت و canonical، hreflang |
| پس از تغییر بزرگ | با تغییر قالب، دامنه، CMS یا ساختار URL کل فهرست از اول |
نتیجهگیری
هدف سئوی فنی برداشتن موانع جلوی محتوای شماست: صفحاتتان خزیده شوند، با نشانی درست ایندکس شوند، سریع باز شوند و بهروشنی علامتگذاری شوند. هفت بخش بالا را در یک صفحه گسترده بگذارید و سایتتان را به ترتیب بخزید؛ در نیمی از یک روز کاری جدولی کامل خواهید داشت. پس از رفع مشکلات، نوبت کار روی محتوا و دیدهشدن میرسد؛ برای این بخش میتوانید مقاله روشهای افزایش ترافیک ارگانیک ما را دنبال کنید.
وقتی مطمئن شدید پایه فنی سایت آماده است، برای تقویت دیدهشدن در نتایج جستوجو میتوانید رویکرد organik hit را هم بررسی کنید. رتبهبندی همچنان با الگوریتمهای گوگل است؛ HitBot جای این تصمیمها را نمیگیرد و فقط ابزاری کنار کار شماست.