راهنمای سئو مرحله ۷: امنیت — حداقلی که گوگل در سال ۲۰۲۶ انتظار دارد
راهنمای سئو مرحله ۷: امنیت
این مرحله ۷ از راهنمای ۱۳ مرحلهای سئو است. امنیت تنها به محافظت از کاربران مربوط نمیشود — بلکه به طور مستقیم بر رتبهبندی جستجوی شما تأثیر میگذارد. گوگل از سال ۲۰۱۴ از HTTPS به عنوان یک سیگنال رتبهبندی استفاده کرده و انتظارات تنها افزایش یافته است.
اکثر صاحبان سایتها امنیت را به عنوان یک گزینه دوگانه تلقی میکنند: "ما SSL داریم، بنابراین ایمن هستیم." در واقع، گوگل دهها سیگنال امنیتی را ارزیابی میکند. سایتهایی که هدرهای امنیتی صحیح، گواهینامههای معتبر و بدون محتوای مختلط دارند، از سایتهایی که تنها یک گواهی SSL پایه دارند، بهتر رتبهبندی میشوند — در صورتی که سایر موارد برابر باشد.
خبر خوب: بیشتر اصلاحات امنیتی یک بار تنظیم میشوند. یک بار آنها را تنظیم کنید و به طور دائمی از رتبههای شما محافظت میکنند.
تنظیمات SSL
SSL (از نظر فنی TLS) اتصال بین سرور شما و بازدیدکنندگان را رمزگذاری میکند. از سال ۲۰۱۴، گوگل به وضوح HTTPS را به عنوان یک سیگنال رتبهبندی تأیید کرده است. در سال ۲۰۲۶، عدم دسترسی به HTTPS فقط یک مشکل رتبهبندی نیست — کروم سایتهای HTTP را به عنوان "غیر ایمن" در نوار آدرس علامتگذاری میکند و اعتماد کاربران را از بین میبرد.
الزامات برای SSL صحیح:
| الزامات | چرا | چگونه بررسی کنیم | |----------|-----|------------------| | گواهی معتبر | منقضی = هشدار مرورگر = کاربران خارج شده | تاریخ انقضا را بررسی کنید | | زنجیره کامل | زنجیرهای ناقص در برخی دستگاهها شکست میخورند | آزمون SSL Labs | | TLS 1.2+ | نسخههای قدیمی دارای آسیبپذیریهای مشخص هستند | آزمون SSL Labs | | بدون SHA-1 | منسوخ شده، مرورگرها آن را رد میکنند | جزئیات گواهی | | پشتیبانی از SAN | www و غیر-www باید هر دو پوشش داده شوند | جزئیات گواهی | | تمدید خودکار | پیشگیری از فاجعههای انقضا | تنظیمات Let's Encrypt / ارائهدهنده |
امتیازدهی SSL:
100% = گواهی معتبر + زنجیره کامل + TLS 1.3 + رمزگذاری قوی + تمدید خودکار
0% = گواهی منقضی یا گم شده
اشتباهات رایج SSL:
- گواهی منقضی بدون اطلاعرسانی — حداقل ۳۰ روز قبل از انقضا نظارت را تنظیم کنید (مرحله ۶)
- زنجیره ناقص گواهی — سرور باید گواهیهای میانی را ارسال کند، نه فقط گواهی برگ
- محتوای مختلط — صفحه HTTPS منابع HTTP (تصاویر، اسکریپتها، استایلها) را بارگذاری میکند
- لوپهای بازنهدی — چرخههای HTTP → HTTPS → HTTP ناشی از CDN/proxy نادرست پیکربندی شده
- عدم تطابق غیر-www و www — گواهی یکی را پوشش میدهد ولی دیگری را نه
پیروزی سریع: دامنه خود را از طریق SSL Labs (ssllabs.com/ssltest) بررسی کنید. هر چیزی که زیر رتبه "A" باشد دارای مشکلات قابل اقدام است. بیشتر ارائهدهندگان هاست این موارد را با یک کلیک اصلاح میکنند.
هدرهای امنیتی
هدرهای امنیتی، هدرهای پاسخ HTTP هستند که به مرورگرها میگویند چگونه باید هنگام بارگذاری سایت شما رفتار کنند. آنها از تمام دستههای حملات جلوگیری میکنند — و خزندههای گوگل آنها را بررسی میکنند.
هدرهای امنیتی ضروری:
سیاست امنیت محتوای (CSP)
CSP قدرتمندترین هدر امنیتی است. به مرورگرها میگوید که دقیقاً کدام منابع (اسکریپتها، استایلها، تصاویر، فونتها) مجاز به بارگذاری در صفحات شما هستند.
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' https://api.example.com; frame-ancestors 'none';
آنچه CSP جلوگیری میکند:
- حملات اسکریپت بینسایتی (XSS)
- حملات تزریق داده
- کلیکجکینگ (از طریق
frame-ancestors) - اجرای اسکریپتهای غیرمجاز (کریپتوماینرها، تزریقکنندگان تبلیغ)
استراتژی استقرار CSP:
- با
Content-Security-Policy-Report-Onlyشروع کنید (نقضها را بدون مسدود کردن ثبت میکند) - گزارشها را به مدت ۱-۲ هفته نظارت کنید
- منابع مشروع را در لیست سفید قرار دهید
- به حالت اجرایی سوئیچ کنید
- برای ثبت نقصهای مداوم،
report-uriیاreport-toاضافه کنید
X-Frame-Options
از گنجاندن سایت شما در iframeها در دامنههای دیگر جلوگیری میکند (محافظت در برابر کلیکجکینگ).
X-Frame-Options: DENY
یا اگر نیاز دارید که framing همان مبدأ را مجاز کنید:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
از انجام MIME-type sniffing توسط مرورگرها جلوگیری میکند (تعبیر فایلها به عنوان نوعهای مختلف نسبت به آنچه اعلام شده است).
X-Content-Type-Options: nosniff
این یک خط جلوگیری میکند از حملاتی که در آن یک فایل .jpg شامل جاوااسکریپت پنهان است که ممکن است توسط مرورگر اجرا شود.
Referrer-Policy
کنترل میکند که چقدر اطلاعات ارجاعدهنده هنگام کلیک کاربران بر روی لینکها از سایت شما ارسال میشود.
Referrer-Policy: strict-origin-when-cross-origin
این URL کامل را برای درخواستهای هممبدأ ارسال میکند اما تنها مبدأ (دامنه) را برای درخواستهای بینمبدأ.
Permissions-Policy
کنترل میکند که کدام ویژگیهای مرورگر (دوربین، میکروفن، موقعیت جغرافیایی و غیره) میتوانند در سایت شما استفاده شوند.
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
غیرفعال کردن ویژگیهایی که استفاده نمیکنید از سوءاستفاده اسکریپتهای شخص ثالث جلوگیری میکند.
مثال پیادهسازی هدر (Next.js):
// next.config.js
module.exports = {
async headers() {
return [{
source: '/(.*)',
headers: [
{ key: 'X-Content-Type-Options', value: 'nosniff' },
{ key: 'X-Frame-Options', value: 'SAMEORIGIN' },
{ key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
{ key: 'Permissions-Policy', value: 'camera=(), microphone=(), geolocation=()' },
{ key: 'Strict-Transport-Security', value: 'max-age=31536000; includeSubDomains; preload' },
]
}]
}
}
پیادهسازی هدر (Apache .htaccess):
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
پیادهسازی هدر (Nginx):
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
پیروزی سریع: تمام ۵ هدر فوق را به تنظیمات سرور خود اضافه کنید. این ۵ دقیقه طول میکشد و بلافاصله وضعیت امنیتی شما را در هر ابزاری بهبود میبخشد.
پیشبارگذاری HSTS
HTTP Strict Transport Security (HSTS) به مرورگرها میگوید که همیشه از HTTPS برای دامنه شما استفاده کنند — حتی قبل از اولین درخواست. بدون HSTS، اولین بازدید از سایت شما ممکن است هنوز از HTTP استفاده کند (که در معرض interception است) قبل از اینکه به HTTPS منتقل شود.
هدر HSTS:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
سه دستور:
| دستور | معنی | |------------------|----------------------------------| | max-age=31536000 | این را به مدت ۱ سال (به ثانیه) به یاد بیاورید | | includeSubDomains | همچنین به تمام زیر دامنهها اعمال میشود | | preload | درخواست گنجاندن در لیستهای پیشبارگذاری مرورگر |
فهرست پیشبارگذاری HSTS:
نهایت حفاظت HSTS. مرورگرها با یک فهرست داخلی از دامنههایی که باید همیشه از HTTPS استفاده کنند عرضه میشوند. ارسال دامنه شما به hstspreload.org به این معنی است:
- بازدیدکنندگان اولیه فوراً HTTPS دریافت میکنند (بدون HTTP → HTTPS انتقال)
- برای حملهکنندگان امکان کاهش ارتباطات وجود ندارد
- دائمی (سخت به حذف پس از جمعآوری)
الزامات برای پیشبارگذاری HSTS:
- گواهی HTTPS معتبر
- انتقال همه HTTP به HTTPS (شامل زیر دامنهها)
- هدر HSTS با
max-age>= 31536000 - هدر HSTS شامل
includeSubDomains - هدر HSTS شامل
preload - تمام زیر دامنهها باید از HTTPS پشتیبانی کنند
هشدار: فقط در صورتی که تمام زیر دامنههای شما از HTTPS پشتیبانی میکنند، به پیشبارگذاری ارسال کنید. دستور includeSubDomains بدین معنی است که هر زیر دامنه فقط HTTP غیر قابل دسترسی خواهد شد.
پیروزی سریع: اگر قبلاً HTTPS را در تمام زیر دامنهها دارید، هدر HSTS کامل را اضافه کنید و به hstspreload.org ارسال کنید. پردازش چند هفته طول میکشد اما حفاظت دائمی است.
اسکن آسیبپذیری
اسکنینگ خودکار آسیبپذیری مسائلی از امنیت شناخته شده را در استک شما قبل از اینکه حملهکنندگان از آنها سوءاستفاده کنند شناسایی میکند.
چیزهایی که اسکن آسیبپذیری بررسی میکند:
- نرمافزارهای قدیمی: وردپرس، افزونهها، کتابخانههای جاوااسکریپت با CVEهای شناخته شده
- فایلهای در معرض:
.env،.git،wp-config.php، dumpهای پایگاه داده - نشت اطلاعات: هدرهای نسخه سرور، حالت اشکالزدایی، tracebackها
- گواهینامههای پیشفرض: صفحات مدیریت بدون احراز هویت، رمزهای عبور پیشفرض
- پورتها/سرویسهای باز: سرویسهای غیرضروری در معرض اینترنت
- نقاط تزریق: فرمها بدون حفاظت CSRF، ورودیهای تأیید نشده
آسیبپذیریهای رایج بر اساس پلتفرم:
| پلتفرم | آسیبپذیری اصلی | راه حل | |--------------|-----------------------------|----------------------------------| | وردپرس | افزونههای قدیمی | بهروزرسانی خودکار + WAF | | شاپیفای | مجوزهای اپلیکیشن شخص ثالث | بررسی لیست اپلیکیشنها هر سه ماه | | Next.js | مسیرهای API در معرض | Middleware احراز هویت + محدودیت نرخ | | سایتهای استاتیک | پیکربندی نادرست CDN | بازبینی قوانین کش | | سفارشی | تزریق SQL | پرس و جوهای پارامترمند |
فرکانس اسکن:
- روزانه: اسکن خودکار سطحی (SSL، هدرها، فایلهای در معرض)
- هفتگی: بررسی آسیبپذیریهای وابستگی (npm audit، اسکنر افزونه وردپرس)
- ماهانه: اسکن عمیق با آزمایشهای احراز هویت شده
- بعد از هر استقرار: بررسی عود
پیروزی سریع: npm audit (Node.js) را اجرا کنید یا لیست افزونههای CMS خود را برای اجزای قدیمی بررسی کنید. مشکلات بحرانی/شدید را فوراً اصلاح کنید.
محتوای مختلط
محتوای مختلط زمانی رخ میدهد که یک صفحه HTTPS منابع (تصاویر، اسکریپتها، استایلها، iframeها) را از HTTP بارگذاری میکند. این امر به طور جزئی رمزگذاری را مختل کرده و هشدارهای مرورگر را فعال میکند.
انواع محتوای مختلط:
| نوع | شدت | مثال | رفتار مرورگر | |----------|---------|----------------------------|-------------------------| | فعال | بالا | اسکریپت HTTP، iframe، CSS | به طور پیشفرض مسدود میشود | | غیرفعال | متوسط | تصویر HTTP، ویدیو، صدا | با هشدار بارگذاری میشود |
محتوای مختلط فعال توسط مرورگرهای مدرن مسدود میشود — به این معنی که اسکریپتها و استایلهای شما به سادگی بارگذاری نخواهند شد. محتوای مختلط غیرفعال بارگذاری میشود اما هشدارهای امنیتی را نمایش میدهد.
یافتن محتوای مختلط:
- DevTools کروم را باز کنید → کنسول
- به دنبال هشدارهای "محتوای مختلط" باشید
- به طور جایگزین، با یک خزنده اسکن کنید (Screaming Frog، LANGR)
منابع رایج محتوای مختلط:
- URLهای
http://سختکوبی شده در محتوای شما (پستهای بلاگ، توضیحات محصولات) - ویجتهای شخص ثالث که منابع HTTP را بارگذاری میکنند
- محتوای تعبیه شده (تعبیههای قدیمی یوتیوب، ویجتهای رسانههای اجتماعی)
- CSS
background-imageبا URLهای HTTP - فونتهای بارگذاری شده از HTTP
اصلاح محتوای مختلط:
<!-- بد -->
<img src="http://example.com/image.jpg" />
<!-- خوب -->
<img src="https://example.com/image.jpg" />
<!-- بهترین (نسبت به پروتکل، به پروتکل صفحه سازگار میشود) -->
<img src="//example.com/image.jpg" />
اصلاح پایگاه داده (وردپرس):
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://yourdomain.com', 'https://yourdomain.com');
پیروزی سریع: صفحه اصلی خود را در کروم باز کنید، کلید F12 را فشار دهید، و برگه کنسول را برای هشدارهای محتوای مختلط بررسی کنید. هر چیزی که ظاهر میشود را اصلاح کنید — اینها مستقیماً برای گوگل قابل مشاهده هستند.
ریسک اسکریپتهای شخص ثالث
هر اسکریپت خارجی که بارگذاری میکنید یک مسئولیت پتانسیل امنیتی (و عملکردی) است. اسکریپتهای شخص ثالث میتوانند:
- به خطر بیفتند (حملات زنجیره تأمین)
- کاربران شما را بدون رضایت دنبال کنند (نقض GDPR)
- سایت شما را کند کنند (مسدودکننده رندر، تأخیر شبکه)
- عملکرد را مختل کنند (بهروزرسانیهای نسخه، خاموشیها)
- محتوای نامطلوب را تزریق کنند (اسکریپتهای تبلیغ که به اشتباه عمل کنند)
بررسی اسکریپتهای شخص ثالث:
| اسکریپت | ضروری؟ | سطح ریسک | جایگزین | |----------------------|---------|-----------|------------------| | Google Analytics | اغلب بله | کم | ردیابی سمت سرور | | ویجتهای چت | شاید | متوسط | راهحلهای خودمیزبانی | | دکمههای اشتراکگذاری اجتماعی | به ندرت | متوسط | پیوندهای ثابت | | آزمایش A/B | گاهی | بالا | آزمایش سمت سرور | | پیکسلهای هدفگذاری | تصمیم تجاری | بالا | دادههای شخص اول | | CDN های فونت | راحت | کم | فونتهای خودمیزبانی |
کاهش ریسک برای اسکریپتهای شخص ثالث ضروری:
- سلامت منابع (SRI): تأیید هاش از بارگذاری اسکریپتهای تغییر یافته جلوگیری میکند
<script src="https://cdn.example.com/lib.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
crossorigin="anonymous"></script>
- محدودیتهای CSP: تنها اجازه اسکریپتها از دامنههای شناخته شده
- iframeهای ایزوله: ایزوله کردن ویجتهای شخص ثالث
- بازرسی منظم: بازبینی سهماهه تمام منابع خارجی
- نظارت: هشدار در مورد دامنههای خارجی جدید که در صفحات شما ظاهر میشوند
پیروزی سریع: هر را در HTML خود که از دامنه خارجی بارگذاری میکند فهرست کنید. هر چیزی که نمیشناسید یا دیگر به آن نیاز ندارید را حذف کنید. هر حذف به بهبود امنیت و سرعت صفحه کمک میکند.
شناسایی بدافزار و مرورگر امن گوگل
گوگل یک فهرست مرورگر امن از سایتهایی که معروف به توزیع بدافزار یا میزبانی محتوای فیشینگ هستند را نگه میدارد. در اینجا قرار گرفتن برای سئو فاجعهبار است — گوگل یک هشدار صفحه کامل را قبل از اجازه دادن به کاربران برای بازدید از سایت شما نمایش میدهد.
چگونه سایتها علامتگذاری میشوند:
- سایت نفوذ کرده توزیعدهنده بدافزار (وردپرس هک شده و غیره)
- اسکریپتهای تزریقی که به سایتهای مخرب ارجاع میدهد
- صفحات فیشینگ که در دامنه شما میزبانی شدهاند
- محتوای تولید شده توسط کاربران لینک به بدافزار
- میزبانی فایلهایی که به عنوان خطرناک علامتگذاری شدهاند
بررسی وضعیت مرورگر امن خود:
https://transparencyreport.google.com/safe-browsing/search?url=yourdomain.com
یا در Google Search Console: بخش مشکلات امنیتی.
پیشگیری:
- تمام نرمافزارها را بهروز نگه دارید (CMS، افزونهها، کتابخانهها)
- از رمزهای عبور قوی و منحصر به فرد برای مدیریت + 2FA استفاده کنید
- نظارت بر یکپارچگی فایل (تشخیص تغییرات غیرمجاز)
- محتوای بارگذاری شده توسط کاربر را اسکن کنید
- افزونهها/تمهای غیرقابل استفاده را حذف کنید
- کاربرهای ادمین را به طور منظم بازبینی کنید
اگر علامتگذاری شدید:
- بدافزار/محتوای فیشینگ را شناسایی و حذف کنید
- تمام نرمافزارها را بهروز کرده و تمام رمزهای عبور را تغییر دهید
- درخواست بررسی در Google Search Console دهید
- بررسیها معمولاً ۱-۳ روز طول میکشد
- به دقت برای ۳۰ روز نظارت کنید (عود مجدد رایج است)
پیروزی سریع: سایت خود را در transparencyreport.google.com بررسی کنید. اگر پاک است، اطمینان حاصل کنید که CMS و تمام افزونهها بهروز هستند تا به همین شکل باقی بمانید.
چکلیست امنیت سئو
- [ ] گواهی SSL معتبر با تنظیم تمدید خودکار
- [ ] انتقال HTTP → HTTPS در تمام صفحات (۳۰۱، نه ۳۰۲)
- [ ] هدر HSTS با max-age >= 31536000
- [ ] هدر سیاست امنیت محتوای CSP تنظیم شده
- [ ] X-Content-Type-Options: nosniff
- [ ] X-Frame-Options: DENY یا SAMEORIGIN
- [ ] Referrer-Policy: strict-origin-when-cross-origin
- [ ] Permissions-Policy غیرفعال کردن ویژگیهای غیرقابل استفاده
- [ ] عدم وجود محتوای مختلط (منابع HTTP در صفحات HTTPS)
- [ ] عدم وجود فایلهای حساس در معرض (.env، .git، فایلهای پیکربندی)
- [ ] هدرهای نسخه سرور حذف شده یا عمومی
- [ ] تمام نرمافزارها/افزونهها بهروز
- [ ] وضعیت مرورگر امن گوگل: پاک
- [ ] اسکریپتهای شخص ثالث بازرسی شده و حداقل شده
- [ ] هاشهای SRI بر روی اسکریپتهای خارجی حیاتی
اشتباهات رایج امنیتی (بر اساس تأثیر سئو)
- گواهی SSL منقضی — کاهش فوری رتبه + هشدار مرورگر
- محتوای مختلط — کاهش سیگنالهای اعتماد، رمزگذاری جزئی بیفایده است
- عدم وجود HSTS — اولین درخواست در معرض خطر، سیگنال امنیت ضعیف
- عدم وجود CSP — اجازه میدهد هر اسکریپتی اجرا شود (وکتور XSS)
- فایلهای حساس در معرض —
.envبا کلیدهای API،.gitبا کد منبع - CMS/افزونههای قدیمی — آسیبپذیریهای شناخته شده، نفوذ در آخر
- عدم وجود هیچ هدر امنیتی — علامت میزند که شما امنیت را در نظر نگرفتهاید
- اسکریپتهای شخص ثالث بیش از حد مجاز — حفرههای امنیتی که نمیتوانید کنترل کنید
مراحل بعدی؟
مرحله ۸: قابلیت AI — مرزهای جدید سئو در سال ۲۰۲۶. چگونه برای نمای کلی AI گوگل، استنادهای ChatGPT، ارجاعات Perplexity و Gemini — سریعترین کانال کشف که اکثر رقبا حتی به آن فکر نکردهاند، بهینهسازی کنیم.
این راهنما بخشی از سری ۱۳ مرحلهای سئو LANGR است. یک بررسی رایگان انجام دهید تا ببینید سایت شما در تمام ۱۳ حوزه چه وضعیتی دارد.