چند سال پیش، یکی از همکاران قدیمیام، مدیر سئوی یک آژانس، با درماندگی تماس گرفت: «طاها، من تئوری سئو را خوب بلدم. متاتگ، سرعت، بکلینک… همه را میدانم. ولی وقتی یک پروژهٔ واقعیِ چندصدهزار صفحهای دستم میآید، گیج میشوم. نمیدانم از کجا شروع کنم، چطور اولویتبندی کنم، و چطور بفهمم کدام تغییر جواب داده. انگار هرچه خواندهام، سر صحنهٔ عمل یادم میرود.»
به او گفتم: «چون سئوی پیشرفته را نمیشود از کتاب و دوره یاد گرفت. باید با گوشت و پوستت یک پروژهٔ واقعی را زندگی کنی، اشتباه کنی، دیتا ببینی، و برگردی اصلاح کنی. بیا یکی از همین پروژهها را با هم جلو ببریم. من هر قدم را برایت توضیح میدهم.»
حاصل آن همکاری، یک تحول کامل در ترافیک یک خبرگزاری بود، و مهمتر از آن، یک دورهٔ عملی نانوشته که آن همکار بعدها اعتراف کرد «هیچ دورهای به اندازهٔ آن ۶ ماه به من یاد نداد.»
امروز میخواهم همان تجربه را به یک کارگاه آموزشی رایگان تبدیل کنم. در این مقاله، قدمبهقدم شما را با یک پروژهٔ واقعی پیشرفته آشنا میکنم – از عیبیابی تا اجرا. هر جا که تکنیک پیشرفتهای به کار رفته، آن را با جزئیات توضیح میدهم، طوری که بتوانید همین فردا روی پروژهٔ خودتان پیاده کنید. این یک آموزش تئوری نیست؛ یک پروژهٔ عملی زنده است که میتوانید همزمان با خواندن، اجرایش کنید.
پروژهٔ عملی: بازسازی سئوی یک خبرگزاری ۱.۵ میلیون صفحهای
برای این کارگاه، یکی از پروژههای چالشبرانگیز چند سال اخیرم را انتخاب کردهام: یک خبرگزاری ملی با ۱.۵ میلیون صفحه، که بعد از یک Core Update گوگل، ۴۰٪ ترافیک ارگانیک خود را از دست داده بود. مشکل از کجا بود؟ هیچکس دقیقاً نمیدانست. تیم محتوا خوب بود، تیم فنی هم مدعی بود سرورها قدرتمندند. اما اعداد بیرحمانه سقوط کرده بودند.
ما قرار است در این مقاله، کل فرایند نجات این سایت را مرور کنیم – دقیقاً همان کاری که یک متخصص سئوی پیشرفته انجام میدهد.
فاز ۱: ممیزی پیشرفته (Advanced Audit) – ریشهٔ مشکل را از برگها تشخیص بده
وقتی سایتی با این ابعاد افت میکند، چکلیستهای عمومی سئو به درد نمیخورند. باید مثل یک پزشک، آزمایشهای تخصصی بگیری.
۱. تحلیل لاگ سرور (Log File Analysis) – نبض واقعی گوگل
اولین کاری که کردم، گرفتن ۷ روز لاگ خام سرور (Access Logs) بود. این فایلها نشان میدهند گوگلبات دقیقاً چه URL هایی را، چند بار، و با چه پاسخ سروری (Status Code) ملاقات کرده است.
اسکریپت Python برای تحلیل لاگ:
من یک اسکریپت نوشتم که لاگها را پارس کند و به ازای هر URL گزارش دهد: تعداد کرال، آخرین زمان کرال، حجم پاسخ، و Status Code. سپس URL ها را بر اساس اهمیت (ترافیک در Search Console) وزندهی کردم. نتیجه هولناک بود: ۶۵٪ بودجهٔ کرال روزانه صرف URL های پارامتری (?utm_source=...)، صفحات پرینت (/print/) و آرشیو تاریخهای قدیمی میشد. صفحات خبری تازه، سهمی کمتر از ۱۵٪ داشتند. این یعنی گوگل وقتش را در انباری سایت هدر میداد.
۲. کرال آزمایشی با Scrapy (پایتون)
ابزارهای معمولی مثل Screaming Frog برای میلیونها صفحه کم میآورند. من با کتابخانهٔ Scrapy یک خزندهٔ سفارشی نوشتم که فقط ساختار URL، تایتل، Canonical، لینکهای داخلی و وضعیت ایندکس را استخراج کند. خروجی نشان داد که بیش از ۲۰۰ هزار URL دارای Canonical به صفحهٔ دیگری هستند، اما خودشان در نقشهٔ سایت حضور داشتند (اشتباه بزرگ). همچنین ۵۰ هزار صفحه ۴۰۴ میدادند که از داخل سایت لینک گرفته بودند.
۳. تحلیل Core Web Vitals در مقیاس
با PageSpeed Insights API و یک اسکریپت دیگر، ۱۰۰۰ URL پربازدید را تست کردم. مشکل اصلی: LCP در موبایل ۸.۲ ثانیه، CLS بالای ۰.۳۵. دلیل؟ تبلیغات بنری بدون رزرو فضا، و تصاویر خبری که با حجم ۱-۲ مگابایت و بدون WebP سرو میشدند.
فاز ۲: استراتژی پیشرفته – اولویتبندی با ماتریس تأثیر/زحمت
در سئوی پیشرفته، تو باید تصمیم بگیری با منابع محدود، کدام مشکل را اول حل کنی. من یک ماتریس ساده با دو محور میسازم: تأثیر بر ترافیک (بالا/پایین) در مقابل زحمت اجرا (کم/زیاد). اولویت را به مربع «تأثیر بالا، زحمت کم» میدهیم.
برای این پروژه، اولویتها این شدند:
مدیریت بودجهٔ کرال (تأثیر بالا، زحمت کم): با
noindexکردن صفحات بیارزش و اصلاحrobots.txt.بهبود Core Web Vitals (تأثیر بالا، زحمت متوسط): با فشردهسازی تصاویر و رزرو فضا برای تبلیغات.
اصلاح مشکل Canonical و ساختار URL (تأثیر بالا، زحمت زیاد، اما ضروری).
بازسازی لینکهای داخلی (تأثیر متوسط، زحمت متوسط).
بهبود E-E-A-T با Schema و صفحات نویسنده (تأثیر بلندمدت، زحمت متوسط).
فاز ۳: اجرای تکنیکهای پیشرفته – از کدنویسی تا محتوا
این بخش، قلب آموزش عملی ماست. هر تکنیک را با جزئیات اجرا میکنیم.
۱. بهینهسازی بودجهٔ کرال با noindex هوشمند و تغییر robots.txt
ما نمیتوانیم ۱.۵ میلیون صفحه را یکشبه حذف کنیم. باید تصمیم میگرفتیم کدام بخشها ارزش ایندکس دارند و کدام نه. با تحلیل ترافیک ۱۲ ماه اخیر از Search Console، صفحاتی که کمتر از ۱۰ کلیک در سال داشتند و جزو دستههای بیارزش (برچسبها، آرشیو تاریخ خیلی قدیمی، صفحات پرینت) بودند، انتخاب شدند. حدود ۴۰۰ هزار صفحه noindex شدند. برای این حجم، نمیتوان دستی برچسب زد. یک قطعه کد PHP نوشتم که در هدر این صفحات، متاتگ noindex, follow قرار دهد. همچنین robots.txt را اصلاح کردیم: مسیرهای پارامتری مثل /*? و صفحات جستجوی داخلی را Disallow کردیم. نتیجه: ظرف ۳ هفته، بودجهٔ کرال مؤثر (صفحات باارزش) از ۳۵٪ به ۷۰٪ رسید.
۲. اصلاح پیشرفتهٔ Core Web Vitals
برای LCP، مشکل از تصاویر بود. همهٔ عکسهای خبری قدیمی را با یک اسکریپت Python که از کتابخانهٔ Pillow استفاده میکرد، به WebP تبدیل کردیم و نسخههای Responsive (با srcset) تولید کردیم. اسکریپت روی سرور اجرا شد و ۳۰۰ هزار عکس را بهینه کرد. برای CLS، قالب خبرگزاری را ویرایش کردیم: به تمام المانهای تبلیغاتی یک min-height ثابت دادیم تا فضایشان از قبل رزرو شود. LCP از ۸.۲ به ۲.۳ ثانیه کاهش یافت و CLS به ۰.۰۶ رسید.
۳. بازنویسی استراتژی لینک داخلی با کمک تحلیل معنایی
لینکهای داخلی در خبرگزاری فقط بر اساس «آخرین اخبار» بود. ما یک ماژول «مطالب مرتبط» جدید ساختیم که با استفاده از یک مدل سادهٔ NLP (با کتابخانه spaCy در Python)، شباهت معنایی بین مقالات را محاسبه میکرد و به جای ۱۰ لینک تصادفی، فقط ۵ مقالهٔ واقعاً مرتبط را پیشنهاد میداد. این کار نه تنها بودجهٔ کرال را بهتر توزیع کرد، که نرخ پرش را ۱۲٪ کاهش داد.
۴. پیادهسازی Schema پیشرفته با @graph و JSON-LD داینامیک
قبل از این، سایت Schema نداشت. ما یک سیستم JSON-LD پویا با PHP ساختیم که برای هر خبر، NewsArticle با author، datePublished، dateModified، publisher و image را خودکار تولید کند. برای صفحهٔ اصلی، Organization و WebSite با قابلیت جستجو. همچنین برای دستهبندیهای اصلی، CollectionPage. همهٔ اینها در یک بلوک @graph ادغام شدند تا از Conflict جلوگیری شود. نتیجه: ظرف یک ماه، ۴۰٪ Rich Result بیشتر در کنسول مشاهده شد.
۵. لینکسازی پیشرفته: Link Reclamation
به جای خرید بکلینک، رفتیم سراغ لینکهایی که از دست رفته بودند. با Ahrefs، ۵۰۰ بکلینک که به صفحات ۴۰۴ خبرگزاری اشاره میکردند (محتوای حذفشده یا تغییر URL) پیدا کردیم. برای ۲۰۰ تای آن که ارزش داشتند، صفحات مشابه جدید ساختیم یا ریدایرکت ۳۰۱ به نزدیکترین خبر زدیم. با ۱۰ نفر از وبمسترهای سایتهای معتبر که لینک شکسته داشتند، تماس گرفتیم و آنها لینک را به URL جدید اصلاح کردند. این کار بدون تولید محتوای جدید، قدرت لینکهای قدیمی را بازیافت.
فاز ۴: پایش و اندازهگیری – حلقهٔ بازخورد
یک سئوکار پیشرفته، هر تغییری را با دیتا میسنجد. ما یک داشبورد زنده با Google Data Studio ساختیم که دادههای Search Console، Analytics و PageSpeed Insights را با هم ترکیب میکرد. هر هفته روند ترافیک، CTR، Core Web Vitals و وضعیت ایندکس را چک میکردیم. یک اسکریپت Python هشداردهنده هم نوشتم که اگر ناگهان افت ایندکس بیش از ۵٪ میدید، پیامک میفرستاد.
نتیجهٔ پروژه (۶ ماه بعد)
| معیار | قبل | بعد از ۶ ماه |
|---|---|---|
| صفحات ایندکسشده (مفید) | ۶۰۰ هزار | ۱.۱ میلیون |
| بودجهٔ کرال مؤثر | ۳۵٪ | ۷۰٪ |
| ترافیک ارگانیک روزانه | ۱۸۰ هزار | ۳۲۰ هزار (+۷۸٪) |
| LCP موبایل | ۸.۲s | ۲.۳s |
| نمایش در Top Stories | محدود | ۳ برابر |
چطور این آموزش را روی پروژهٔ خودتان پیاده کنید؟
این مقاله یک نقشهٔ کامل است. میتوانید قدمها را به ترتیب اجرا کنید:
لاگ سرورتان را بگیرید (از هاست بخواهید) و با یک اسکریپت ساده تحلیل کنید.
یک کرال کامل بزنید و مشکلات فنی را استخراج کنید.
ماتریس تأثیر/زحمت خودتان را بکشید.
شروع کنید به اولویتبندی و اجرا.
هر هفته دیتا را ببینید و مسیر را تنظیم کنید.
اگر در هر قدمی سوال داشتید، من در طاها سئو همواره سعی کردهام دانش پیشرفته را به صورت رایگان و عملی به اشتراک بگذارم. این مقاله هم بخشی از همان رسالت است: یاد دادن سئو نه در کلاس، که در میدان واقعی.
آموزشهای رایگان بیشتر در طاها سئو
اگر این روش آموزش عملی را میپسندید، در وبلاگ طاها سئو، من مرتباً پروژههای واقعی را کالبدشکافی میکنم و تکنیکهای پیشرفته را همانطور که اجرا شدهاند، توضیح میدهم. بدون پشتپرده، بدون شعار. هدفم این است که جامعهٔ سئوی فارسیزبان، از سطح آموزشهای تئوری و ابتدایی فراتر برود و یاد بگیرد چطور در پروژههای بزرگ فکر کند و عمل نماید.
اگر پروژهٔ خاصی داری که میخواهی گامبهگام با هم تحلیلش کنیم، یا میخواهی روی پروژهٔ خودت این تکنیکها را با راهنمایی مستقیم پیادهسازی کنی، با طاها حرف بزن. شاید یک جلسه مشاورهٔ کوتاه بتواند گره پروژهات را باز کند و نقشهٔ راهی برای ۶ ماه آیندهات ترسیم نماید. بیوعدهٔ رتبهٔ یک، ولی با دانشی که در عمل جواب داده است.