آموزش سئو تکنیکال Technical SEO از صفر تا صد

سئو تکنیکال یا Technical SEO مجموعه اقداماتی است که کمک می‌کند موتور جستجو بتواند URLهای درست سایت را پیدا کند، به آن‌ها دسترسی داشته باشد، محتوای واقعی صفحه را پردازش و رندر کند، نسخه مناسب را برای ایندکس انتخاب کند و بدون مانع فنی آن را در نتایج جستجو به کار بگیرد. بنابراین Technical SEO فقط «ساخت Sitemap»، «ویرایش robots.txt» یا «بالا بردن سرعت» نیست؛ این حوزه در اصل درباره سلامت مسیر فنی میان سایت و موتور جستجو است.اگر صفحه‌ای محتوای عالی داشته باشد اما Googlebot نتواند آن را Crawl کند، JavaScript محتوای اصلی را به‌درستی Render نکند، Canonical به URL دیگری اشاره کند یا Server مرتب خطای 5xx بدهد، کیفیت متن به‌تنهایی مشکل را حل نمی‌کند. برعکس، اگر صفحه از نظر فنی سالم و ایندکس‌پذیر باشد اما پاسخ مناسبی به Search Intent ندهد، Technical SEO نمی‌تواند رتبه خوب را تضمین کند.در این آموزش Technical SEO از صفر تا صد، ابتدا مدل ذهنی Crawl، Render، Index و Serving را می‌سازیم و سپس سراغ معماری سایت، robots.txt، noindex، Sitemap، Canonical، Redirect، Status Code، JavaScript SEO، Core Web Vitals، Mobile-first Indexing، Structured Data و ابزارهای تشخیص می‌رویم. در پایان نیز یک Workflow عملی برای Technical SEO Audit، اولویت‌بندی خطاها و بررسی نتیجه پس از اصلاح خواهید داشت.
جدول مطالب

سئو تکنیکال چیست؟

Technical SEO بخشی از بهینه‌سازی موتور جستجو است که روی قابلیت دسترسی، پردازش و فهم فنی سایت توسط Crawlerها و Search Engineها تمرکز دارد. هدف اصلی آن این است که مانع فنی غیرضروری بین محتوای ارزشمند و موتور جستجو وجود نداشته باشد.

یک تعریف عملی‌تر این است: Technical SEO بررسی می‌کند آیا موتور جستجو می‌تواند URL درست را کشف کند، آن را با پاسخ Server مناسب دریافت کند، منابع لازم را ببیند، محتوای صفحه را Render کند، دستورهای Indexing را بفهمد و نسخه درست را به‌عنوان Canonical انتخاب کند یا نه. اگر پاسخ یکی از این مراحل منفی باشد، باید قبل از هر اقدام تصادفی مشخص کنیم مشکل دقیقاً در کدام لایه قرار دارد.

چه چیزی Technical SEO نیست؟

Technical SEO با On-Page SEO، Content SEO و Off-Page SEO ارتباط نزدیک دارد، اما جای آن‌ها را نمی‌گیرد. انتخاب Keyword، پاسخ به Search Intent، کیفیت محتوا، ساختار معنایی متن، Backlink و اعتبار موضوعی بخش‌های دیگری از SEO هستند. در مقاله آموزش SEO از صفر تا صد تصویر کلی این حوزه را می‌بینید؛ مقاله فعلی فقط مالک لایه فنی آن است.

اینفوگرافیک سئو تکنیکال و مراحل کشف URL، پاسخ سرور، دسترسی منابع، رندر صفحه، دستورهای ایندکس و انتخاب Canonical توسط موتور جستجو
سئو تکنیکال مسیر دسترسی موتور جستجو به سایت را از Crawl و پاسخ سرور تا Render، Indexing و تشخیص Canonical صحیح بررسی می‌کند.

برای مثال، پایین بودن رتبه یک صفحه الزاماً Technical Problem نیست. اگر URL با پاسخ 200 قابل Crawl است، Render درست انجام می‌شود، noindex ندارد، Canonical صحیح است و صفحه در Index حضور دارد، ممکن است مسئله اصلی Content Quality، Search Intent یا رقابت باشد. یکی از مهم‌ترین مهارت‌های Technical SEO همین است که مشکل فنی را از مشکل غیر فنی جدا کند.

پیش‌نیازهای یادگیری

برای شروع Technical SEO لازم نیست Developer حرفه‌ای باشید، اما چند مفهوم پایه سرعت یادگیری را بسیار بیشتر می‌کند. باید بدانید URL چیست، Browser و Server چگونه با HTTP ارتباط می‌گیرند، HTML چه نقشی دارد و تفاوت Source Page با چیزی که پس از اجرای JavaScript روی صفحه دیده می‌شود چیست. آشنایی مقدماتی با WordPress، Hosting و DNS نیز برای تشخیص مشکلات واقعی مفید است.

اگر این مفاهیم را هنوز عمیق نمی‌دانید، لازم نیست مطالعه مقاله را متوقف کنید. هرجا اصطلاحی مثل HTTP Status، Header، DOM یا Canonical استفاده می‌شود، هدف آن در همان Context توضیح داده خواهد شد. مسیر یادگیری مناسب از شناخت Crawl و Index شروع می‌شود و بعد به JavaScript، Log Analysis و معماری‌های بزرگ می‌رسد؛ برعکس شروع کردن از ابزارهای پیشرفته معمولاً فقط تعداد Warningهای نامفهوم را بیشتر می‌کند.

مسیر یادگیری

یک Skill Graph ساده برای این حوزه چنین است: ابتدا HTML و HTTP را در حد خواندن Source و Response بشناسید؛ سپس Discovery، Crawl و Indexing را یاد بگیرید؛ بعد robots، Sitemap، Canonical و Redirect را تمرین کنید؛ در مرحله بعد JavaScript Rendering و Performance را اضافه کنید؛ و در نهایت سراغ Audit، Server Log و مسائل Enterprise بروید. این ترتیب باعث می‌شود هر مفهوم جدید روی پایه قبلی سوار شود و Technical SEO به مجموعه‌ای از اصطلاحات جدا از هم تبدیل نشود.

گوگل سایت را چگونه می‌بیند؟

برای فهم Technical SEO لازم نیست الگوریتم Google را حدس بزنیم؛ کافی است Pipeline پایه را درست بفهمیم. از دید عملی، یک URL باید کشف شود، Crawl شود، در صورت نیاز Render شود، شرایط Indexing را داشته باشد، در کنار URLهای مشابه Canonicalize شود و در نهایت امکان Serving در نتایج را پیدا کند.

اینفوگرافیک سئو تکنیکال مسیر پردازش URL در گوگل را از Discovery و Crawl تا Render، Index، Canonical و نمایش در نتایج جستجو نشان می‌دهد.
چرخه پردازش URL در گوگل شامل کشف، خزش، رندر، ایندکس و انتخاب Canonical است و در نهایت صفحه برای Query مناسب نمایش داده می‌شود.
مرحلهوظیفهمشکل رایج
Discoveryپیدا کردن URLصفحه یتیم یا لینک‌سازی ضعیف
Crawlدریافت URL و منابعrobots.txt، خطای Server یا Loop
Renderساخت محتوای قابل مشاهدهJavaScript یا Resource مسدود
Indexپردازش و ذخیره اطلاعاتnoindex، کیفیت پایین یا Duplicate
Canonicalانتخاب نسخه نمایندهSignalهای متناقض
Serveنمایش برای Query مناسبIntent، کیفیت یا رقابت

کشف و خزش

موتور جستجو باید ابتدا از وجود URL مطلع شود. Internal Linkها، Sitemap و Redirectها از مسیرهای مهم کشف URL هستند. اگر صفحه‌ای هیچ لینک داخلی قابل Crawl نداشته باشد و در Sitemap هم نباشد، به یک Orphan Page نزدیک می‌شود؛ یعنی صفحه‌ای که در معماری عملی سایت جای مشخصی ندارد.

Crawl به معنی دریافت URL است، نه ایندکس شدن آن. Googlebot ممکن است یک URL را بارها Crawl کند اما آن صفحه هرگز در Index باقی نماند. همین تفاوت پایه باعث می‌شود عبارت «Google صفحه را دیده، پس چرا ایندکس نشده؟» پاسخ ساده‌ای نداشته باشد.

رندر صفحه

در سایت‌های ساده، HTML اولیه ممکن است تقریباً تمام محتوای مهم را داشته باشد. در سایت‌های JavaScript-heavy بخشی از محتوا، لینک‌ها یا Metadata پس از اجرای JavaScript ساخته می‌شود. در چنین شرایطی Fetch موفق کافی نیست؛ باید بررسی شود خروجی Render شده واقعاً شامل محتوای اصلی، Linkهای مهم، Canonical و عناصر مورد انتظار هست یا نه.

برای تشخیص، Source HTML و Rendered DOM را با هم مقایسه کنید. اگر محتوای حیاتی فقط پس از Interaction کاربر مثل کلیک یا Scroll خاص ظاهر می‌شود، باید مطمئن شوید Crawler بدون آن Interaction نیز بتواند به محتوا دسترسی پیدا کند.

ایندکس و نمایش

Indexing مرحله‌ای است که موتور جستجو محتوا و Signalهای صفحه را پردازش می‌کند. حتی اگر Crawl و Render بدون خطا باشند، وجود noindex، Duplicate بودن محتوا، Canonicalization یا ارزیابی‌های دیگر می‌تواند باعث شود URL موردنظر شما در Index انتخاب نشود.

همچنین Indexed بودن با Ranking یکی نیست. Index یعنی URL امکان حضور در Search را دارد؛ Ranking یعنی برای Query مشخص چقدر مناسب و رقابتی تشخیص داده می‌شود. این مرزبندی جلوی بسیاری از Fixهای اشتباه را می‌گیرد.

معماری سایت و URL

یک Site Architecture خوب فقط برای کاربر زیبا نیست؛ مسیرهای Crawl و رابطه صفحات را نیز روشن می‌کند. صفحه مهم باید از بخش‌های منطقی سایت Link دریافت کند و برای رسیدن به آن وابسته به Search داخلی، JavaScript پیچیده یا URL مخفی نباشد.

مسیر خزش

برای صفحات مهم یک مسیر Internal Link قابل پیش‌بینی بسازید: Home یا Category → Pillar → Cluster → Article. این ساختار به موتور جستجو کمک می‌کند اهمیت نسبی صفحات و رابطه موضوعی آن‌ها را بهتر بفهمد. در DJH نیز معماری محتوا بر مبنای Pillar → Cluster → Article → Related Articles طراحی می‌شود.

Depth نیز باید با اهمیت صفحه تناسب داشته باشد. قانون جادویی «همه صفحات باید حداکثر سه کلیک از Home فاصله داشته باشند» وجود ندارد، اما اگر صفحه‌ای برای کسب‌وکار حیاتی است و فقط از مسیر پنج Filter، یک Pagination عمیق یا Search داخلی پیدا می‌شود، معماری آن نیاز به بازنگری دارد. مهم‌تر از عدد ثابت این است که Crawler بتواند از لینک‌های HTML واقعی و معنی‌دار به صفحه برسد.

Anchor Text داخلی نیز بخشی از معماری است. لینک «آموزش Google Search Console» هم برای کاربر و هم برای موتور جستجو Context بیشتری از «اینجا کلیک کنید» می‌دهد. با این حال Anchor را برای Keyword exact-match به شکل مصنوعی تکرار نکنید؛ طبیعی بودن و ارتباط واقعی صفحه مبدا و مقصد مهم‌تر است.

لینک‌های داخلی باید به URL نهایی اشاره کنند، نه URLی که ابتدا 301 یا 302 می‌شود. اگر هزاران Link داخلی ابتدا وارد Redirect شوند، هم تجربه کاربر و هم Crawl Efficiency ضعیف‌تر می‌شود. بعد از Migration یا تغییر Slug، Internal Linkهای مهم را به مقصد نهایی Update کنید.

صفحات یتیم

Orphan Page ممکن است در Sitemap باشد و حتی Index شود، اما از نظر معماری سایت اتصال طبیعی ندارد. برای صفحات ارزشمند، حضور در Sitemap جای Internal Link را نمی‌گیرد. اگر مقاله‌ای واقعاً مهم است، باید از صفحات مرتبط و Parent مناسب به آن Link داده شود.

در Audit، فهرست URLهای Crawl‌شده را با Sitemap، Analytics یا Database مقایسه کنید. URLهایی که در Data Source وجود دارند اما Crawler داخلی آن‌ها را پیدا نمی‌کند، Candidateهای خوبی برای بررسی Orphan بودن هستند.

ساختار URL

URL کوتاه و توصیفی مزیت مدیریتی و خوانایی دارد، اما نباید برای زیبایی ظاهری، Migration پرریسک ایجاد کنید. تغییر URL قدیمی و تثبیت‌شده فقط وقتی منطقی است که Benefit روشن داشته باشد و Redirect Mapping، Canonical، Sitemap و Internal Linkها هم‌زمان مدیریت شوند.

از تولید بی‌نهایت Variant برای Sort، Filter، Session، Tracking و Parameterهای کم‌ارزش جلوگیری کنید. Faceted Navigation در فروشگاه‌ها می‌تواند میلیون‌ها ترکیب URL ایجاد کند؛ اینجا مسئله فقط Duplicate Content نیست، بلکه Crawl Space نیز ممکن است بی‌دلیل بزرگ شود.

کنترل خزش

کنترل Crawl به معنی بستن هر URL کم‌ارزش نیست. قبل از اعمال Rule باید بدانید آیا هدف شما جلوگیری از Crawl، جلوگیری از Index، کاهش URLهای تکراری یا مدیریت منابع Server است؛ ابزار مناسب برای هرکدام متفاوت است.

فایل robots.txt

فایل robots.txt در Root سایت قرار می‌گیرد و به Crawlerهای سازگار می‌گوید کدام مسیرها را Crawl نکنند. یک نمونه بسیار ساده می‌تواند چنین باشد:

User-agent: *
Disallow: /private/
Allow: /

این Rule فقط Crawl مسیر مشخص‌شده را محدود می‌کند. robots.txt ابزار مطمئنی برای حذف URL از Search نیست. اگر URL از جای دیگری Link داشته باشد، ممکن است موتور جستجو از وجود آن مطلع باشد ولی نتواند محتوای داخلش را ببیند.

همچنین فایل‌های CSS و JavaScript لازم برای Render را بدون دلیل Block نکنید. اگر موتور جستجو برای درک Layout یا Content به Resource نیاز دارد، مسدود کردن آن می‌تواند Diagnosis را پیچیده کند.

بودجه خزش

Crawl Budget برای همه سایت‌ها مسئله روزانه نیست. اگر سایت چند صد یا چند هزار URL سالم دارد، Server پاسخ‌گو است و URL Explosion ندارید، معمولاً مشکل اصلی شما «بودجه خزش» نیست. این مفهوم برای سایت‌های بسیار بزرگ، بسیار پویا یا سایت‌هایی با حجم عظیم URLهای کم‌ارزش اهمیت بیشتری پیدا می‌کند.

به‌جای وسواس روی Crawl Budget، ابتدا علت‌های قابل‌کنترل را بررسی کنید: لینک‌های شکسته، URL Parameterهای بی‌نهایت، Calendarهای بدون انتها، Filterهای تکراری، Redirect Chain، 5xx، Slow Server و Sitemap آلوده به URLهای نامعتبر.

URLهای اضافی

اگر سیستم Faceted Navigation یا Search داخلی URLهای زیادی تولید می‌کند، قبل از Block کردن کورکورانه باید مشخص شود کدام Combination واقعاً Landing Page ارزشمند است. بعضی Filterها ممکن است Search Intent واقعی داشته باشند و برخی دیگر فقط Crawl Trap باشند. تصمیم باید مبتنی بر ارزش صفحه و معماری Indexing باشد.

کنترل ایندکس

سه ابزار بسیار رایج در Technical SEO—robots.txt، noindex و Canonical—کار یکسانی انجام نمی‌دهند. Sitemap نیز نقش چهارمی دارد. بسیاری از مشکلات Indexing از زمانی شروع می‌شوند که این ابزارها به‌جای هم استفاده شوند یا Signalهای متناقض ایجاد کنند.

ابزارکنترل اصلیکاربرد
robots.txtCrawlمحدود کردن دسترسی Crawler
noindexIndexحذف صفحه قابل Crawl از نتایج
Canonicalنسخه ترجیحیConsolidation URLهای مشابه
SitemapDiscoveryمعرفی URLهای ترجیحی

noindex و X-Robots

برای صفحه HTML می‌توان از meta robots استفاده کرد:

<meta name="robots" content="noindex,follow">

برای فایل‌ها یا پاسخ‌هایی که Meta HTML ندارند، `X-Robots-Tag` در HTTP Header قابل استفاده است. نکته حیاتی این است که Crawler باید بتواند صفحه را Crawl کند تا noindex را ببیند. ترکیب «Disallow در robots.txt + noindex داخل صفحه» ممکن است نتیجه مورد انتظار شما را ندهد، چون Crawler اصلاً به دستور noindex دسترسی پیدا نمی‌کند.

نقشه سایت XML

XML Sitemap فهرستی از URLهایی است که می‌خواهید موتور جستجو آن‌ها را به‌عنوان صفحات مطلوب سایت بشناسد. Sitemap برای Discovery مفید است، اما ایندکس را تضمین نمی‌کند. URL موجود در Sitemap باید در حالت ایده‌آل پاسخ 200، محتوای قابل Index و Canonical سازگار داشته باشد.

یکی از خطاهای رایج این است که Sitemap شامل URLهای Redirect، 404، noindex یا Canonical به صفحات دیگر باشد. در چنین حالتی شما به موتور جستجو Signalهای متناقض می‌دهید: از یک طرف URL را در Sitemap به‌عنوان Preferred معرفی می‌کنید و از طرف دیگر می‌گویید آن URL نهایی نیست.

Canonical

Canonicalization زمانی مهم می‌شود که محتوای یکسان یا بسیار مشابه از چند URL قابل دسترسی باشد. تگ Canonical ترجیح شما را اعلام می‌کند:

<link rel="canonical" href="https://example.com/preferred-page">

اما Canonical یک دستور مطلق نیست. موتور جستجو Signalهای مختلف را کنار هم می‌گذارد و ممکن است URL دیگری را Representative انتخاب کند. Redirect دائم و `rel=”canonical”` Signalهای مهمی هستند و حضور URL در Sitemap نیز کمک می‌کند، اما Signalهای متناقض تصمیم را پیچیده می‌کنند.

برای هر URL مهم این سؤال را بپرسید: آیا Internal Link، Sitemap، Canonical، Redirect و نسخه HTTPS همگی به یک مقصد اشاره می‌کنند؟ هرچه پاسخ این سؤال روشن‌تر باشد، Canonicalization قابل پیش‌بینی‌تر خواهد بود.

اگر با وضعیت‌هایی مثل Duplicate، Crawled – currently not indexed یا Canonical غیرمنتظره مواجه هستید، راهنمای علت ایندکس نشدن سایت در گوگل برای Troubleshooting عمیق‌تر این مرحله مناسب‌تر است.

Status Code و Redirect

HTTP Status Code اولین پاسخ فنی Server به درخواست Crawler است. اگر Status اشتباه باشد، حتی محتوای صحیح نیز می‌تواند Signal نامناسبی تولید کند. به همین دلیل Technical Audit باید Response واقعی Server را بررسی کند، نه فقط چیزی که Browser ظاهراً نمایش می‌دهد.

اینفوگرافیک سئو تکنیکال درباره HTTP Status Code و Redirect شامل کدهای 200، 301، 302، 404 و 5xx و تأثیر پاسخ سرور بر SEO
بررسی Status Code واقعی سرور در Technical SEO مشخص می‌کند URL باید پاسخ موفق، ریدایرکت دائم یا موقت، وضعیت حذف محتوا یا خطای Server داشته باشد.
Statusمعنیتصمیم SEO
200درخواست موفقبرای URL نهایی عادی
301 / 308Redirect دائمبرای انتقال پایدار URL
302 / 307Redirect موقتوقتی تغییر واقعاً موقتی است
404 / 410محتوا در دسترس نیستبرای URL حذف‌شده معتبر
5xxمشکل Serverنیازمند تشخیص فوری در حجم بالا

Redirect دائم و موقت

وقتی URL برای همیشه عوض شده، Redirect دائم انتخاب طبیعی است. در Migrationها بهتر است هر URL قدیمی مستقیماً به نزدیک‌ترین مقصد جدید خودش برود؛ هدایت صدها URL متفاوت به Home نه تجربه خوبی می‌سازد و نه Mapping معنایی دقیقی ایجاد می‌کند.

Redirect موقت برای سناریویی است که واقعاً انتظار دارید URL اصلی برگردد. انتخاب Status نباید صرفاً بر اساس عادت Plugin یا Server باشد؛ Intent انتقال باید مشخص باشد.

خطاهای 4xx و 5xx

404 همیشه «خطای SEO» نیست. اگر صفحه‌ای واقعاً حذف شده و جایگزین ندارد، 404 یا 410 می‌تواند رفتار صحیح باشد. مشکل زمانی ایجاد می‌شود که URL مهم به اشتباه 404 شود، Navigation هنوز به آن Link دهد یا Sitemap آن را معرفی کند.

5xx در مقیاس گسترده حساس‌تر است، چون نشان می‌دهد Server نتوانسته درخواست را درست پاسخ دهد. Spike خطاهای 5xx، Timeout یا DNS/Network Failure باید با Server Logs، Monitoring و Crawl Stats بررسی شود.

Chain و Loop

Redirect Chain زمانی است که A به B، B به C و C به D می‌رود. ممکن است Browser در نهایت مقصد را باز کند، اما این مسیر اضافه برای User و Crawler بی‌دلیل است. لینک‌های داخلی و Mapping را تا حد ممکن مستقیماً به URL نهایی ببرید.

Redirect Loop بدتر است؛ A به B و B دوباره به A یا چرخه بزرگ‌تری برمی‌گردد. این وضعیت باید در سطح Server، CDN، WordPress، HTTPS enforcement و Redirect Plugin بررسی شود.

در WordPress معمولاً چند لایه می‌توانند هم‌زمان Redirect ایجاد کنند: خود WordPress، افزونه SEO، افزونه Redirect، Cache/CDN و Web Server. اگر Loop یا مقصد غیرمنتظره دارید، Ruleها را از بیرونی‌ترین لایه به داخل بررسی کنید و فقط یک Source of Truth برای هر Redirect نگه دارید. اضافه کردن یک Rule جدید روی Rule اشتباه قبلی معمولاً مشکل را پیچیده‌تر می‌کند.

در Site Migration بهتر است قبل از انتشار، Mapping قدیم → جدید آماده باشد. سپس Redirect، Internal Link، Canonical و Sitemap هم‌زمان به ساختار جدید اشاره کنند. اگر فقط Redirect را پیاده کنید ولی Site Map و لینک‌های داخلی ماه‌ها URL قدیمی را تبلیغ کنند، موتور جستجو Signalهای سازگار کمتری دریافت می‌کند.

JavaScript SEO

Google می‌تواند JavaScript را پردازش کند، اما این واقعیت به معنی «هر معماری JavaScript همیشه بدون مشکل ایندکس می‌شود» نیست. Technical SEO در سایت‌های Client-side باید ببیند چه چیزی در HTML اولیه وجود دارد، چه چیزی پس از Render ساخته می‌شود و آیا محتوای اصلی بدون Interaction خاص قابل مشاهده است.

HTML و DOM رندرشده

برای یک URL مهم سه لایه را از هم جدا کنید: Response Server، Source HTML و Rendered DOM. اگر Title، Main Content، Internal Links یا Canonical در یکی از این لایه‌ها تغییر می‌کنند، باید مطمئن شوید خروجی نهایی برای Crawler قابل دسترسی و پایدار است.

اگر Application فقط یک Shell خالی در HTML می‌فرستد و تمام محتوا بعداً از API می‌آید، Error در API، Timeout، blocked resource یا hydration مشکل‌دار می‌تواند باعث شود موتور جستجو محتوایی متفاوت از کاربر ببیند. برای صفحات Search-critical، SSR، Static Rendering یا روش‌های Hybrid می‌توانند Robustness بیشتری ایجاد کنند، اما انتخاب معماری باید با نیاز واقعی Product هماهنگ باشد.

در Audit یک SPA یا سایت React/Vue/Angular، صرفاً دیدن صفحه در Browser معمولی کافی نیست. JavaScript فعال، Cache گرم و Session کاربر ممکن است مشکلی را پنهان کنند. URL را در حالت Incognito، با Network throttling و در ابزارهای Rendering بررسی کنید و ببینید آیا Linkهای داخلی به شکل واقعی قابل Crawl تولید می‌شوند یا فقط با Event handler کار می‌کنند.

همچنین Metadata پویا را فراموش نکنید. Title، meta robots، canonical و Structured Data اگر پس از JavaScript تغییر می‌کنند، باید در خروجی Render نهایی پایدار باشند. دو نسخه متناقض—یکی در HTML اولیه و دیگری بعد از Render—Diagnosis را دشوار می‌کند و بهتر است تا حد امکان Signalهای حیاتی از ابتدا سازگار باشند.

Lazy Loading

Lazy Loading برای Performance مفید است، ولی محتوای مهم نباید فقط پس از Eventهایی بارگذاری شود که Crawler الزاماً انجام نمی‌دهد. Image یا Content باید بر اساس شرایط قابل تشخیص مثل Viewport و بدون نیاز به کلیک دستی کاربر قابل Load باشد.

تست Rendering

برای Diagnosis، خروجی Live URL و Crawled Page را در URL Inspection بررسی کنید و در کنار آن Browser DevTools را به کار بگیرید. اگر محتوای مورد انتظار در Rendered HTML دیده نمی‌شود، قبل از دستکاری Canonical یا Sitemap ابتدا مشکل Rendering را حل کنید.

عملکرد و تجربه صفحه

Performance یکی از اجزای Technical SEO است، نه کل آن. سایتی می‌تواند امتیاز Lighthouse خوبی داشته باشد ولی robots.txt اشتباه، Canonical متناقض یا Indexing Problem داشته باشد. به همین دلیل Performance باید بعد از اطمینان از Accessibility و Indexability در Context درست ارزیابی شود.

LCP، INP و CLS

Core Web Vitals فعلی سه Metric اصلی دارد: LCP برای سرعت نمایش محتوای اصلی، INP برای Responsiveness تعامل و CLS برای پایداری بصری. برای محدوده Good، هدف‌های مرجع عبارت‌اند از LCP حداکثر 2.5 ثانیه، INP حداکثر 200 میلی‌ثانیه و CLS حداکثر 0.1 در صدک 75 تجربه کاربران.

این Thresholdها هدف‌های مفیدی هستند، اما نباید Metric chasing جای تشخیص واقعی را بگیرد. مثلاً یک LCP ضعیف می‌تواند از TTFB، Image Hero سنگین، CSS blocking، Font یا Rendering strategy ناشی شود. Fix باید Root Cause را هدف بگیرد.

Field و Lab Data

Lab Data برای Debug و تکرار تست بسیار مفید است؛ Field Data تجربه کاربران واقعی را نشان می‌دهد. اختلاف میان این دو طبیعی است. اگر Lab خوب ولی Field ضعیف است، Device، Network، Geography، Cache و Traffic distribution کاربران واقعی را بررسی کنید.

برای جزئیات بیشتر درباره این سه Metric و اثرشان روی تجربه و SEO، مقاله Core Web Vitals و SEO را بخوانید؛ در این Pillar فقط نقش آن‌ها در Technical Audit را نگه می‌داریم.

موبایل و دسترسی

Google برای Indexing وب عمدتاً نسخه Mobile محتوا را مبنا قرار می‌دهد. بنابراین نسخه Mobile نباید نسخه ناقص Desktop باشد. Content، Internal Linkهای مهم، Structured Data، Robots Directives و Metadata اصلی باید در Mobile نیز در دسترس باشند.

Mobile-first Indexing

Responsive Design معمولاً مدیریت ساده‌تری دارد، اما اصل اساسی Technology خاص نیست: چیزی که کاربر و Crawler در Mobile می‌بینند باید محتوای اصلی و قابل استفاده باشد. پنهان کردن بخش‌های حیاتی، حذف Linkهای مهم یا Load نکردن Content در Mobile می‌تواند فهم صفحه را ضعیف کند.

HTTPS و Server

HTTPS امروز باید حالت عادی سایت باشد. نسخه‌های HTTP و HTTPS را به‌صورت جدا و متناقض رها نکنید؛ Redirect، Canonical، Sitemap و Internal Linkها باید مقصد امن نهایی را نشان دهند.

در کنار HTTPS، Availability Server را جدی بگیرید. Technical SEO بدون Server Monitoring ناقص است. اگر Host در زمان Crawl مرتب Timeout می‌دهد یا Rate Limit نامناسب Googlebot را می‌بندد، مشکل از Tag و Plugin حل نمی‌شود.

محتوای Mobile و Desktop نیز باید از نظر هدف اصلی هماهنگ باشد. لازم نیست هر عنصر تزئینی یکسان باشد، اما Text اصلی، Linkهای مهم، Image Altهای ضروری و Structured Data نباید فقط در Desktop وجود داشته باشند. همچنین اگر Mobile Version URL جداگانه دارید، رابطه Canonical و alternate باید با معماری International/Mobile سایت هماهنگ باشد.

برای Accessibility فنی نیز به موارد پایه توجه کنید: Navigation باید قابل استفاده باشد، Elementهای تعاملی نباید محتوای اصلی را پشت Interaction غیرضروری پنهان کنند و Layout نباید با بارگذاری دیرهنگام دائماً جابه‌جا شود. Accessibility و SEO دو حوزه یکسان نیستند، اما HTML معنایی و تجربه قابل استفاده معمولاً به Debug و فهم صفحه کمک می‌کنند.

داده ساختاریافته

Structured Data یا داده ساختاریافته به موتور جستجو کمک می‌کند نوع و رابطه برخی اطلاعات صفحه را واضح‌تر بفهمد. رایج‌ترین روش پیاده‌سازی، JSON-LD است. اما Schema جای محتوای قابل مشاهده را نمی‌گیرد و داشتن Markup به‌تنهایی نمایش Rich Result را تضمین نمی‌کند.

Structured Data چیست؟

فرض کنید صفحه‌ای درباره یک محصول، مقاله، سازمان یا Breadcrumb است. Structured Data می‌تواند Propertyهای مشخصی درباره Entityهای موجود در صفحه ارائه کند. Markup باید با محتوای واقعی و قابل مشاهده هماهنگ باشد؛ اطلاعاتی که در صفحه وجود ندارد نباید فقط برای Rich Result به JSON-LD اضافه شود.

نمونه ساختاری بسیار کوتاه JSON-LD می‌تواند چنین شکلی داشته باشد:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Example title"
}

این فقط Skeleton مفهومی است و برای Production کافی نیست. Type و Propertyها باید بر اساس نوع واقعی صفحه، Plugin SEO و Structured Data موجود انتخاب شوند تا Duplicate یا Conflict ایجاد نشود.

تست و Validation

Syntax سالم اولین مرحله است. بعد باید بررسی کنید Markup با Policy نوع موردنظر سازگار است و اطلاعات آن با صفحه تناقض ندارد. Rich Results Test و Search Console می‌توانند برای Typeهای پشتیبانی‌شده خطاها یا Warningهای مهم را نشان دهند.

ابزارهای Technical SEO

هیچ ابزار واحدی «حقیقت کامل سایت» را نشان نمی‌دهد. ابزار خوب باید برای یک سؤال مشخص استفاده شود. قبل از اجرای هر Crawler یا Report بپرسید دنبال چه Evidenceی هستید: URL کشف نمی‌شود؟ Server Status اشتباه است؟ Canonical متفاوت است؟ Render ناقص است؟ یا Index State مشکل دارد؟

اینفوگرافیک ابزارهای Technical SEO شامل Search Console، SEO Crawler، DevTools، PageSpeed و Server Logs برای بررسی Crawl، Index، Render و Performance سایت
انتخاب ابزار مناسب سئو تکنیکال به نوع Evidence بستگی دارد؛ از وضعیت URL و Canonical تا خزش، رندر، Core Web Vitals و فعالیت Crawlerها.
نیازابزارخروجی مهم
وضعیت URL در GoogleSearch ConsoleIndex، Crawl، Canonical
خزش داخلی سایتSEO CrawlerStatus، Link، Metadata
Render و NetworkDevToolsDOM، Request، Error
PerformancePageSpeed / LighthouseCWV و Diagnostics
درخواست واقعی CrawlerServer LogsBot activity و Errors

Search Console

Google Search Console یکی از مهم‌ترین منابع Evidence برای Technical SEO است، اما قرار نیست هر Report آن در این مقاله دوباره آموزش داده شود. URL Inspection، Page Indexing، Sitemaps، Crawl Stats و Core Web Vitals از بخش‌های مهم برای Diagnosis هستند.

وقتی URL خاصی مشکل دارد، URL Inspection می‌تواند نشان دهد URL آخرین‌بار چگونه Crawl شده، Fetch موفق بوده یا نه، Indexing مجاز بوده یا نه و Canonical انتخابی Google چیست. برای آموزش کامل پنل و Reportها به آموزش Google Search Console از صفر تا صد مراجعه کنید.

Crawler و DevTools

یک SEO Crawler از دید Linkهای داخلی سایت حرکت می‌کند و برای پیدا کردن Broken Link، Redirect Chain، Duplicate Metadata، Canonical، noindex و Depth مفید است. DevTools نگاه متفاوتی می‌دهد: Network Request، Response Header، JavaScript Error و DOM نهایی را می‌بینید.

Server Logs

Server Log به شما می‌گوید Crawler واقعاً چه درخواست‌هایی فرستاده است؛ نه اینکه ابزار تصور می‌کند چه اتفاقی افتاده. در سایت‌های بزرگ، Log Analysis برای تشخیص Crawl Pattern، URLهای پرتکرار، 404، 5xx و Crawl Waste بسیار ارزشمند است.

منتخب داریوش از یوتیوب

در این قسمت دو ویدئوی منتخب انگلیسی درباره آموزش Technical SEO از صفر تا صد از منابع مناسب یوتیوب در یک مسیر آموزشی واحد استفاده شده‌اند. این ویدئوها با موتور و هوش مصنوعی اختصاصی سایت داریوش حقیقی دانلود، زیرنویس آن‌ها به فارسی تبدیل و محتوای آموزشی آن‌ها ترجمه شده است. برای نمایش یکپارچه‌تر، نسخه‌های منتخب پس از پردازش با یکدیگر ادغام شده و به یک فایل نهایی تبدیل می‌شوند.

منبع اول، ویدئوی How to perform a technical SEO audit از کانال رسمی Google Search Central با ارائه Martin Splitt است. تمرکز آن روی این است که Audit را به فهرست خطاهای Tool تبدیل نکنیم و هر Finding را با Context سایت، Impact و Priority بسنجیم. منبع دوم، Google Search Console Tutorial 2025 – How To Scale Traffic with GSC SEO از Patrick Rice است که بخش‌های عملی Page Indexing، URL diagnosis، Sitemap و Crawl Stats را در محیط Search Console نشان می‌دهد.

با دیدن نسخه ادغام‌شده، ابتدا مدل درست فکر کردن در یک Technical SEO Audit را می‌بینید و سپس با Evidenceهای عملی Search Console آشنا می‌شوید. هدف این Resource این نیست که جای متن مقاله را بگیرد؛ بلکه قبل از ورود به Workflow Audit، تفاوت میان «گزارش Tool»، «نشانه فنی»، «Root Cause» و «Fix قابل‌تأیید» را ملموس می‌کند.

Technical SEO Audit

Audit حرفه‌ای یعنی ساختن فهرست 300 Warning نیست. هدف Audit این است که بدانیم چه مشکلی وجود دارد، چه تعداد URL را درگیر کرده، چه Impactی دارد، Evidence ما چیست و Fix پیشنهادی چه Riskی ایجاد می‌کند. ابزار فقط Data Collector است؛ تصمیم نهایی به تحلیل نیاز دارد.

Scope را مشخص کنید

قبل از Crawl مشخص کنید Audit برای کل Domain است یا یک Template، Category، Subdomain، Locale یا مجموعه URL. اگر Scope روشن نباشد، Findingها قابل اندازه‌گیری نیستند. مثلاً 50 خطای Canonical در سایت 200 صفحه‌ای بسیار متفاوت از 50 مورد در فروشگاه چندمیلیونی است.

Baseline نیز ثبت کنید: تعداد URLهای Indexable، Sitemap URLs، 4xx، 5xx، Redirectها، noindex، Canonicalهای غیرمنتظره و Metrics کلیدی. بدون Baseline بعداً نمی‌دانید Fix واقعاً بهتر شده یا فقط شکل Report عوض شده است.

از Crawl شروع کنید

Crawl داخلی به شما نقشه قابل مشاهده سایت را می‌دهد. موارد زیر را بررسی کنید:

  • URLهای 200، 3xx، 4xx و 5xx
  • صفحات بدون Internal Link یا با Depth غیرعادی
  • Canonical و noindex
  • Sitemap consistency
  • Redirect Chain و Loop
  • Duplicate Title یا Metadata به‌عنوان Signal کمکی
  • URL Parameter و Crawl Trap

بعد Crawl را با Search Console، Sitemap و در صورت امکان Server Logs مقایسه کنید. اختلاف Data Sourceها اغلب همان جایی است که Insight واقعی پیدا می‌شود.

مثلاً اگر Sitemap ده‌هزار URL دارد ولی Crawler فقط هفت‌هزار URL را از لینک‌های داخلی پیدا می‌کند، سه‌هزار URL باقی‌مانده نیازمند دسته‌بندی هستند: آیا صفحات یتیم‌اند؟ آیا فقط Variantهای قدیمی‌اند؟ آیا URLهای noindex یا Redirect هستند؟ همین اختلاف ساده می‌تواند به‌جای ده‌ها Warning پراکنده، یک مشکل معماری مشخص را آشکار کند.

در سایت WordPress نیز Crawl را فقط با Post و Page محدود نکنید. Archive، Tag، Author، Attachment، Pagination، Search Result، Feed و Parameterها را ببینید. قرار نیست همه این URLها Index شوند، اما باید بدانید چه چیزهایی تولید می‌شوند، کدام‌ها Crawlable هستند و Policy سایت برای هر خانواده URL چیست.

Root Cause پیدا کنید

یکی از خطاهای رایج این است که Symptom را Fix کنیم. مثال: تعداد زیادی URL با Canonical غیرمنتظره دیده می‌شود. حذف Canonical و گذاشتن Self-canonical ممکن است فقط علامت را تغییر دهد. Root Cause شاید محتوای تقریباً یکسان، Internal Link به Variant اشتباه، Parameter، Redirect یا Template باشد.

برای هر Finding زنجیره زیر را بنویسید:

  1. Observation: دقیقاً چه چیزی دیده شده؟
  2. Evidence: کدام Data Source آن را تأیید می‌کند؟
  3. Hypothesis: علت احتمالی چیست؟
  4. Test: چگونه فرضیه را بررسی می‌کنیم؟
  5. Fix: کوچک‌ترین اصلاح مؤثر چیست؟
  6. Verification: چه چیزی نشان می‌دهد مشکل حل شده؟

خطاها را اولویت‌بندی کنید

همه Warningها ارزش یکسان ندارند. برای اولویت‌بندی ساده می‌توانید چهار عامل را در نظر بگیرید: Impact، Scope، Confidence و Risk/Cost.

IssueImpactPriority
noindex روی Template اصلیبسیار بالافوری
5xx گسترده روی صفحات مهمبسیار بالافوری
Redirect Chain داخلیمتوسطبرنامه‌ریزی‌شده
یک Warning بدون اثر قابل اثباتپایینبررسی بعدی

Priority بالا باید هم Impact واقعی و هم Confidence مناسب داشته باشد. Fix پرریسک با Evidence ضعیف می‌تواند بیشتر از مشکل اولیه آسیب ایجاد کند.

برای نمونه، noindex تصادفی روی Template محصول که هزاران Landing Page را حذف می‌کند یک Issue با Scope و Impact بسیار بالا است. در مقابل، نبودن چند meta description یکتا ممکن است ارزش بررسی داشته باشد اما معمولاً نباید قبل از مشکل Indexability حل شود. همین تفکیک باعث می‌شود تیم به‌جای «بستن همه Errorهای Tool»، روی مسائلی کار کند که واقعاً مانع Search می‌شوند.

اگر چند تیم درگیر هستند، Owner هر Fix را مشخص کنید. مشکل Server ممکن است برای Hosting/DevOps باشد، Canonical Template برای Developer، Internal Link برای Content/SEO و Structured Data برای Theme یا Plugin. Audit خوب فقط مشکل را نام‌گذاری نمی‌کند؛ مسیر اجرای Fix را نیز روشن می‌کند.

سناریوی عملی Audit

فرض کنید Category مهمی در Search Console کاهش Index دارد. ابتدا بررسی می‌کنید URLها در Internal Crawl قابل کشف هستند یا نه. سپس Response Code، robots، noindex و Canonical را چک می‌کنید. اگر همه سالم‌اند، Sample URLها را در URL Inspection می‌بینید و Google-selected canonical، last crawl و Render را مقایسه می‌کنید.

اگر Google Variant دیگری را Canonical انتخاب کرده، قبل از تغییر Tag بررسی می‌کنید آیا Templateها واقعاً محتوای مشابه دارند، Internal Linkها به کدام URL اشاره می‌کنند و Sitemap کدام نسخه را معرفی کرده است. این روند از Fix شتاب‌زده جلوگیری می‌کند.

اصلاح و بررسی نتیجه

Technical SEO با اعمال Fix تمام نمی‌شود. هر تغییر باید Verification داشته باشد؛ در غیر این صورت فقط فرض کرده‌ایم مشکل حل شده است. Verification در سطح Browser، Server، Crawler و Search Engine انجام می‌شود.

قبل از تغییر

تا حد امکان Evidence قبل از Fix را ذخیره کنید: Response Header، HTML، Screenshot یا Export Tool، Sample URL، Search Console status و Timestamp. این Baseline برای Regression، Rollback و مقایسه بعدی ارزشمند است.

اگر تغییر گسترده است، ابتدا روی نمونه محدود تست کنید. در Migration، Canonical rewrite، Redirect Rule یا robots change، تغییر کوچک‌تر امکان تشخیص خطا را بیشتر می‌کند.

یک نکته مهم در پروژه‌های فنی این است که هم‌زمان چند متغیر بزرگ را تغییر ندهید. اگر Domain، CMS، URL Structure، Theme و Hosting را در یک روز عوض کنید، حتی اگر Search Performance افت کند تشخیص علت دشوار می‌شود. تا جای ممکن Migrationها را مرحله‌بندی کنید و برای هر مرحله معیار موفقیت تعریف کنید.

برای Fixهای Template-level نیز Sample Set داشته باشید. چند URL از Categoryهای مختلف، صفحات قدیمی و جدید و حالت‌های Edge Case را قبل و بعد از Deployment بررسی کنید. درست بودن یک URL نمونه تضمین نمی‌کند تمام Templateها به‌درستی Update شده‌اند.

بعد از تغییر

یک Verification Loop عملی می‌تواند چنین باشد:

  1. URL نهایی را با HTTP Request بررسی کنید.
  2. Response Code و Headerهای مهم را Verify کنید.
  3. Source HTML و Rendered DOM را مقایسه کنید.
  4. robots، noindex و Canonical را بررسی کنید.
  5. Internal Link و Sitemap را با مقصد نهایی هماهنگ کنید.
  6. در Crawler دوباره همان Scope را تست کنید.
  7. برای URLهای مهم Search Console را بررسی کنید.
  8. زمان لازم برای Recrawl و Reprocessing را در نظر بگیرید.

انتظار نداشته باشید همه تغییرات فوراً در Index منعکس شوند. بعضی تغییرها به Recrawl و Reprocessing نیاز دارند. هدف Verification این است که مطمئن شویم Implementation فنی صحیح است و Evidence جدید به سمت نتیجه مطلوب حرکت می‌کند.

Regression Monitoring

مشکل Technical SEO می‌تواند با Update Theme، Plugin، CDN، Deployment یا Server Config دوباره برگردد. برای سایت‌های مهم، Monitor ساده برای Status Code صفحات کلیدی، robots، Sitemap، Canonical Template و Uptime می‌تواند جلوی Regression طولانی را بگیرد.

در WordPress، تغییر SEO Plugin، Cache Plugin، Redirect Plugin، Theme یا تنظیمات Reading می‌تواند رفتار Indexing را تغییر دهد. بعد از Updateهای بزرگ، نمونه URLهای مهم را دوباره بررسی کنید.

چک‌لیست Technical SEO

برای اجرای Technical SEO Audit بهتر است بررسی سایت را با یک ترتیب ثابت انجام دهید تا مشکلات مهم میان گزارش‌های مختلف گم نشوند. چک‌لیست زیر از دسترسی موتور جستجو و Crawl شروع می‌شود، سپس Indexing، Canonical، ساختار URL، Sitemap، عملکرد، داده‌های ساختاریافته و در نهایت Verification را پوشش می‌دهد.

چک‌لیست Technical SEO برای بررسی دسترسی Googlebot، robots.txt، Meta Robots، HTTP Status، خطاهای سرور، Redirect و صفحات Orphan در فرایند Crawl سایت
چک‌لیست سئو تکنیکال دسترسی و Crawl، مشکلات بحرانی Googlebot، دستورات Indexing، خطاهای 4xx و 5xx، زنجیره Redirect و کشف صفحات مهم را اولویت‌بندی می‌کند.

وجود خطا در هر ردیف الزاماً به معنی یک مشکل بحرانی نیست. اهمیت هر مورد باید بر اساس نوع صفحه، تعداد URLهای درگیر، تأثیر احتمالی بر Crawl و Indexing و هدف واقعی سایت تعیین شود.

دسترسی و Crawl

بررسیوضعیت مطلوباولویت
دسترسی Googlebotصفحات مهم برای Googlebot قابل دسترسی باشندبحرانی
robots.txtمسیرهای مهم ناخواسته مسدود نشده باشندبحرانی
Meta Robotsصفحات موردنظر برای ایندکس دارای noindex ناخواسته نباشندبحرانی
X-Robots-TagHTTP Header مانع ایندکس صفحات مهم نشودبحرانی
HTTP StatusURLهای اصلی پاسخ صحیح و مورد انتظار بدهندبالا
خطاهای 4xxلینک‌های داخلی مهم به صفحات حذف‌شده منتهی نشوندبالا
خطاهای 5xxسرور هنگام Crawl پاسخ پایدار داشته باشدبحرانی
Redirect Chainزنجیره‌های ریدایرکت غیرضروری حذف یا کوتاه شوندمتوسط
Redirect Loopهیچ حلقه ریدایرکتی وجود نداشته باشدبحرانی
Orphan Pagesصفحات مهم از مسیر لینک‌های داخلی قابل کشف باشندبالا

ایندکس و Canonical

بررسیوضعیت مطلوباولویت
Page Indexingصفحات مهم واجد شرایط ایندکس باشندبحرانی
URL Inspectionوضعیت Crawl، Indexing و Canonical صفحات کلیدی بررسی شودبالا
CanonicalCanonical به نسخه صحیح و قابل ایندکس اشاره کندبحرانی
Self Canonicalصفحات مستقل در صورت نیاز Canonical صحیح به خود داشته باشندمتوسط
Canonical ConflictCanonical با Redirect، Sitemap و Internal Linkها تناقض نداشته باشدبالا
Duplicate URLsنسخه‌های تکراری URL بدون دلیل قابل ایندکس نباشندبالا
HTTP و HTTPSنسخه اصلی HTTPS مشخص و نسخه‌های جایگزین مدیریت شده باشندبالا
www و non-wwwفقط نسخه ترجیحی به‌صورت منسجم استفاده شودبالا
Trailing Slashسیاست URLها ثابت باشد و نسخه‌های ناخواسته ایجاد نشوندمتوسط
پارامترهای URLپارامترها باعث تولید گسترده URLهای تکراری نشوندمتوسط

XML Sitemap

بررسیوضعیت مطلوباولویت
وجود SitemapXML Sitemap معتبر و قابل دسترسی باشدبالا
Sitemap در robots.txtدر صورت استفاده، آدرس Sitemap صحیح معرفی شده باشدمتوسط
Search ConsoleSitemap صحیح در Search Console ثبت و قابل پردازش باشدبالا
URLهای Sitemapفقط URLهای Canonical و موردنظر برای ایندکس قرار گیرندبالا
URL ریدایرکت‌شدهRedirect URLها از Sitemap حذف شوندمتوسط
URL دارای noindexصفحات noindex در Sitemap قرار نگیرندبالا
URL دارای خطای HTTPصفحات 4xx و 5xx در Sitemap وجود نداشته باشندبالا
تطابق Sitemap و CanonicalURL معرفی‌شده با نسخه Canonical هماهنگ باشدبالا

ساختار URL و لینک‌ها

بررسیوضعیت مطلوباولویت
ساختار URLURLها پایدار، قابل فهم و بدون پیچیدگی غیرضروری باشندمتوسط
Internal Linksصفحات مهم لینک داخلی کافی و مرتبط دریافت کنندبالا
Broken Internal Linksلینک داخلی شکسته اصلاح یا حذف شودبالا
Redirected Internal Linksدر صورت امکان لینک داخلی مستقیماً به URL نهایی اشاره کندمتوسط
Crawl Depthصفحات مهم بیش از حد در عمق معماری سایت قرار نگیرندمتوسط
Navigationساختار ناوبری مسیر کشف منطقی صفحات مهم را فراهم کندبالا
Anchor Textمتن لینک داخلی توصیفی و مرتبط با مقصد باشدمتوسط

Rendering و JavaScript

بررسیوضعیت مطلوباولویت
Rendered Contentمحتوای اصلی پس از Rendering برای Google قابل مشاهده باشدبحرانی
Rendered Linksلینک‌های مهم در خروجی قابل پردازش صفحه وجود داشته باشندبالا
Blocked Resourcesفایل‌های ضروری CSS و JavaScript ناخواسته مسدود نشده باشندبالا
Client-side Contentوابستگی JavaScript مانع دسترسی به محتوای اصلی نشودبالا
Rendered HTMLHTML مشاهده‌شده توسط موتور جستجو با محتوای مورد انتظار سازگار باشدبالا
JavaScript Errorsخطاهای مهم JS مانع تولید محتوا یا Navigation نشوندبالا

Performance و Core Web Vitals

بررسیوضعیت مطلوباولویت
LCPLargest Contentful Paint بررسی و عناصر کند شناسایی شوندبالا
INPInteraction to Next Paint و پاسخ‌گویی صفحه بررسی شودبالا
CLSجابجایی ناخواسته Layout کنترل شودبالا
Mobile Performanceعملکرد واقعی صفحات مهم روی موبایل بررسی شودبالا
Server Responseکندی Backend و پاسخ اولیه سرور بررسی شودمتوسط
Imagesابعاد، حجم و نحوه بارگذاری تصاویر بهینه باشدمتوسط
JavaScript Payloadاسکریپت‌های سنگین و غیرضروری شناسایی شوندمتوسط
CSS ResourcesCSS غیرضروری یا مسدودکننده Rendering بررسی شودمتوسط

موبایل و HTTPS

بررسیوضعیت مطلوباولویت
Mobile Renderingمحتوا و قابلیت‌های اصلی روی موبایل در دسترس باشندبحرانی
Responsive Layoutصفحه در اندازه‌های مختلف بدون مشکل جدی نمایش داده شودبالا
Mobile Contentمحتوای مهم نسخه دسکتاپ در موبایل حذف نشده باشدبالا
HTTPSصفحات اصلی از HTTPS معتبر استفاده کنندبحرانی
Mixed Contentمنابع ناامن HTTP داخل صفحات HTTPS برطرف شوندبالا
HTTPS Redirectنسخه HTTP به مقصد HTTPS صحیح هدایت شودبالا

Structured Data

بررسیوضعیت مطلوباولویت
Schema Typeنوع Structured Data با محتوای واقعی صفحه مطابقت داشته باشدمتوسط
SyntaxMarkup از نظر ساختاری معتبر باشدبالا
Required Propertiesویژگی‌های ضروری نوع مورد استفاده تکمیل شده باشندمتوسط
Visible ContentMarkup اطلاعات گمراه‌کننده یا ناموجود در صفحه تولید نکندبالا
Rich Results Testصفحات واجد شرایط با ابزار مناسب بررسی شوندمتوسط
Search Console Enhancementsخطاها و هشدارهای مرتبط بررسی و اولویت‌بندی شوندمتوسط

On-page فنی

بررسیوضعیت مطلوباولویت
Titleصفحات مهم Title قابل تشخیص و متناسب با محتوای خود داشته باشندبالا
Meta Descriptionصفحات مهم توضیح مناسب و غیرتکراری داشته باشندمتوسط
Heading Structureساختار Headingها منطقی و متناسب با سلسله‌مراتب محتوا باشدمتوسط
Duplicate Contentصفحات بسیار مشابه بدون Strategy مشخص کنترل شوندبالا
Empty Pagesصفحات کم‌محتوا یا خالی ناخواسته شناسایی شوندمتوسط
Soft 404صفحاتی که ظاهراً موفق‌اند اما محتوای واقعی ندارند بررسی شوندبالا

سرور و Log

بررسیوضعیت مطلوباولویت
Server Stabilityخطاهای موقت و قطعی‌های مؤثر بر Crawl شناسایی شوندبحرانی
Response Codesالگوی پاسخ سرور برای Bot و User غیرعادی نباشدبالا
Log Analysisدر Audit پیشرفته رفتار واقعی Crawlerها در Log بررسی شودمتوسط
Googlebot RequestsURLهای Crawl‌شده و الگوی درخواست Googlebot تحلیل شوندمتوسط
WAF / CDNFirewall یا CDN به‌اشتباه Crawler معتبر را مسدود نکندبالا
DNS / Hostingمشکلات زیرساختی مؤثر بر Availability بررسی شوندبالا

Verification پس از اصلاح

بررسیوضعیت مطلوباولویت
Re-crawlپس از Fix سایت دوباره Crawl و نتیجه مقایسه شودبحرانی
URL InspectionURLهای نمونه بعد از اصلاح دوباره بررسی شوندبالا
Live Testدر موارد لازم نسخه Live صفحه آزمایش شودبالا
Canonical VerificationCanonical نهایی از HTML و ابزارهای تشخیصی کنترل شودبالا
Redirect VerificationRedirectها تا مقصد نهایی دوباره آزمایش شوندبالا
Sitemap VerificationURLهای اصلاح‌شده با Sitemap نهایی تطبیق داده شوندمتوسط
Regression Checkبررسی شود Fix باعث ایجاد مشکل جدید نشده باشدبالا
Before / Afterوضعیت قبل و بعد از Fix ثبت و مقایسه شودمتوسط

اولویت‌بندی مشکلات

آخرین مرحله چک‌لیست، تبدیل یافته‌ها به برنامه اصلاح است. تعداد Errorهای یک ابزار به‌تنهایی معیار مناسبی برای تعیین اولویت نیست؛ ابتدا باید مشخص شود هر مشکل چه URLهایی را درگیر کرده و چه اثری بر Crawl، Rendering، Indexing یا تجربه کاربر دارد.

اولویتمعیاراقدام
بحرانیمانع Crawl، Rendering یا Indexing صفحات مهم می‌شودبررسی و اصلاح فوری
بالابخش مهمی از سایت یا Templateهای اصلی را تحت تأثیر قرار می‌دهددر ابتدای برنامه Fix
متوسطمشکل واقعی است اما مانع اصلی دسترسی یا ایندکس نیستپس از موارد پراثر
پایینImpact محدود دارد یا بیشتر یک Optimization تکمیلی استبعد از مشکلات اصلی

قاعده عملی این است که Technical SEO Audit با پیدا کردن Error تمام نمی‌شود. چرخه کامل باید به شکل Crawl → Diagnose → Prioritize → Fix → Verify → Monitor اجرا شود. اگر اصلاحی انجام شده اما نتیجه آن با Crawl مجدد، Search Console یا ابزار مناسب بررسی نشده است، آن Task هنوز از نظر فنی بسته نشده محسوب می‌شود.

سوالات متداول

در این بخش به پرسش‌هایی پاسخ می‌دهیم که معمولاً بعد از یادگیری ساختار اصلی Technical SEO باقی می‌مانند.

سئو تکنیکال چیست؟

Technical SEO مجموعه اقداماتی است که دسترسی، Crawl، Render، Index، Canonicalization و سلامت فنی صفحات را برای موتور جستجو بهبود می‌دهد. این حوزه جای Content SEO یا Link Building را نمی‌گیرد.

Technical SEO با On-Page SEO چه تفاوتی دارد؟

Technical SEO روی زیرساخت و پردازش فنی سایت تمرکز دارد؛ On-Page SEO بیشتر به محتوای صفحه، ساختار معنایی، Heading، Intent و عناصر داخل صفحه مربوط است. این دو مکمل یکدیگرند.

آیا برای سئو تکنیکال باید برنامه‌نویسی بلد باشیم؟

برای شروع خیر، اما شناخت HTML، HTTP، Browser DevTools و مفاهیم پایه JavaScript کمک بزرگی است. در سطح پیشرفته، درک Server، Log و Code تشخیص Root Cause را سریع‌تر می‌کند.

آیا Sitemap باعث ایندکس شدن صفحه می‌شود؟

خیر. Sitemap به Discovery و معرفی URLهای ترجیحی کمک می‌کند، اما Indexing را تضمین نمی‌کند. صفحه همچنان باید Crawlable، Indexable و از نظر Canonical و Content مناسب باشد.

robots.txt با noindex چه تفاوتی دارد؟

robots.txt عمدتاً Crawl را محدود می‌کند، در حالی که noindex برای جلوگیری از حضور صفحه در Index است. برای اینکه Crawler دستور noindex را ببیند، صفحه نباید از همان Crawler در robots.txt مسدود شده باشد.

Canonical با Redirect چه فرقی دارد؟

Redirect کاربر و Crawler را به URL دیگری منتقل می‌کند، اما Canonical بدون اجبار به انتقال، نسخه ترجیحی میان URLهای مشابه را اعلام می‌کند. Canonical یک Signal است و موتور جستجو می‌تواند انتخاب متفاوتی داشته باشد.

Crawl Budget برای چه سایت‌هایی مهم است؟

بیشتر برای سایت‌های بسیار بزرگ، بسیار پویا یا سایت‌هایی با Crawl Space عظیم اهمیت دارد. در سایت‌های کوچک و متوسط معمولاً رفع Crawl Trap، خطای Server و ساختار لینک داخلی مهم‌تر از Optimization مصنوعی Crawl Budget است.

آیا Google محتوای JavaScript را ایندکس می‌کند؟

Google می‌تواند بسیاری از صفحات JavaScript را Render و Index کند، اما Rendering یک مرحله واقعی با محدودیت‌های فنی است. محتوای اصلی و Linkها باید در Render قابل دسترسی باشند و به Interaction خاص کاربر وابسته نشوند.

آیا Structured Data باعث افزایش رتبه می‌شود؟

Structured Data به فهم بهتر برخی Entityها و Eligibility برای بعضی Search Features کمک می‌کند، اما تضمین افزایش رتبه یا نمایش Rich Result نیست. محتوای صفحه و Markup باید با هم سازگار باشند.

بعد از رفع مشکل Technical SEO چطور نتیجه را بررسی کنیم؟

Response، Header، Render، robots، Canonical و Internal Link را دوباره تست کنید، سپس Crawl مجدد و داده Search Console را بررسی کنید. Fix بدون Verification کامل نیست.

نتیجه‌گیری

Technical SEO را بهتر است نه به‌عنوان مجموعه‌ای از Checkboxها، بلکه به‌عنوان یک سیستم تشخیصی ببینید. سؤال اصلی همیشه این است که URL در کدام مرحله دچار مشکل شده است: Discovery، Crawl، Render، Index، Canonicalization یا Serving؟ وقتی Layer مشکل مشخص شود، ابزار و Fix مناسب نیز بسیار واضح‌تر می‌شود.

آموزش Technical SEO با داریوش حقیقی و نمایش مراحل Crawl، Render و Index همراه Sitemap، robots.txt، Canonical، Core Web Vitals و Performance
راهنمای سئو تکنیکال از صفر تا پیشرفته با تمرکز بر خزش، رندر، ایندکس، ساختار فنی سایت و بهینه‌سازی عملکرد برای گوگل

robots.txt، Sitemap، Canonical، Redirect، Core Web Vitals، Structured Data و Search Console هرکدام فقط بخشی از این سیستم هستند. Sitemap ایندکس را تضمین نمی‌کند، robots.txt جای noindex نیست، Canonical دستور مطلق نیست، Schema نمایش Rich Result را تضمین نمی‌کند و Index شدن نیز به معنی رتبه خوب نیست.

برای کار عملی، یک Rule ساده را حفظ کنید: Evidence جمع کنید، Root Cause را پیدا کنید، کوچک‌ترین Fix مؤثر را اعمال کنید و نتیجه را Verify کنید. اگر مشکل اصلی شما در Search Console یا Indexing است، قدم بعدی منطقی مطالعه آموزش Search Console و راهنمای مشکلات ایندکس DJH است؛ اگر Performance مسئله اصلی است، Core Web Vitals را به‌صورت مستقل و عمیق‌تر بررسی کنید.

داریوش حقیقی
نویسنده و توسعه‌دهنده

داریوش حقیقی

بیش از 20 سال تجربه در حوزه فناوری اطلاعات، طراحی سایت، سئو تکنیکال، مدیریت سرورهای لینوکس و ویندوز، توسعه وردپرس، برنامه‌نویسی، اتوماسیون و هوش مصنوعی.در djh.ir تلاش می‌کنم تجربیات واقعی پروژه‌های اجرایی، آموزش‌های کاربردی و راهکارهای عملی را با زبانی ساده و قابل استفاده منتشر کنم.

20+ سال تجربه
100+ پروژه اجرایی
1000+ ساعت آموزش

نظر و سوالتون رو اینجا بنویسید...

تماس در تلگرام