Panduan SEO Langkah 7: Keselamatan — Titik Dasar yang Diharapkan Google pada 2026
Panduan SEO Langkah 7: Keselamatan
Ini adalah Langkah 7 dari Panduan SEO 13 Langkah. Keselamatan bukan hanya tentang melindungi pengguna — ia secara langsung memberi kesan kepada kedudukan carian anda. Google telah menggunakan HTTPS sebagai isyarat kedudukan sejak 2014, dan harapan hanya semakin meningkat.
Kebanyakan pemilik laman beranggapan keselamatan sebagai sesuatu yang binari: "Kami ada SSL, jadi kami selamat." Sebenarnya, Google menilai puluhan isyarat keselamatan. Laman-laman dengan header keselamatan yang betul, sijil yang sah, dan tiada kandungan bercampur mengatasi laman-laman yang hanya mempunyai sijil SSL asas — semua yang lain adalah sama.
Berita baik: kebanyakan pembetulan keselamatan adalah konfigurasi sekali sahaja. Tetapkan sekali, dan ia melindungi kedudukan anda secara kekal.
Konfigurasi SSL
SSL (secara teknikalnya TLS) menyulitkan sambungan antara pelayan anda dan pengunjung. Sejak 2014, Google telah mengesahkan secara jelas HTTPS sebagai isyarat kedudukan. Pada 2026, tidak mempunyai HTTPS bukan hanya isu kedudukan — Chrome menandakan laman HTTP sebagai "Tidak Selamat" di bar alamat, merosakkan kepercayaan pengguna.
Keperluan untuk SSL yang betul:
| Keperluan | Kenapa | Cara Semak | |-----------|--------|------------| | Sijil yang sah | Tamat tempoh = amaran pelayar = pengguna keluar | Semak tarikh tamat | | Rantaian penuh | Rantaian yang tidak lengkap gagal pada beberapa peranti | Ujian SSL Labs | | TLS 1.2+ | Versi lama mempunyai kerentanan yang diketahui | Ujian SSL Labs | | Tiada SHA-1 | Tidak lagi digunakan, pelayar menolak | Butiran sijil | | Liputan SAN | www dan non-www mesti kedua-duanya diliputi | Butiran sijil | | Pembaharuan automatik | Mencegah bencana tamat tempoh | Konfigurasi Let's Encrypt / penyedia |
Skor SSL:
100% = Sijil sah + Rantaian penuh + TLS 1.3 + Cipher kuat + Pembaharuan automatik
0% = Sijil tamat atau tiada
Kesalahan umum SSL:
- Sijil tamat tanpa notis — Tetapkan pemantauan (Langkah 6) sekurang-kurangnya 30 hari sebelum tamat
- Rantaian sijil tidak lengkap — Pelayan mesti menghantar sijil pertengahan, bukan hanya daun
- Kandungan bercampur — Halaman HTTPS memuatkan sumber HTTP (imej, skrip, stylesheet)
- Gelung pengalihan — Kitaran HTTP → HTTPS → HTTP disebabkan CDN/proksi yang salah konfigurasi
- Ketidakpadanan non-www vs www — Sijil meliputi satu tetapi tidak yang lain
Kemenangan segera: Jalankan domain anda melalui SSL Labs (ssllabs.com/ssltest). Apa-apa di bawah penilaian "A" mempunyai isu yang boleh ditangani. Kebanyakan penyedia hosting membetulkan ini dengan satu klik.
Header Keselamatan
Header keselamatan adalah header respons HTTP yang memberi arahan kepada pelayar bagaimana untuk bertindak semasa memuatkan laman anda. Mereka mencegah keseluruhan kategori serangan — dan crawler Google memeriksa mereka.
Header keselamatan yang penting:
Dasar Keselamatan Kandungan (CSP)
CSP adalah header keselamatan yang paling berkuasa. Ia memberitahu pelayar dengan tepat sumber mana (skrip, gaya, imej, fon) yang dibenarkan dimuat pada halaman anda.
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';
Apa yang mencegah CSP:
- Serangan skrip silang (XSS)
- Serangan suntikan data
- Klik jacking (melalui
frame-ancestors) - Pelaksanaan skrip tanpa kebenaran (cryptominers, ad injectors)
Strategi penerapan CSP:
- Mulakan dengan
Content-Security-Policy-Report-Only(log pelanggaran tanpa menyekat) - Pantau laporan selama 1-2 minggu
- Putuskan sumber yang sah
- Beralih kepada mod penguatkuasaan
- Tambah
report-uriataureport-tountuk log pelanggaran yang berterusan
Pilihan X-Frame
Mencegah laman anda daripada disematkan dalam iframe di domain lain (perlindungan klik jacking).
X-Frame-Options: DENY
Atau jika anda perlu membenarkan rangka sama asal:
X-Frame-Options: SAMEORIGIN
Pilihan Jenis X-Content
Mencegah pelayar daripada mencium jenis MIME (mentafsir fail sebagai jenis yang berbeza daripada yang dinyatakan).
X-Content-Type-Options: nosniff
Baris ini mencegah serangan di mana fail .jpg mengandungi JavaScript tersembunyi yang mungkin dilaksanakan oleh pelayar.
Dasar Referrer
Mengawal berapa banyak maklumat referrer yang dihantar apabila pengguna mengklik pautan dari laman anda.
Referrer-Policy: strict-origin-when-cross-origin
Ini menghantar URL penuh untuk permintaan sama asal tetapi hanya asal (domain) untuk permintaan silang asal. Menyeimbangkan keperluan analitik dengan privasi.
Dasar Kebenaran
Mengawal ciri pelayar mana (kamera, mikrofon, geolokasi, dll.) yang boleh digunakan di laman anda.
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
Menonaktifkan ciri yang tidak anda gunakan mencegah skrip pihak ketiga daripada menyalahgunakannya.
Contoh penerapan 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' },
]
}]
}
}
Penerapan 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"
Penerapan 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;
Kemenangan segera: Tambahkan semua 5 header di atas kepada konfigurasi pelayan anda. Ini mengambil masa 5 minit dan segera meningkatkan kedudukan keselamatan anda dalam mana-mana alat pemindaian.
Pra-muat HSTS
Keselamatan Pengangkutan Ketat HTTP (HSTS) memberitahu pelayar untuk sentiasa menggunakan HTTPS untuk domain anda — bahkan sebelum permintaan pertama. Tanpa HSTS, lawatan pertama ke laman anda mungkin masih menggunakan HTTP (terdedah kepada pengintipan) sebelum pengalihan ke HTTPS berlaku.
Header HSTS:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Tiga arahan:
| Arahan | Maksud | |--------|--------| | max-age=31536000 | Ingat ini selama 1 tahun (dalam detik) | | includeSubDomains | Terapkan juga kepada semua subdomain | | preload | Meminta penyertaan dalam senarai muat sebelum pelayar |
Senarai muat HSTS:
Perlindungan HSTS yang terbaik. Pelayar menyediakan senarai domain terbina yang mesti sentiasa menggunakan HTTPS. Menghantar domain anda ke hstspreload.org bermakna:
- Pengunjung pertama mendapat HTTPS dengan serta-merta (tiada pengalihan HTTP → HTTPS)
- Mustahil bagi penyerang untuk menurunkan sambungan
- Kekal (sukar untuk dikeluarkan setelah dihantar)
Keperluan untuk muat HSTS:
- Sijil HTTPS yang sah
- Alih semua HTTP kepada HTTPS (termasuk subdomain)
- Header HSTS dengan
max-age>= 31536000 - Header HSTS termasuk
includeSubDomains - Header HSTS termasuk
preload - Semua subdomain mesti menyokong HTTPS
Amaran: Hanya hantar kepada pra-muat jika SEMUA subdomain anda menyokong HTTPS. Arahan includeSubDomains bermakna mana-mana subdomain yang hanya menggunakan HTTP akan menjadi tidak boleh diakses.
Kemenangan segera: Jika anda sudah mempunyai HTTPS di semua subdomain, tambahkan header HSTS penuh dan hantar ke hstspreload.org. Prosesnya mengambil masa beberapa minggu tetapi perlindungannya adalah kekal.
Pengimbasan Kerentanan
Pengimbasan kerentanan secara automatik mengenal pasti isu keselamatan yang diketahui dalam tumpukan anda sebelum penyerang memanfaatkannya.
Apa yang diperiksa oleh pengimbasan kerentanan:
- Perisian yang ketinggalan zaman: WordPress, plugin, perpustakaan JavaScript dengan CVE yang diketahui
- Fail terdedah:
.env,.git,wp-config.php, eksport database - Kebocoran maklumat: Header versi pelayan, mod debug, jejak tumpukan
- Kelayakan lalai: Halaman admin tanpa pengesahan, kata laluan lalai
- Port/perkhidmatan terbuka: Perkhidmatan yang tidak perlu terdedah kepada internet
- Poin suntikan: Borang tanpa perlindungan CSRF, input yang tidak disahkan
Kerentanan umum mengikut platform:
| Platform | Kerentanan Utama | Pembetulan | |----------|-------------------|------------| | WordPress | Plugin ketinggalan zaman | Kemas kini automatik + WAF | | Shopify | Kebenaran aplikasi pihak ketiga | Audit senarai aplikasi setiap suku tahun | | Next.js | Rute API terdedah | Middleware pengesahan + had kadar | | Laman statik | Salah konfigurasi CDN | Semak peraturan cache | | Peribadi | Suntikan SQL | Pertanyaan parameter |
Frekuesi mengimbas:
- Harian: Pengimbasan permukaan automatik (SSL, header, fail terdedah)
- Mingguan: Semakan kerentanan ketergantungan (npm audit, pengimbas plugin WordPress)
- Bulanan: Pengimbasan mendalam dengan ujian yang disahkan
- Selepas setiap penerapan: Semakan regresi
Kemenangan segera: Jalankan npm audit (Node.js) atau semak senarai plugin CMS anda untuk komponen yang ketinggalan zaman. Betulkan isu kritikal/tinggi dengan segera.
Kandungan Bercampur
Kandungan bercampur berlaku apabila halaman HTTPS memuat sumber (imej, skrip, stylesheet, iframe) melalui HTTP. Ini secara separa memecahkan penyulitan dan mencetuskan amaran pelayar.
Jenis kandungan bercampur:
| Jenis | Keterukan | Contoh | Tingkah Laku Pelayar | |-------|-----------|--------|----------------------| | Aktif | Tinggi | Skrip HTTP, iframe, CSS | Dihalang secara lalai | | Pasif | Sederhana | Imej HTTP, video, audio | Dimuat dengan amaran |
Kandungan bercampur aktif dihalang oleh pelayar moden — ini bermakna skrip dan gaya anda tidak akan dimuat. Kandungan bercampur pasif dimuat tetapi menunjukkan amaran keselamatan.
Mencari kandungan bercampur:
- Buka Chrome DevTools → Konsol
- Cari amaran "Kandungan Bercampur"
- Sebagai alternatif, imbas dengan crawler (Screaming Frog, LANGR)
Sumber kandungan bercampur yang biasa:
- URL
http://yang dikodkan keras dalam kandungan (post blog, keterangan produk) - Widget pihak ketiga yang memuat sumber HTTP
- Kandungan yang disematkan (embed lama YouTube, widget media sosial)
- CSS
background-imagedengan URL HTTP - Fon yang dimuat melalui HTTP
Memperbaiki kandungan bercampur:
<!-- Buruk -->
<img src="http://example.com/image.jpg" />
<!-- Baik -->
<img src="https://example.com/image.jpg" />
<!-- Terbaik (relatif-protokol, menyesuaikan dengan protokol halaman) -->
<img src="//example.com/image.jpg" />
Pembetulan pangkalan data (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');
Kemenangan segera: Buka halaman utama anda di Chrome, tekan F12, periksa tab Konsol untuk amaran kandungan bercampur. Betulkan mana-mana yang muncul — ini adalah langsung boleh dilihat oleh Google.
Risiko Skrip Pihak Ketiga
Setiap skrip luaran yang anda muat adalah liabiliti potensi keselamatan (dan prestasi). Skrip pihak ketiga boleh:
- Terjejas (serangan rantaian bekalan)
- Menjejak pengguna anda tanpa persetujuan (pelanggaran GDPR)
- Melambatkan laman anda (menghalang rendering, kelewatan rangkaian)
- Merosakkan fungsi (kemas kini versi, gangguan)
- Menyuntik kandungan yang tidak diingini (skrip iklan yang salah)
Audit skrip pihak ketiga anda:
| Skrip | Perlu? | Tahap Risiko | Alternatif | |-------|--------|--------------|------------| | Google Analytics | Sering ya | Rendah | Penjejakan di sisi pelayan | | Widget sembang | Mungkin | Sederhana | Penyelesaian yang dihoskan sendiri | | Butang kongsi sosial | Jarang | Sederhana | Pautan kongsi statik | | Ujian A/B | Kadang-kadang | Tinggi | Ujian di sisi pelayan | | Pixel retargeting | Keputusan perniagaan | Tinggi | Data pihak pertama | | CDN fon | Mudah | Rendah | Fon dihoskan sendiri |
Pengurangan risiko untuk skrip pihak ketiga yang penting:
- Integriti Subresource (SRI): Pengesahan hash mencegah skrip yang telah diubah suai daripada dimuat
<script src="https://cdn.example.com/lib.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
crossorigin="anonymous"></script>
- Sekatan CSP: Hanya benarkan skrip dari domain yang diketahui
- iframe tanpa bingkai: Memisahkan widget pihak ketiga
- Audit berkala: Semakan setiap sumber luaran setiap suku tahun
- Pemantauan: Amaran di domain luar baru yang muncul di halaman anda
Kemenangan segera: Senaraikan setiap tag dalam HTML anda yang dimuat dari domain luar. Buang mana-mana yang anda tidak kenali atau tidak lagi perlukan. Setiap penghapusan meningkatkan keselamatan dan kelajuan halaman.
Pengesanan Malware & Penjelajahan Selamat Google
Google mengekalkan senarai Penjelajahan Selamat bagi laman yang diketahui mengedarkan malware atau menjadi tuan rumah kandungan phishing. Terdaftar di sini adalah bencana untuk SEO — Google memaparkan amaran halaman penuh sebelum membenarkan pengguna melawat laman anda.
Bagaimana laman boleh ditandakan:
- Laman yang terjejas mengedarkan malware (WordPress yang digodam, dll.)
- Skrip yang disuntik mengalihkan kepada laman berbahaya
- Halaman phishing yang dihoskan pada domain anda
- Kandungan yang dijana pengguna yang mengandungi pautan ke malware
- Menghoskan fail yang ditandakan sebagai berbahaya
Memeriksa status Penjelajahan Selamat anda:
https://transparencyreport.google.com/safe-browsing/search?url=yourdomain.com
Atau dalam Google Search Console: bahagian Isu Keselamatan.
Pencegahan:
- Pastikan semua perisian dikemas kini (CMS, plugin, perpustakaan)
- Gunakan kata laluan admin yang kuat dan unik + 2FA
- Pantau integriti fail (kesan perubahan yang tidak dibenarkan)
- Imbas kandungan yang dimuat naik pengguna
- Buang plugin/tema yang tidak digunakan
- Semak pengguna admin secara berkala
Jika anda ditandakan:
- Kenal pasti dan buang kandungan malware/phishing
- Kemas kini semua perisian dan tukar semua kata laluan
- Minta semakan di Google Search Console
- Semakan biasanya mengambil masa 1-3 hari
- Pantau dengan teliti selama 30 hari (jangkitan semula adalah biasa)
Kemenangan segera: Semak laman anda di transparencyreport.google.com. Jika bersih, pastikan CMS dan semua plugin anda dikemas kini untuk kekal seperti itu.
Senarai Semak Keselamatan SEO
- [ ] Sijil SSL yang sah dengan pembaharuan automatik dikonfigurasi
- [ ] Pengalihan HTTP → HTTPS pada semua halaman (301, bukan 302)
- [ ] Header HSTS dengan max-age >= 31536000
- [ ] Header Content-Security-Policy dikonfigurasikan
- [ ] X-Content-Type-Options: nosniff
- [ ] X-Frame-Options: DENY atau SAMEORIGIN
- [ ] Referrer-Policy: strict-origin-when-cross-origin
- [ ] Dasar Permissions yang menonaktifkan ciri yang tidak digunakan
- [ ] Tiada kandungan bercampur (sumber HTTP pada halaman HTTPS)
- [ ] Tiada fail sensitif terdedah (.env, .git, fail konfigurasi)
- [ ] Header versi pelayan dibuang atau generik
- [ ] Semua perisian/plugin terkini
- [ ] Status Penjelajahan Selamat Google: bersih
- [ ] Skrip pihak ketiga diaudit dan diminimumkan
- [ ] Hash SRI pada skrip luaran yang kritikal
Kesalahan Keselamatan Umum (Dinilai Mengikut Impak SEO)
- Sijil SSL tamat — Kejatuhan kedudukan segera + amaran pelayar
- Kandungan bercampur — Merosakkan isyarat kepercayaan, penyulitan separa tidak berguna
- Tiada HSTS — Permintaan pertama terdedah, isyarat kelemahan keselamatan
- CSP yang hilang — Membolehkan mana-mana skrip dieksekusi (vektor XSS)
- Fail sensitif terdedah —
.envdengan kunci API,.gitdengan kod sumber - CMS/plugin yang ketinggalan zaman — Eksploitasi yang diketahui, kompromi akhirnya
- Tiada header keselamatan sama sekali — Isyarat anda tidak mempertimbangkan keselamatan
- Skrip pihak ketiga yang terlalu permisif — Lubang keselamatan yang anda tidak boleh kawal
Apa Seterusnya?
Langkah 8: Keselamatan AI — Puncak SEO pada 2026. Cara untuk mengoptimumkan untuk Gambaran Keseluruhan AI Google, rujukan ChatGPT, rujukan Perplexity, dan Gemini — saluran penemuan yang paling cepat berkembang yang kebanyakan pesaing belum bahkan pertimbangkan.
Panduan ini adalah sebahagian daripada siri 13 langkah SEO LANGR. Jalankan audit percuma untuk melihat di mana kedudukan laman anda dalam semua 13 disiplin.