SEO လမ်းညွှန် အဆင့် ၇: လုံခြုံရေး — ၂၀၂၆ မှာ Google ရဲ့ မျဉ်းကြောင်း
SEO လမ်းညွှန် အဆင့် ၇: လုံခြုံရေး
ဒီဟာ ၁၃ အဆင့် SEO လမ်းညွှန် ရဲ့ အဆင့် ၇ ဖြစ်ပါတယ်။ လုံခြုံရေးဟာ သုံးစွဲသူများကို ကာကွယ်ခြင်းသာမဟုတ်၊ သင့်ရှာဖွေရန်ထိန်းချုပ်မှုကိုလည်း တိုက်ရိုက် ထိခိုက်ပါတယ်။ Google သည် ၂၀၁၄ ခုနှစ်မှ စတင်ပြီး HTTPS ကို ရှာဖွေရန် သရုပ်ပြချက်အနေနဲ့ အသုံးပြုခဲ့ပြီး၊ မျှော်လင့်ချက်များလည်း တိုးလာခဲ့သည်။
ဝက်ဘ်ဆိုက်ပိုင်ရှင်အများစုသည် လုံခြုံရေးကို binary အနေနဲ့ တွေးပါသည်။ "ကျွန်ုပ်တို့တွင် SSL ရှိသည်၊ ထို့ကြောင့် ကျွန်ုပ်တို့သည် လုံခြုံသည်" ဟု ဆိုကြပါသည်။ လက်ကားမဟုတ်ပါ။ Google သည် လုံခြုံရေး သရုပ်ပြချက် အရေအတွက် များစွာကို အကဲဖြတ်သည်။ လုံခြုံရေး header များ၊ သက်ဆိုင်ရာ လက်မှတ်များနှင့် လုံးဝ မသင့်လျော်သော အကြောင်းအရာ မဟုတ်သော ဝက်ဘ်ဆိုက်များသည် သာမန် SSL လက်မှတ်ရှိသော ဝက်ဘ်ဆိုက်များထက် ပိုမြင့်မားသည်။
ကောင်းသွားတာကတော့ အများစုက လုံခြုံရေးပြုပြင်ခြင်းများသည် တစ်ခေတ်ထဲမှာ အဆင်သင့် အပြင်ဆင်ခြင်းများ ဖြစ်သည်။ သင့်ခန့်မှန်းချက်ကို တစ်ခါတည်း ပြုလုပ်ရုံဖြင့် သင့်အခြေအနေကို ထိန်းသိမ်းထားပါသည်။
SSL ပြင်ဆင်ခြင်း
SSL (နည်းပညာအရ TLS) သည် သင့်စက်နှင့် သုံးစွဲသူများ၏ အဆက်အနှ effortlessly ချုပ်ဆိုပြီး ဖျင့်ဖြိုး ဖျော့ချသူ မဟုတ်သည်။ ၂၀၁၄ မွာ Google အတည်ပြုပြီး HTTPS သည် ရှာဖွေရန် သရုပ်ပြချက်ဖြစ်သည်။ ၂၀၂၆ နောက်တွင် HTTPS မရှိခြင်း သည် အရှာချက်ပြဿနာသာမက အမှတ်အသားပြဿနာဖြစ်လာသည် — Chrome သည် HTTP ဝက်ဘ်ဆိုက်များကို "လုံခြုံမရ" ဟု ဖျော့ချခံရထားပြီး သုံးစွဲသူ ယုံကြည်မှုကို ဖျက်ဆုံးစေသည်။
လုံခြုံ SSL ရှိရန်လိုအပ်ချက်များ:
| လိုအပ်ချက် | ဘာကြောင့် | စစ်ဆေးပုံ | |-------------|-----|--------------| | သက်ဆိုင်ရာ လက်မှတ် | မရည်ညွှန်း = ရောင်းမရ သောသိမှတ် = သုံးစွဲသူများရပ်တန့် | သက်တမ်းကုန်ဆုံးရက်ကိုစစ်ဆေးပါ | | လုံးဝ ချိတ်ဆက်မှု | အပိုင်းအသွားဆောင်ထားသည့် လက်မှတ်များသည် အချို့သော စက်များတွင် အောင်မြင်မှုမရ | SSL Labs စမ်းသပ်မှု | | TLS 1.2+ | သက်ရောက်ခိုင်းနိုင်သော အရွေးချယ်မှုများရှိသည် | SSL Labs စမ်းသပ်မှု | | SHA-1 မရှိ | မသက်ဆိုင်သော၊ အင်တာနက်စီးပွားစနစ်များ ပျက်ကွက် | လက်မှတ် အသေးစိတ် | | SAN ကCoverage | www နှင့် non-www နှစ်ခုလုံးအကျုံးခံရမည် | လက်မှတ် အသေးစိတ် | | အလိုအလျောက်ရ-renewal | သက်တမ်းကုန်ဆုံးမှုများကို ရှောင်ကြဉ်ရန် | Let's Encrypt / ပံ့ပိုးသူ config |
SSL အမှတ်အသား:
100% = သက်ဆိုင်ရာ လက်မှတ် + လုံးဝ ချိတ်ဆက်မှု + TLS 1.3 + ပြင်းထန်သော cipher + အလိုအလျောက်ပြန်လည်ကာလ
0% = သက်တမ်းကုန်သွားသော သို့မဟုတ် လက်မှတ်မရှိ
ဆက်စပ် SSL အမှားများ:
- လက်မှတ်သည် အသိပေးခံမရဘဲ သက်တမ်းကုန်ဆုံးသည် — သက်တမ်းကုန်ဆုံးမှုမှ ၃၀ ရက်သောင့်သော ကာကွယ်မှုဖွင့်လှစ်ပါ (အဆင့် ၆)
- လက်မှတ် ချိတ်ဆက်မှု မပြည့်စုံ — ဆာဗာသည် အမြင့်ပျောက်ရှားသော လက်မှတ်များနှင့်မပြန်သေးမိပါ
- မသင့်လျော်သော အကြောင်းအရာ — HTTPS စာမျက်နှာသည် HTTP သရုပ်ပြမှုများ (ပုံစံများ၊ စာလုံးများ၊ အထည်များ) ဖွင့်သည်
- ပြောင်းလွှဲချုပ် loops — HTTP → HTTPS → HTTP စုစုပေါင်းသည် CDN/proxy မမှန်ကန်မှုကြောင့် ဖြစ်ပေါ်သည်
- Non-www နှင့် www ကို မတူညီမှု — လက်မှတ်သည် တစ်ခုကို အကျုံးဝင်ထားသော်လည်း နောက်တစ်ခုကို မဝင်ဘူး
Quick win: သင့်ဒိုမိန်းကို SSL Labs (ssllabs.com/ssltest) မှတ်ပုံတင်ပါ။ "A" အဆင့်မှ အောက်တွင်ရှိသည်ဆိုပါက အခြေခံပြ問題များရှိပါသည်။ များစုမ်းဘဝင့် ပံ့ပိုးသူများသည် ရွှေ့ပြောင်းလွယ်ပါသည်။
လုံခြုံရေး Header များ
လုံခြုံရေး Header များသည် HTTP တုံ့ပြန်မှု header များဖြစ်ပြီး သင်၏ ဝက်ဘ်ဆိုက်ကို အလွယ်တကူ အကျုံးကျရှိစေသည်။ ၎င်းက တိုက်ခိုက်မှုအမျိုးအစားများကို ကာကွယ်စေပြီး Google ရဲ့ crawler များသည် ၎င်းတို့အား ဆန်းစစ်ပါသည်။
လုံခြုံရေး header များ:
အကြောင်းအရာ-လုံခြုံရေး-မူဝါဒ (CSP)
CSP သည် အကြောင်းအရာကို အပေါင်းအဖျေါပြား လုံခြုံရေး header ဖြစ်သည်။ ၎င်းသည် ဘရောက်ဆာများကို သင့်စာမျက်နှာများတွင် ဖွင့်ခွင့်ပြုသည့် မည် သားကွက်နှင့် ကွက်တွေ အလိုက် ဖွဲ့စည်းပြီးဖငျပုံဖွင့်ပေးသည်။
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 သည် ကာကွယ်သည်:
- Cross-site scripting (XSS) တိုက်ခိုက်မှုများ
- ဒေတာ ရိုက်သွင်းမှု တိုက်ခိုက်မှုများ
- Clickjacking (
frame-ancestorsမှတဆင့်) - လုပ်ဆောင်မှုန့်သည်မရသော script (cryptominers, အကြောင်းထုတ်သူများ)
CSP ထည့်သွင်းမှု နည်းလမ်း:
Content-Security-Policy-Report-Onlyဖြင့် စတင်ပါ (သက်ဆိုင်မှုများကို စာရေအနည်းငယ်အတွက် မှတ်တမ်းတင်မည်)- ၁-၂ ပတ်အတွင်း စာရင်းများကို စောင့်ကြည့်ပါ
- ပညာရပ်လိုအပ်သော အရင်းအမြစ်များကို whitelist လုပ်ပါ
- သရုပ်ပြသော ဦးချုပ်မှုကို ပြောင်းပါ
- ဆက်လက် အဆင့်ဆင့်ပါ
report-uriသို့မဟုတ်report-toပြုလုပ်ပါ
X-Frame-Options
သင့်ဝက်ဘ်ဆိုက်ကို အခြားဒိုမိန်းပေါ်တွင် iframe များထဲတွင် Embedding မရစေရန် ကာကွယ်သည် (clickjacking ကာကွယ်မှုပုံ)
X-Frame-Options: DENY
သို့မဟုတ် အတိုက်အပြောသည်လိုလားသော အသစ်များကို ခွင့်ပြုရန်:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
ဘရောက်ဆာများကို MIME-type စမ်းသပ်ခြင်း (ဖိုင်များကို ကြေညာထားသော တိုင်း မတူညီသော အမျိုးအစားများအဖြစ် ထင်မြင်လှမ်းရန်) ကာကွယ်သည်။
X-Content-Type-Options: nosniff
ဤစာသားသည် .jpg ဖိုင်မှ လျှိရှိသော JavaScript ကို တားဆီးသည်။
Referrer-Policy
သုံးစွဲသူများသည် သင့်ဝက်ဘ်ဆိုက်မှ မည်သည့်ခလုတ်ကို နှိပ်သည့်အခါ Referrer အချက်အလက် များကို ပိုမိုတိကျစွာ ပေးပို့ခြင်း။
Referrer-Policy: strict-origin-when-cross-origin
ဤသည်မှာ အချိန်ကာလတွင် request များကို တိုက်ရိုက် URL လုံးဝပေးပို့ပုံဖြစ်သည်။ အခြားဒိုမိန်းမမှ စကားလုံး မှ ဇာတ်ဟောင်းက မူလ origin ပုံစံအား ဖြတ်သန်းပေးသလို ဖြစ်သည်။ သင်၏အကြောင်းအရာ ညွှန်ပြချက်များနှင့် သဘာဝကို ခြားနားစေလိမ့်မည်။
Permissions-Policy
ဘရောက်ဆာ မှတ်စုများ (ကင်မရာ၊ မိုက်ခရိုဖုန်း၊ အလျှောက်သတိပြုမှုစနစ် စသည်) သုံးရန် သင့်ဝက်ဘ်ဆိုက်တွင် အသုံးပြုနိုင်ကြောင်း ထိန်းချုပ်ပါ။
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
သင်မသုံးသော အင်္ဂါရပ်များပိတ်သိမ်းခြင်းသည် တမန်နှင့်အတူ ထိန်းချုပ်ခြင်းမှ ရှောင်မလျှောက်သေးပါ။
Header ထည့်သွင်းမှု ဥပမာ (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' },
]
}]
}
}
Header ထည့်သွင်းမှု (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"
Header ထည့်သွင်းမှု (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;
Quick win:၃နိသတယ် ၅ ခုစာအစီအစဉ်ကို သင့်ဆာဗာ configuration ထဲတွင် ထည့်သွင်းပါ။ ၎င်းသည် ၅ မိနစ်တိုင်းယူပြီး သင့်လုံခြုံရေးကို နေ့စဉ် ကျားနှင့် တိုးတက်မြောက်စေပါသည်။
HSTS Preload
HTTP Strict Transport Security (HSTS) သည် ဘရောက်ဆာများအား သင့်ဒိုမိန်းအတွက် အမြဲ HTTPS အသုံးပြုရန် ပြောပါသည် — ပထမဆုံးရောက်စာမီနောက် ငယ်သူမိမိကိုယ်တိုင်ရှယ်ဖြစ်နိုင်သည့် မည်သည်ဆင်ဖြစ်သော HTTP ကြောင့်ဖြစ်သည်။
HSTS header:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
ရိုးရိုးအကြောင်းအရာသုံးခု:
| ၂ | အကြောင်းအရာ | |-----------|---------| | max-age=31536000 | သက်တမ်းအတွင်း ၁ နှစ်မှ ထိမ်းသိမ်းပါ (စက္ကန့်တွင်) | | includeSubDomains | တစ်ဦးတည်းဖြစ်သည့် subdomains အပေါ်လည်း အသုံးပြုနိုင်သည် | | preload | ဘရောက်ဆာ preload စာရင်းများတွင် ထည့်ရန် တောင်းဆိုပါ |
HSTS preload စာရင်း:
HSTS ကာကွယ်မှုကြီးမားသောဇယား။ ဘရောက်ဆာများသည် အမြဲ HTTPS အသုံးပြုရန် လိုအပ်သော ဒိုမိန်းများ၏ စာရင်းတစ်ခုကို ဖျောက်သာထိုင်ထားသည်။ သင့်ဒိုမိန်းကို hstspreload.org တွင် တင်သွင်းတာဟာ:
- ပထမဆုံးတိုင်သို့ HTTPS ချက်ချင်း ဖြိုခွင့် (HTTP → HTTPS ပြောင်းမှုမရ)
- တိုက်ခိုက်သူများ၏ လက်ခံမှုမှု ဖျက်စီးငြိမ်းချမ်းချက်မှ လွတ်မြောက်သည်
- ကာလသည်အမြဲတမ်းဖြစ်နိုင်ပါသည် (တစ်ခုပွေမလွတ်တော်နိုင်)
HSTS preload ရာထူးများ:
- သက်ဆိုင်ရာ HTTPS လက်မှတ်
- HTTP မှ HTTPS သို့လွှဲပြောင်းပါ (subdomains အပါအဝင်)
- HSTS header သည်
max-age>= 31536000 ပါဝင်ရမည် - HSTS header သဘာဝ
includeSubDomainsပါဝင်ရမည် - HSTS header သည်
preload - Subdomains များသည် HTTPS ကို ထောက်ပံ့ရမည်
အနှစ်ချုပ်: HTTPS ကို ပံ့ပိုးသော subdomains များရှိပါကသာ preload မှာ ထညွှာမည်။ includeSubDomains သည် အချက်နှစ်ရပ်နှင့် မဟုတ်သော subdomains များကို ဝင်ရောက်မရသောဆိုင်ရာများကို ဖြစ်လာနိုင်သည်။
Quick win: သင့် subdomains များမှာ HTTPS ရှိပါက အပြည့်အစုံ HSTS header ထည့်ပြီး hstspreload.org သို့ တင်သွင်းပါ။ ဤထည့်သွင်းမှု မှုပုံစံသည် တစ်ပတ်လောက်ကြာတယ်။ မည်သည့် ကာကွယ်မှုကားတရုိ၉၍ အမြဲရှိမည်။
ခြို့လွယ်ချက် စစ်ဆေးခြင်း
စနစ်တော်မူတိုက်ခိုက်မှုများကို အလွှာက ရှုများကာ တာဝန်ရှိသော အတင်းပိုင်းဆိုင်ရာ rouletteတို့မှ မူရင်းအားလုံးကို ဆောင်ရွက်ပါ။
ခြို့လွယ်ချက် စစ်ဆေးခြင်းသည် စစ်ဆေးသည့်အချက်များ:
- ပုဂ္ဂလိကနည်းပညာများ: WordPress, plugins, JavaScript libraries တွင် သိထားသော CVE များ
- ပါဝင်သော ဖိုင်များ:
.env,.git,wp-config.php, database dumps - အချက်အလက် ဖြုတ်ခြင်း: ဆာဗာဗားရှင်း header, debug mode, stack traces
- ဒီဖေါ်သားများ: သက်ဆိုင်ဖောင့်များနှင့် အခွင့်အလမ်းဖြစ်သင့် ပုံရိပ်မရှိတဲ့ပါဝင်သော admin page များ
- ဖွင့်ပေးသော port/services: အလိုအလျောက်ဖွင့်ထားသော အသုံးပြုလာသော services
- ရိုက်ထည့်ပေါင်းမှု ချိတ်ဆက်များ: CSRF ကာကွယ်ညွှန်မထားသော ဖောင်များ၊ ထပ်မံအသုံးပြုမထားသော inputs
Platform အလိုက် ပုံမှန် ခြို့လွယ်ချက်များ:
| Platform | အထင်ရှားဆုံး ခြို့လွယ်ချက် | ပြုပြင်မှု | |----------|-------------------|-----| | WordPress | မကြာခဏပုံပြုပြင်မှု | အလိုအလျောက် update + WAF | | Shopify | အခြားဖွဲ့စည်းပူးပေါင်းမှု အခွင့်အာဏာ | တစ်လ အစီရင်ခံစာပြုစုရန် | | Next.js | API လမ်းကြောင်းလွွင့်ထုတ် | Auth middleware + rate limiting | | Static sites | CDN မဟုတ်သောမြျပင်ဆင် | ပြန်လည်အတွင်း တုံ့ပြန်ကြည့်ပါ | | Custom | SQL injection | Parameterized queries |
Scanning frequency:
- နေ့စဉ်: လျှော့ချက်ပုသိမ်ရှင် (SSL, headers, exposed files)
- အပတ်စဉ်: Dependency vulnerability စစ်ဆေးခြင်း (npm audit, WordPress plugin scanner)
- လစဉ်: အကျဉ်းချုပ်စစ်ဆေးမှုတွင် သက်ဆိုင်သော စမ်းသပ်မှု
- **ဘက်ဘက် တယ်လီွူယတ် ၁:= အကြောင်းတရားစစ်ဆေးမှု
Quick win: npm audit (Node.js) သို့မဟုတ် သင့် CMS plugin စာရင်းကို စစ်ဆေးပြီး အားလုံးရက်လွှင့်ရိဖို့ အချို့မှ ပြယ်ပြီးနောက်ညှုပ်ဉီး့ အဆင်ပြေတဲ့အချက်ကို ချုပ်စုပါ။
မထည့်သည့် မြောနေသည့် အကြောင်းအရာ
မထည့်သည့် အကြောင်းများမှာ HTTPS စာမျက်နှာသည် အကြောင်းအရာ (ပုံများ၊ scripts, styles, iframes) ကို HTTP အဖြစ်ချိန်ရှာဖွေသောအခါမှာ ဖြစ်ပါသည်။ ၎င်းသည် encryption များကို တိုအောင်ပျောက်စေပြီး ဘရောက်ဆာ ဓာတ်ပုံများကို ဖျက်ထားသည်။
မထည့်သည့် အကြောင်းအရာ:
| အမျိုးအစား | အခြေအနေ | နမူနာ | ဘရဲ့အျမတ် | |------|----------|---------|------------------| | Active | သည်မြင့် | HTTP script, iframe, CSS | မနှိပ်ကြောင်းပုံစံ | | Passive | အလယ် | HTTP ပုံ, ဗီဒီယို, အသံ | ဓာတ်ပုံရောက်ရန် restriction |
Active mixed content များသည် ဘရောက်ဆာတစ်စုဆောင်းထားပြီး မဖြစ်ဖွေါ့။ Passive mixed content များသည် လင်းချင်သောကြောင့်သုံးသက်သာထားသည်။
Mixed content ရှာဖွေရန်:
- Chrome DevTools ကိုဖွင့်ပါ → Console
- "Mixed Content" အကြောင်းပြချက်များကို ကြီးထွားစွာရှာမုန့်ပါ
- ဒါမှမဟုတ် crawlers နှင့် စမ်းသပ်မှုများ (Screaming Frog, LANGR)
မထည့်သည့် အကြောင်းအရာများပုံစံများ:
- ဆုံးဖြတ်ထားသော
http://URLs များ (blog post, product descriptions) - အခြားသူ မှာ ထည့်သွင်းထားသော
httpresources များ - Embedded content (YouTube ထိုးလျှောက်၊ social media widgets)
- CSS
background-imageတွင် HTTP URLs - HTTP မှာဖွဲထားသည့် fonts
မထည့်သည့် အကြောင်းများကို ပြန်ကြိုးစားပါ:
<!-- မကောင်း -->
<img src="http://example.com/image.jpg" />
<!-- ကောင်း -->
<img src="https://example.com/image.jpg" />
<!-- အကောင်းဆုံး (protocol-relative, Page protocol ကို Adaption ပြုပြင်) -->
<img src="//example.com/image.jpg" />
ဒေတာဘေ့စ်ပြုပြင်မှု (WordPress):
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');
Quick win: သင့်နေရန် Chrome တွင် အသစ်ဖြင့်ပုံဖျောက်ခြင်းရှိရှိ F12 button ကိုနှိပ်ပြီး Console tab မှ mixed content များကို လက်ရှိ စစ်ဆေးပါ။ အကြောင်းများမည်သည့်ကို မည်မဆိုပြန်လည်ဆုံးရှုံးပါ — အကြောင်းများသည် Google သို့ သိသာသောကာဏီ ဖြစ်ပါသည်။
အထူးစာသား နီလာဖရို
သင်ပျောက်အခြေနက်ဆဲနောင်သည် အကောင်းဆုံး သေရပ်သာပါ။
Quick win: ဘာမှမလွတ်တောင်းဆိုပါသေး။