هک شدن یک سایت فقط یک مشکل امنیتی نیست؛ اگر مهاجم داخل سایت صفحات اسپم ایجاد کرده باشد، بعد از پاک شدن بدافزار ممکن است یک مشکل جدی دیگر هم باقی بماند: URLهای آلودهای که در گوگل ایندکس شدهاند. در این مطلب از سری مطالب وبلاگ پارس وی دی اس به راهنمای پاکسازی URLهای اسپم و ایندکس گوگل بعد از هک شدن سایت میپردازیم.
برای مثال، ممکن است ناگهان متوجه شوید سایت شما صدها صفحه درباره قمار، دارو، محتوای بیربط یا موضوعات دیگری دارد که هیچوقت خودتان ایجاد نکردهاید. حتی اگر فایلهای مخرب را حذف کنید، این صفحات ممکن است مدتی در Google Search Console یا نتایج جستجو باقی بمانند.
دلیلش ساده است؛ گوگل اطلاعاتی را که قبلا از سایت دریافت کرده، بلافاصله فراموش نمیکند. بنابراین بعد از برطرف کردن هک، باید یک مرحله جداگانه برای پاکسازی فنی سئو و کنترل URLهای آلوده انجام دهید. این مرحله به اندازه خود پاکسازی امنیتی اهمیت دارد، چون باقی ماندن صفحات اسپم میتواند ساختار ایندکس سایت را شلوغ کند و بررسی وضعیت واقعی سایت را دشوارتر کند.

چرا URLهای هکشده بعد از پاکسازی هنوز در گوگل دیده میشوند؟
یکی از اشتباهات رایج این است که تصور کنیم با حذف فایل مخرب، URLهای ساختهشده توسط هکر نیز بلافاصله از گوگل حذف میشوند. در حالی که Google Search Console بیشتر گزارشی از وضعیتهایی است که گوگل در زمان خزش صفحات مشاهده کرده و تغییرات آن ممکن است با فاصله زمانی نمایش داده شود. به همین دلیل ممکن است یک URL را از سرور حذف کرده باشید، اما همچنان در گزارشهای Search Console مشاهده کنید. این موضوع لزوما به این معنی نیست که بدافزار هنوز روی سایت فعال است. ابتدا باید خود URL را بررسی کنید و مطمئن شوید سرور دیگر محتوای مخرب را ارائه نمیدهد.
در چنین شرایطی بهتر است به جای تمرکز صرف روی تعداد URLهای نمایش دادهشده در Search Console، وضعیت واقعی URLها را بررسی کنید: آیا صفحه هنوز روی سرور وجود دارد؟ چه HTTP Status Codeای برمیگرداند؟ آیا ریدایرکت میشود؟ آیا محتوای اسپم هنوز برای خزنده قابل مشاهده است؟
راهنمای پاکسازی URLهای اسپم و ایندکس گوگل
- مرحله اول: مطمئن شوید هک واقعا برطرف شده است
قبل از هر کاری برای پاکسازی ایندکس، باید مشکل امنیتی را کامل برطرف کنید. اگر هنوز فایل یا اسکریپت مخربی روی سایت وجود داشته باشد، حذف URLها از گوگل راهحل اصلی نیست و مهاجم میتواند دوباره همان صفحات را ایجاد کند.
در این مرحله باید فایلهای مشکوک، کاربران ناشناس، افزونهها و قالبهای غیرمطمئن، تغییرات ایجادشده در دیتابیس و فایلهای مهم سرور بررسی شوند. رمزهای عبور پنل مدیریت، هاست، FTP و سایر حسابهای مرتبط نیز بهتر است تغییر کنند و احراز هویت دومرحلهای برای حسابهایی که از آن پشتیبانی میکنند فعال شود.
اگر سایت وردپرسی است، بررسی افزونهها و قالبهای قدیمی اهمیت ویژهای دارد. همچنین بهتر است نسخه WordPress، افزونهها و قالبها به نسخههای پشتیبانیشده و امن بهروزرسانی شوند. تا زمانی که مطمئن نشدهاید حفره امنیتی بسته شده، وارد مرحله پاکسازی سئو نشوید.
- مرحله دوم: URLهای اسپم را پیدا کنید
حالا باید مشخص کنید هکر چه URLهایی ایجاد کرده است. در Google Search Console بخشهای مربوط به ایندکس و URLهای سایت میتوانند سرنخ خوبی بدهند. جستجوی site:domain.com در گوگل نیز ممکن است صفحات غیرعادی را نشان دهد، هرچند این روش فهرست کاملی از URLهای ایندکسشده ارائه نمیکند.
به الگوها توجه کنید. برای مثال ممکن است بیشتر URLهای مخرب زیر یک مسیر خاص ساخته شده باشند: /old/ یا: /casino/ یا URLهایی با پارامترها و ساختارهای غیرطبیعی. اگر متوجه شدید تعداد زیادی URL آلوده زیر یک پوشه مشخص قرار دارند، کار پاکسازی بسیار سادهتر میشود؛ چون به جای برخورد با صدها URL به صورت تکتک، میتوانید همان الگوی مشترک را هدف قرار دهید.
تفاوت 404 و 410 چیست؟
یکی از مهمترین قسمتهای پاکسازی URLهای هکشده، انتخاب Status Code مناسب است.
کد 404 Not Found یعنی سرور صفحه موردنظر را پیدا نمیکند. این کد برای URLهایی که وجود ندارند کاملا طبیعی است و در بسیاری از شرایط بهترین پاسخ است.
اما 410 Gone معنای صریحتری دارد و نشان میدهد منبع بهصورت دائمی حذف شده است. طبق مستندات HTTP، 410 برای زمانی مناسب است که مالک سایت میداند آن منبع دیگر قرار نیست برگردد.
برای مثال، اگر هکر صدها صفحه اسپم را در مسیر /old/ ساخته و شما مطمئن هستید این مسیر هیچ محتوای قانونی و موردنیازی ندارد، میتوانید در سطح سرور برای این URLها پاسخ 410 تنظیم کنید. نکته مهم این است که 410 را نباید برای هر URL حذفشدهای استفاده کرد. اگر صفحهای واقعا حذف نشده و فقط به URL جدید منتقل شده، معمولا باید وضعیت و ریدایرکت مناسب آن بررسی شود. همچنین اگر درباره دائمی بودن حذف یک منبع مطمئن نیستید، 404 گزینه مناسبتری است.
آیا میتوان برای یک پوشه هکشده 410 تنظیم کرد؟
اگر همه URLهای یک مسیر مشخص متعلق به محتوای مخرب هستند، میتوان در سطح Apache و فایل .htaccess برای آن مسیر قانون مناسبی تعریف کرد. برای نمونه، ایده کلی چنین قانونی این است که درخواستهایی که با /old/ شروع میشوند، پاسخ 410 دریافت کنند:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/old/ [NC]
RewriteRule ^ – [R=410,L]
البته این کد را نباید بدون بررسی ساختار سایت مستقیما روی سایت فعال کنید. یک اشتباه در Rewrite Rule میتواند صفحات سالم را نیز تحت تاثیر قرار دهد. بهتر است ابتدا روی چند URL آزمایشی، Header پاسخ سرور را بررسی کنید و مطمئن شوید فقط مسیر آلوده تحت تاثیر قرار گرفته است. در سایتهایی که از Nginx، CDN یا تنظیمات سرور متفاوت استفاده میکنند نیز روش پیادهسازی میتواند متفاوت باشد.
استفاده از ابزار Removals در Search Console
اگر URLهای اسپم در نتایج گوگل نمایش داده میشوند و میخواهید سریعتر آنها را از دید کاربران پنهان کنید، میتوانید از ابزار Removals در Google Search Console استفاده کنید. این ابزار برای حذف سریع URL از نتایج جستجو بسیار مفید است، اما یک نکته مهم دارد: حذف از طریق Removals دائمی نیست. گوگل اعلام کرده که درخواست حذف موقت معمولا حدود شش ماه اعتبار دارد. بنابراین این ابزار باید در کنار حذف واقعی صفحه یا تنظیم پاسخ مناسب سرور استفاده شود، نه به عنوان جایگزین آن.
در Removals میتوانید یک URL مشخص را وارد کنید یا در شرایط مناسب، URLهایی را که با یک Prefix مشخص شروع میشوند به صورت گروهی هدف قرار دهید. این قابلیت زمانی مفید است که مثلا صدها URL آلوده زیر یک پوشه مشخص ایجاد شده باشند.

یک نکته مهم درباره درخواست حذف Removals
تصور نکنید با ارسال درخواست حذف، کار تمام شده است. اگر URL همچنان روی سایت محتوای قابل دسترسی داشته باشد، ممکن است بعدا دوباره در نتایج ظاهر شود. گوگل نیز صراحتا توصیه میکند برای حذف دائمی، محتوا را از سایت حذف کنید و در صورت مناسب بودن 404 یا 410 برگردانید، یا از روشهای مناسب دیگر مانند محدود کردن دسترسی استفاده کنید. همچنین Google توصیه میکند از robots.txt به عنوان روش حذف دائمی URL استفاده نکنید.
آیا باید برای همه URLهای اسپم درخواست حذف ارسال کنیم؟
نه لزوما. اگر ۵۰۰ یا ۵۰۰۰ URL اسپم دارید، وارد کردن تکتک آنها معمولا منطقی نیست. ابتدا باید ببینید آیا URLها الگوی مشترکی دارند یا خیر. اگر بیشتر آنها زیر یک مسیر مشخص قرار گرفتهاند، استفاده از Prefix در Removals میتواند روند کار را سادهتر کند.
برای مثال اگر URLهای مخرب به شکل زیر باشند:
- example.com/old/page1
- example.com/old/page2
- example.com/old/page3
میتوانید مسیر مشترک /old/ را بررسی کنید و در صورت اطمینان از اینکه هیچ صفحه سالمی در این مسیر وجود ندارد، آن Prefix را هدف قرار دهید. اما قبل از ثبت درخواست، حتما Prefix را با دقت بررسی کنید. اگر صفحات سالمی هم در آن مسیر قرار داشته باشند، ممکن است آنها نیز از نتایج جستجو پنهان شوند.
بعد از پاکسازی چه چیزی را در Search Console بررسی کنیم؟
بعد از اعمال تغییرات، کار را رها نکنید. در روزها و هفتههای بعد باید Search Console را زیر نظر داشته باشید و ببینید آیا URLهای اسپم جدید ایجاد میشوند یا تعداد URLهای آلوده در حال کاهش است.
گزارش Page Indexing، URL Inspection و بخش Removals میتوانند برای بررسی وضعیت مفید باشند. ابزار URL Inspection همچنین برای بررسی یک URL مشخص و درخواست خزش مجدد صفحه کاربرد دارد. برای چندین URL نیز میتوان از Sitemap استفاده کرد. اگر بعد از پاکسازی همچنان URLهای جدید و مشابه ایجاد میشوند، مسئله فقط یک مشکل ایندکس نیست و باید دوباره وضعیت امنیتی سایت بررسی شود. ایجاد مداوم صفحات اسپم میتواند نشانه باقی ماندن یک حفره امنیتی یا دسترسی غیرمجاز باشد.

آیا URLهای عجیب با پارامترهای اضافی نگرانکننده هستند؟
گاهی بعد از هک سایت، URLهایی در Search Console مشاهده میکنید که بسیار عجیب هستند؛ مثلا پارامترهای نامفهوم دارند یا از ترکیبهایی تشکیل شدهاند که هیچوقت در سایت ایجاد نکردهاید.هر URL عجیب لزوما به معنی هک جدید نیست. رباتها میتوانند URLهای جعلی تولید کنند یا به URLهای واقعی پارامترهای بیمعنی اضافه کنند.
بنابراین قبل از اینکه تمام تنظیمات سایت را تغییر دهید، خود URL را بررسی کنید و ببینید سرور در پاسخ به آن چه رفتاری دارد. مهم این است که URL جعلی، محتوای مخرب واقعی ارائه نکند و ساختار سایت نیز آن را به شکل غیرضروری تولید نکند.
بعد از هک، Search Console را برای مدتی منظم بررسی کنید
پاکسازی یک سایت هکشده معمولا با یک تغییر و یک بررسی تمام نمیشود. بهتر است در هفتههای اول، Search Console را منظم بررسی کنید تا مشخص شود وضعیت URLهای مشکوک در حال بهبود است یا خیر.
یک برنامه ساده میتواند اینطور باشد:
- هفته اول: بررسی امنیت سایت، URLهای مشکوک و وضعیت سرور
- هفته دوم: بررسی Page Indexing و URLهای جدید
- هفتههای بعد: بررسی روند کاهش URLهای اسپم و کنترل ایجاد URLهای جدید
- پس از تثبیت: بازبینی دورهای وضعیت ایندکس و امنیت سایت
اگر تعداد URLهای آلوده کاهش پیدا میکند و URLهای جدیدی تولید نمیشوند، نشانه خوبی است. اما اگر هر بار URLهای جدیدی با الگوی مشابه ایجاد میشوند، باید دوباره منبع مشکل امنیتی پیدا شود.
جمعبندی
بازیابی سایت هکشده فقط به حذف بدافزار و تغییر رمز عبور محدود نمیشود. اگر هکر صفحات اسپم ایجاد کرده باشد، باید پاکسازی ایندکس گوگل را نیز به عنوان یک مرحله جداگانه در نظر بگیرید. ابتدا مطمئن شوید حفره امنیتی بسته شده، سپس URLهای آلوده را شناسایی کنید، وضعیت HTTP آنها را بررسی کنید و برای صفحاتی که واقعا و برای همیشه حذف شدهاند، پاسخ مناسبی مانند 404 یا در موارد مناسب 410 در نظر بگیرید.
برای حذف سریع URLهای مخرب از نتایج جستجو نیز میتوانید از Removals در Search Console استفاده کنید، اما یادتان باشد این ابزار راهکار موقت است و به تنهایی URL را برای همیشه از ایندکس حذف نمیکند. در نهایت، مهمترین کار بعد از هک این است که فقط به «تعداد URLهای حذفشده» نگاه نکنید؛ بلکه بررسی کنید آیا URLهای جدید اسپم همچنان ایجاد میشوند یا نه. اگر تولید آنها متوقف شده باشد، پاکسازی فنی و امنیتی سایت در مسیر درست قرار گرفته است.






