🔴 Tingkat KRITIS (keamanan / wajib segera)
polyfill.io(baris 1106) — ini temuan paling serius. Domainpolyfill.iodijual ke perusahaan CDN Tiongkok (Funnull) awal 2024 dan mulai menyuntikkan malware ke 100.000+ situs pertengahan 2024. Ironisnya polyfill ini hanya untukIntersectionObserver, yang sekarang didukung semua browser sejak ~2019 — jadi tidak dibutuhkan sama sekali. Plus ia memakaidocument.write, yang memblokir parsing dan dihukum browser. Dibuang total.- Facebook
all.jslewat HTTP (baris 769) —http://connect.facebook.net/.../all.js. SDK ini sudah mati + dimuat lewat HTTP (mixed-content, otomatis diblokir di situs HTTPS). Dibuang.
🟠 Usang / mati
<meta http-equiv="X-UA-Compatible" content="IE=edge">— IE pensiun Juni 2022. Mubazir.- Loader Google Analytics (baris 1114) pakai
attachEvent&window.onload(API khusus IE), pola pemuatan jadul. - Sisa-sisa AMP (di-comment) — AMP sudah tidak memberi keuntungan ranking sejak 2021. Bisa dibersihkan.
- Related Posts pakai JSONP (
alt=json-in-script, baris 555) — pola lama; defaultnya bahkanhttp://. - defer.js + lazy-load berbasis JS + placeholder base64 — sekarang ada
loading="lazy"/decoding="async"native.
🟡 CSS belum modern
- Nol penggunaan CSS Grid, 82
display:flex+ 92calc()dengan trik margin-negatif (width:calc(50% - 20px)). Bisa digantigrid+gap→ kode lebih ringkas & tahan banting. - Dark mode pakai blok override
.drK …raksasa (baris 442, ribuan selector). Pendekatan modern: tukar CSS custom properties via[data-theme]+ dukungprefers-color-scheme. Bisa pangkas ratusan baris. - Banyak
-webkit-prefix yang tak perlu lagi (box-sizing, transform, animation). - Font self-host versi lama (
v9/v11), tanpapreconnect.
Sekarang saya mulai dari Tier 1 (KRITIS + mati) karena aman, berdampak besar, dan tidak mengubah tampilan. Saya kerjakan di salinan iMagz_v2.xml.Now the two critical security removals. First the Facebook all.js over HTTP:Now the most important fix — removing the malware-vector polyfill.io:Now the Google Analytics loader (uses IE-only attachEvent):Let me verify the edits are intact and the template's structural tag balance is unchanged (no broken Blogger tags):The structure is fully intact (every Blogger tag balanced and identical to the original). The remaining mentions of those terms are just my own explanatory comments, not live code:Tier 1 complete and verified safe. Presenting the patched file:## Yang sudah saya ubah di iMagz_v2.xml (Tier 1 — aman, tanpa ubah tampilan)
| # | Sebelum | Sesudah | Dampak |
|---|---|---|---|
| 1 | polyfill.io + document.write |
dihapus total | Menutup celah malware, parsing lebih cepat |
| 2 | http://…facebook…/all.js |
https://…/sdk.js?version=v21.0 |
Hilangkan mixed-content & SDK mati |
| 3 | <meta X-UA-Compatible IE=edge> |
dihapus | Buang sisa dukungan IE |
| 4 | Loader GA attachEvent/window.onload |
async gtag.js native |
Pola modern, bebas IE |
| 5 | viewport maximum-scale=5 (kunci zoom) |
viewport-fit=cover |
Aksesibilitas (zoom tidak dikunci) + aman untuk layar berponi |
| 6 | — | preconnect ke fonts.gstatic.com |
Font tampil lebih cepat |
Struktur Blogger 100% utuh — semua tag <b:if>, <b:section>, <b:widget>, <b:loop> jumlahnya sama persis dengan aslinya, jadi tema tetap bisa di-upload tanpa error.
Catatan penting: Saya naikkan versinya menjadi iMagz_v2 tidak resmi.
Peta jalan selanjutnya (perlu pengujian per langkah)
Tier 2 — modernisasi tanpa ubah tampilan signifikan
- Ganti lazy-load berbasis JS (
defer.js+ placeholder base64) →loading="lazy"+decoding="async"native, lalu buang defer.js sepenuhnya. - Related Posts: dari JSONP (
alt=json-in-script) →fetch()+ Blogger JSON API. - Bersihkan sisa AMP dan prefix
-webkit-yang tak perlu lagi.
Tier 3 — refactor lebih besar (paling berisiko, paling berdampak)
- Dark mode: ganti blok override
.drK …raksasa → tukar CSS variable lewat[data-theme]+ dukungprefers-color-scheme. Bisa pangkas ratusan baris. - Layout: ganti pola
calc()+ margin-negatif → CSS Grid +gap.
lanjut?