{"id":24793,"date":"2025-12-22T10:00:02","date_gmt":"2025-12-22T03:00:02","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=24793"},"modified":"2026-02-13T17:18:37","modified_gmt":"2026-02-13T10:18:37","slug":"website-bisa-tampil-tapi-gambar-tidak-tampil","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/website-bisa-tampil-tapi-gambar-tidak-tampil\/","title":{"rendered":"Website Bisa Tampil, Tapi Gambar Tidak Tampil"},"content":{"rendered":"\n<p>Setelah Anda mengunggah file website ke hosting atau server, kemudian mencoba membukanya di <em>web browser<\/em>, semuanya tampil dengan baik kecuali satu masalah, yaitu gambar tidak tampil. Halaman hanya menampilkan kotak kosong di tempat seharusnya gambar berada. Pengalaman ini pasti membuat frustrasi, terutama jika Anda sudah yakin sudah mengunggah file gambar dengan benar.<\/p>\n\n\n\n<p>Masalah ini sebenarnya sangat umum terjadi pada website baru yang baru dipindahkan ke hosting, atau saat mengubah konfigurasi website. Berdasarkan pengalaman tim support teknis Rumahweb yang telah menangani ribuan kasus serupa, masalah gambar tidak tampil biasanya disebabkan oleh beberapa faktor teknis yang mudah diatasi. <\/p>\n\n\n\n<p>Pada artikel ini, kami akan membahas secara detail penyebab dan solusi untuk mengatasi masalah ini.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mengapa Gambar Tidak Tampil Padahal Website Bisa Diakses?<\/h2>\n\n\n\n<p>Sebelum masuk ke solusi, penting untuk memahami alasan di balik masalah ini. Ketika Anda mengakses website, <em>browser<\/em> menjalankan perintah HTML yang memberi tahu browser di mana letak file gambar. Jika browser tidak menemukan file di lokasi yang ditunjuk, maka gambar tidak akan ditampilkan, meskipun website itu sendiri bisa diakses dengan baik.<\/p>\n\n\n\n<p>Perbedaan antara website yang tampil tapi gambar tidak adalah karena file HTML dapat ditampilkan tanpa bergantung pada file gambar, sementara file gambar memerlukan path referensi yang tepat. Jadi, jika path atau lokasi gambar salah, hanya gambar yang tidak akan muncul, bukan seluruh website.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Penyebab Umum Gambar Tidak Tampil dan Solusinya<\/h2>\n\n\n\n<p>Ada beberapa penyebab utama mengapa gambar tidak tampil di website Anda. Kami akan membahas masing-masing dengan penjelasan teknis dan solusi langsung yang bisa Anda implementasikan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Penamaan File Gambar Tidak Sesuai (<em>Case Sensitive<\/em>)<\/h3>\n\n\n\n<p>Sistem operasi Linux, yang digunakan oleh semua server Rumahweb dan sebagian besar hosting profesional, menganggap huruf besar dan huruf kecil sebagai karakter yang berbeda. Ini disebut &#8220;<em><a href=\"https:\/\/www.rumahweb.com\/journal\/case-sensitive-adalah\/\" target=\"_blank\" rel=\"noopener\" title=\"\">case sensitive<\/a><\/em>&#8220;. Berbeda dengan Windows, yang tidak membedakan antara huruf besar dan kecil dalam nama file.<\/p>\n\n\n\n<p>Misalkan Anda memiliki file gambar bernama logo.jpg. Jika di kode HTML Anda menulis:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;img src=\"Logo.jpg\" alt=\"Logo Perusahaan\" \/&gt;<\/code><\/pre>\n\n\n\n<p>atau <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;img src=\"logo.JPG\" alt=\"Logo Perusahaan\" \/&gt;<\/code><\/pre>\n\n\n\n<p>Maka gambar tidak akan tampil, karena server Linux menganggap Logo.jpg, logo.jpg, dan logo.JPG sebagai tiga file yang berbeda. File yang benar-benar ada adalah logo.jpg (huruf kecil), sementara browser mencari Logo.jpg atau logo.JPG.<\/p>\n\n\n\n<p>Solusinya, anda bisa melakukan hal berikut ini: <\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Standardisasi penamaan file<\/strong>: Gunakan huruf kecil untuk semua nama file gambar. Contohnya: logo.jpg, banner-produk.png, icon-facebook.svg.<\/li>\n\n\n\n<li><strong>Periksa kode HTML Anda<\/strong>: Pastikan path gambar dalam tag &lt;img&gt; persis sama dengan nama file, termasuk huruf besar dan kecilnya.<\/li>\n\n\n\n<li><strong>Gunakan tools untuk memeriksa<\/strong>: Jika Anda menggunakan WordPress, install plugin seperti <em>Broken Link Checker<\/em> untuk menemukan gambar yang path-nya salah.<\/li>\n<\/ol>\n\n\n\n<p>Berikut adalah contoh kode yang benar. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- File asli: logo.jpg (huruf kecil) --&gt;\n&lt;img src=\"images\/logo.jpg\" alt=\"Logo Perusahaan\" \/&gt;\n\n&lt;!-- Pastikan path dan nama file persis sama --&gt;\n&lt;img src=\"images\/logo.jpg\" alt=\"Logo Perusahaan\" \/&gt;  &lt;!-- Benar --&gt;\n&lt;img src=\"images\/Logo.jpg\" alt=\"Logo Perusahaan\" \/&gt;  &lt;!-- Salah --&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Lokasi Direktori Gambar Tidak Benar<\/strong><\/h3>\n\n\n\n<p><em>Path<\/em> adalah alamat atau lokasi file dalam struktur folder server Anda. Path yang salah adalah salah satu penyebab paling umum gambar tidak tampil. Sebagai contoh, jika gambar tersimpan di folder <em>assets\/images\/<\/em>, tetapi HTML mencari di folder images\/ saja, browser tidak akan menemukan file tersebut.<\/p>\n\n\n\n<p>Berikut adalah cara mengecek lokasi directory gambar pada website:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Gunakan FTP Client<\/strong>: Akses server Anda menggunakan aplikasi FTP seperti <em>FileZilla<\/em> atau <em>WinSCP<\/em>. Lihat struktur folder dan catat lokasi folder tempat gambar disimpan.<\/li>\n\n\n\n<li><strong>Bandingkan dengan path HTML<\/strong>: Buka file HTML atau template website Anda, dan bandingkan path gambar dalam tag &lt;img&gt; dengan lokasi sebenarnya di server.<\/li>\n<\/ol>\n\n\n\n<p>Berikut adalah contoh struktur folder yang umum digunakan: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/contoh-struktur-folder.png\"><img loading=\"lazy\" decoding=\"async\" width=\"991\" height=\"423\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/contoh-struktur-folder.png\" alt=\"Website Bisa Tampil, Tapi Gambar Tidak Tampil - struktur folder\" class=\"wp-image-60170\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/contoh-struktur-folder.png 991w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/contoh-struktur-folder-300x128.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/contoh-struktur-folder-768x328.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/contoh-struktur-folder-370x158.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/contoh-struktur-folder-270x115.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/contoh-struktur-folder-570x243.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/contoh-struktur-folder-740x316.png 740w\" sizes=\"auto, (max-width: 991px) 100vw, 991px\" \/><\/a><\/figure>\n\n\n\n<p>Jika file index.html ingin memanggil gambar logo.jpg, path yang benar adalah:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;img src=\"assets\/images\/logo.jpg\" alt=\"Logo\" \/&gt;<\/code><\/pre>\n\n\n\n<p><strong>Panduan Path Relatif vs Absolut:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Path Relatif<\/strong> (lebih direkomendasikan): <em>assets\/images\/logo.jpg<\/em> path dihitung dari lokasi file HTML saat ini.<\/li>\n\n\n\n<li><strong>Path Absolut<\/strong>: <em>\/assets\/images\/logo.jpg<\/em> path dihitung dari root folder website.<\/li>\n<\/ul>\n\n\n\n<p>Gunakan path relatif karena lebih fleksibel saat website dipindahkan ke server lain.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Permission File Tidak Sesuai<\/strong><\/h3>\n\n\n\n<p>Permission atau izin akses file adalah konfigurasi keamanan yang menentukan siapa yang dapat membaca, menulis, atau menjalankan file. Server Linux menggunakan sistem permission tiga digit: 644 untuk file dan 755 untuk folder. Jika permission tidak sesuai, browser mungkin tidak dapat mengakses file gambar.<\/p>\n\n\n\n<p><strong>Permission yang Tepat:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>File gambar<\/strong>: Permission 644<\/li>\n\n\n\n<li><strong>Folder tempat gambar<\/strong>: Permission 755<\/li>\n<\/ul>\n\n\n\n<p>Anda bisa mempelajari cara mengubah permission di cPanel melalui artikel berikut: <a href=\"https:\/\/www.rumahweb.com\/journal\/chmod-adalah\/\" target=\"_blank\" rel=\"noopener\" title=\"chmod adalah\">chmod<\/a><\/p>\n\n\n\n<p>Untuk memverifikasi permission yang Anda gunakan benar atau salah, akses gambar langsung di <em>browser<\/em> dengan mengetik URL lengkap:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;namadomain.com\/assets\/images\/logo.jpg<\/code><\/pre>\n\n\n\n<p>Jika gambar terbuka dengan baik di <em>browser<\/em>, berarti permission sudah benar. Jika muncul error &#8220;403 Forbidden&#8221;, berarti permission perlu diperbaiki.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Format File Gambar Tidak Didukung atau File <em>Corrupt<\/em><\/strong><\/h3>\n\n\n\n<p>Masalah gambar tidak tampil selanjutnya bisa disebabkan karena file gambar tidak diduukung atau file gambar <em>corrupt<\/em>. <em>Browser <\/em>modern mendukung berbagai format gambar seperti:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>JPEG<\/strong> (.jpg, .jpeg)  untuk foto dan gambar kompleks<\/li>\n\n\n\n<li><strong>PNG<\/strong> (.png) untuk grafis dan transparansi<\/li>\n\n\n\n<li><strong>GIF<\/strong> (.gif) untuk animasi sederhana<\/li>\n\n\n\n<li><strong>WebP<\/strong> (.webp) yaitu format modern untuk kompresi lebih baik<\/li>\n\n\n\n<li><strong>SVG<\/strong> (.svg) untuk grafis vektor<\/li>\n<\/ul>\n\n\n\n<p>Jika Anda menggunakan format yang tidak umum atau usang, browser mungkin tidak bisa menampilkannya.<\/p>\n\n\n\n<p>Berikut adalah cara memverifikasi file apakah benar atau perlu diperbaiki:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Periksa ukuran file<\/strong>: Jika file gambar sangat kecil (kurang dari 1 KB), kemungkinan file corrupt atau tidak terupload dengan benar. Download kembali dari server dan buka dengan <em>image viewer<\/em> lokal.<\/li>\n\n\n\n<li><strong>Ubah format file<\/strong>: Jika Anda menduga file corrupt, coba ubah format. Contohnya, jika logo.jpg tidak tampil, coba konversi ke logo.png dan update HTML Anda.<\/li>\n<\/ol>\n\n\n\n<p>Anda bisa menggunakan <em>tools online<\/em> untuk mengecek, seperti menggunakan <em>TinyPNG<\/em> atau <em>ImageOptimizer<\/em> untuk mengecek apakah file gambar valid.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Menggunakan Script PHP untuk Menampilkan Gambar<\/strong><\/h3>\n\n\n\n<p>Beberapa website menggunakan <em>script <\/em>PHP untuk menampilkan gambar secara dinamis, misalnya untuk proteksi hak cipta atau fungsi khusus lainnya. Jika Anda menggunakan pendekatan ini, pastikan <em>script <\/em>PHP bekerja dengan benar.<\/p>\n\n\n\n<p>Salah satu masalah yang sering terjadi adalah penggunaan fungsi <code>readfile()<\/code> yang mungkin di-<em>disable <\/em>oleh server untuk alasan keamanan. Fungsi ini memungkinkan pembacaan file secara langsung dan dapat menimbulkan risiko keamanan jika tidak dikelola dengan baik.<\/p>\n\n\n\n<p>Jika Anda menggunakan <code>readfile()<\/code> dan gambar tidak tampil, ubah fungsi tersebut menjadi <code>file_get_contents()<\/code>, yang lebih aman dan biasanya tidak di-<em>disable<\/em>. Namun, jika anda tetap ingin menggunakan <code>readfile()<\/code>, maka Anda bisa menghubungi support hosting Anda untuk dibantu diaktifkan fungsinya. Di Rumahweb,  Anda bisa mengajukan permohonan enable function <code>readfile()<\/code> melalui tiket di Clientzone.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. URL Dasar Website Berubah (Base URL Issue)<\/h3>\n\n\n\n<p><em>Base URL<\/em> adalah URL utama website Anda, misalnya <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-gridlove-acc-color\">https:\/\/namadomain.com\/<\/mark> atau <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-gridlove-acc-color\">https:\/\/namadomain.com\/blog\/<\/mark>. Jika website Anda dipindahkan ke subdomain, subdirektori, atau domain baru, <em>path <\/em>gambar yang sebelumnya bekerja bisa tiba-tiba tidak berfungsi.<\/p>\n\n\n\n<p><strong>Contoh Kasus:<\/strong><\/p>\n\n\n\n<p>Misalkan website Anda awalnya berada di:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>https:\/\/namadomain.com\/website\/<\/li>\n<\/ul>\n\n\n\n<p>Kemudian dipindahkan ke:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>https:\/\/www.namadomain.com\/ (domain dengan www)<\/li>\n\n\n\n<li>https:\/\/namadomain.com\/ (tanpa subdirektori)<\/li>\n<\/ul>\n\n\n\n<p>Jika Anda menggunakan <em>path absolut<\/em> dalam HTML, gambar tidak akan muncul karena path sudah tidak valid.<\/p>\n\n\n\n<p><strong>Contoh Path Absolut yang Bermasalah:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- Jika website awalnya di namadomain.com\/website\/ --&gt;\n&lt;img src=\"\/website\/images\/logo.jpg\" alt=\"Logo\" \/&gt;\n\n&lt;!-- Setelah dipindahkan ke namadomain.com\/, path di atas jadi salah --&gt;\n&lt;!-- Browser mencari di namadomain.com\/website\/images\/ yang tidak ada lagi --<\/code><\/pre>\n\n\n\n<p><strong>Solusi:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Gunakan Path Relatif<\/strong>: Ubah semua path absolut menjadi path relatif. Path relatif akan terus bekerja tidak peduli website dipindahkan ke mana.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- Path Relatif (Lebih Fleksibel) --&gt;\n&lt;img src=\"images\/logo.jpg\" alt=\"Logo\" \/&gt;<\/code><\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Untuk CMS (WordPress, Joomla, dll)<\/strong>: Gunakan fungsi bawaan untuk menghasilkan path yang benar.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- Jangan hardcode path --&gt;\n&lt;img src=\"\/wp-content\/uploads\/2024\/logo.jpg\" alt=\"Logo\" \/&gt;\n\n&lt;!-- Gunakan fungsi WordPress --&gt;\n&lt;img src=\"&lt;?php echo wp_get_attachment_url(123); ?&gt;\" alt=\"Logo\" \/&gt;<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Untuk Website Statis<\/strong>, pertimbangkan menggunakan base tag di &lt;head&gt; untuk konsistensi. Berikut contohnya: <\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;head&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;base href=\"https:\/\/namadomain.com\/\"&gt;\n&lt;\/head&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7. Header HTTP Content-Type Salah atau Hilang<\/strong><\/h3>\n\n\n\n<p>Ketika <em>browser <\/em>menerima file gambar dari server, server harus memberitahu <em>browser <\/em>jenis file apa yang dikirim melalui <em>HTTP header Content-Type<\/em>. Jika header ini salah atau hilang, <em>browser <\/em>mungkin tidak mengenali file sebagai gambar dan tidak akan menampilkannya.<\/p>\n\n\n\n<p>Contoh kasusnya sebagai berikut:<\/p>\n\n\n\n<p>Jika server mengirim file logo.jpg dengan <em>header Content-Type: text\/plain<\/em> (menganggapnya sebagai teks), <em>browser <\/em>akan mencoba menampilkan gambar sebagai teks, yang hasilnya hanya kode binary yang tidak terbaca.<\/p>\n\n\n\n<p><strong>Solusi di PHP:<\/strong><\/p>\n\n\n\n<p>Pastikan Anda menetapkan header yang benar sebelum mengirim file gambar:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\/\/ Tentukan tipe file\n$imageType = mime_content_type('path\/to\/image.jpg'); \/\/ Atau gunakan finfo\n\n\/\/ Set header yang benar\nheader('Content-Type: ' . $imageType);\n\n\/\/ Kirim file\nfile_get_contents('path\/to\/image.jpg');\n?&gt;<\/code><\/pre>\n\n\n\n<p><strong>Solusi untuk Server Web (Apache\/Nginx):<\/strong><\/p>\n\n\n\n<p>Server sudah dilengkapi dengan konfigurasi otomatis untuk mengenali tipe file berdasarkan ekstensi. Namun, jika masalah tetap ada, cek file .htaccess (untuk Apache):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;IfModule mod_mime.c&gt;\n    AddType image\/jpeg .jpg .jpeg\n    AddType image\/png .png\n    AddType image\/gif .gif\n    AddType image\/webp .webp\n    AddType image\/svg+xml .svg\n&lt;\/IfModule&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>8. Firewall atau Security Policy Memblokir Akses<\/strong><\/h3>\n\n\n\n<p>Beberapa hosting atau CDN memiliki <em>firewall <\/em>tingkat lanjut yang dapat memblokir akses ke file tertentu berdasarkan kriteria keamanan. Ini bisa terjadi jika:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>File gambar dikategorikan sebagai &#8220;suspicious&#8221; berdasarkan ukuran, tipe, atau nama file.<\/li>\n\n\n\n<li>Request berasal dari IP yang di-<em>blacklist<\/em>.<\/li>\n\n\n\n<li>Konfigurasi WAF (<em>Web Application Firewall<\/em>) terlalu ketat.<\/li>\n<\/ul>\n\n\n\n<p>Berikut adalah cara untuk mengecek, apakah firewall di server Anda memblokir gambar atau tidak. <\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Cek Logs Server<\/strong>: Akses error log di cPanel atau file manager\n<ul class=\"wp-block-list\">\n<li>Lokasi: <em>\/public_html\/error_log<\/em> atau <em>\/var\/log\/apache2\/error.log<\/em><\/li>\n\n\n\n<li>Cari error messages terkait gambar (403 Forbidden, 406 Not Acceptable)<br \/><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Test dengan Browser Berbeda\/Inkognito<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Buka website di <em>incognito window<\/em> atau dengan VPN<\/li>\n\n\n\n<li>Jika gambar muncul, kemungkinan IP Anda di-blacklist<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Solusi:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Whitelist IP Anda<\/strong>: Jika IP Anda di-<em>blacklist<\/em>, minta <em>support <\/em>untuk memasukkan IP ke <em>whitelist<\/em><\/li>\n\n\n\n<li><strong>Relax WAF Rules<\/strong>: Hubungi support untuk menyesuaikan tingkat keamanan WAF (hati-hati dengan implikasi keamanan)<\/li>\n\n\n\n<li><strong>Rename File<\/strong>: Jika nama file terlihat &#8220;<em>suspicious<\/em>&#8220;, coba rename dengan nama yang lebih umum<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>9. Gambar di-Load dari URL Eksternal yang Tidak Accessible<\/strong><\/h3>\n\n\n\n<p>Beberapa website menggunakan URL eksternal untuk gambar, misalnya dari CDN, image hosting, atau server terpisah:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;img src=\"https:\/\/cdn.example.com\/images\/logo.jpg\" alt=\"Logo\" \/&gt;<\/code><\/pre>\n\n\n\n<p>Jika URL eksternal tidak accessible atau server gambar down, gambar tidak akan tampil.<\/p>\n\n\n\n<p><strong>Penyebab Umum:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Server penyedia gambar offline atau bermasalah<\/li>\n\n\n\n<li>Bandwidth CDN habis<\/li>\n\n\n\n<li>Akses dari IP tertentu di-block oleh penyedia<\/li>\n\n\n\n<li>CORS (<em>Cross-Origin Resource Sharing<\/em>) tidak dikonfigurasi dengan benar<\/li>\n<\/ul>\n\n\n\n<p><strong>Cara Mengecek:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Copy URL gambar langsung ke browser<\/li>\n\n\n\n<li>Jika tidak muncul, berarti server eksternal bermasalah<\/li>\n\n\n\n<li>Coba ping server untuk verifikasi: ping cdn.example.com<\/li>\n<\/ol>\n\n\n\n<p><strong>Solusi:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Gunakan CDN yang Reliable<\/strong>: Gunakan CDN terkenal dengan uptime tinggi (Cloudflare, AWS CloudFront, Google Cloud CDN)<br \/><\/li>\n\n\n\n<li><strong>Setup Fallback Image<\/strong>: Jika gambar eksternal gagal, tampilkan placeholder atau gambar backup:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;img src=\"https:\/\/cdn.example.com\/images\/logo.jpg\" \n     alt=\"Logo\"\n     onerror=\"this.src='images\/logo-backup.jpg';\" \/&gt;\n<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Self-host Gambar<\/strong>: Lebih baik menyimpan gambar di server Anda sendiri untuk kontrol penuh:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- Dari eksternal (tidak reliable) --&gt;\n&lt;img src=\"https:\/\/cdn-lain.com\/images\/logo.jpg\" alt=\"Logo\" \/&gt;\n\n&lt;!-- Self-hosted di Rumahweb (reliable) --&gt;\n&lt;img src=\"assets\/images\/logo.jpg\" alt=\"Logo\" \/&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>10. Encoding URL Gambar Salah<\/strong><\/h3>\n\n\n\n<p>URL harus mengikuti standar tertentu dan tidak boleh mengandung karakter khusus yang tidak dikodekan dengan benar. Jika nama file gambar mengandung spasi, aksen, atau karakter khusus tanpa <em>encoding<\/em>, <em>browser <\/em>mungkin tidak dapat membaca <em>path<\/em> dengan benar.<\/p>\n\n\n\n<p><strong>Contoh Masalah:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># contoh yang tidak baik\n&lt;!-- Nama file dengan spasi (tidak di-encode) --&gt;\n&lt;img src=\"images\/banner terbaru.jpg\" alt=\"Banner\" \/&gt;\n&lt;!-- Browser membaca sebagai: banner%20terbaru.jpg (spasi menjadi %20) --&gt;\n\n# contoh yang baik\n&lt;!-- Nama file sudah di-encode atau tanpa spasi --&gt; contoh benar\n&lt;img src=\"images\/banner-terbaru.jpg\" alt=\"Banner\" \/&gt;\n&lt;!-- Atau --&gt;\n&lt;img src=\"images\/banner%20terbaru.jpg\" alt=\"Banner\" \/&gt;\n<\/code><\/pre>\n\n\n\n<p><strong>Solusi:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Gunakan Penamaan yang Standar<\/strong>: Hindari spasi, aksen, dan karakter khusus. Gunakan dash (-) atau underscore (_) sebagai pemisah.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code># contoh yang kurang sesuai\nbanner terbaru.jpg &gt; ada spasi\nbanner-kami (2024).jpg &gt; ada spasi\nlog\u00f6-perusahaan.jpg &gt; ada huruf \u00f6 \n\n# contoh yang disarankan\nbanner-terbaru.jpg\nbanner-kami-2024.jpg\nlogo-perusahaan.jpg<\/code><\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Untuk Nama File Existing<\/strong>: Gunakan URL <em>encoding <\/em>atau <em>rename <\/em>file ke format yang valid.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\/\/ Encode nama file untuk URL\n$filename = 'banner terbaru.jpg';\n$encoded = urlencode($filename); \/\/ banner%20terbaru.jpg\necho '&lt;img src=\"images\/' . $encoded . '\" alt=\"Banner\" \/&gt;';\n?&gt;\n<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Konfigurasi Server<\/strong>: Jika menggunakan Apache, pastikan setting di .htaccess mengizinkan karakter spasi (tidak disarankan untuk alasan keamanan).<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting Sistematis<\/h2>\n\n\n\n<p>Apabila gambar tidak tampil setelah membaca penyebab di atas, ikuti langkah-langkah berikut secara berurutan:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Langkah 1: Periksa HTML Source Code<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Buka website di <em>browser<\/em><\/li>\n\n\n\n<li>Klik kanan dan pilih &#8220;Inspect&#8221; atau &#8220;View Page Source&#8221;<\/li>\n\n\n\n<li>Cari tag &lt;img&gt; yang gambarnya tidak tampil<\/li>\n\n\n\n<li>Catat path gambar yang ditunjuk (atribut src)<\/li>\n<\/ol>\n\n\n\n<p><strong>Contoh:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;img src=\"images\/logo.jpg\" alt=\"Logo\" \/&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Langkah 2: Verifikasi Path Gambar di Server<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Akses server melalui FTP Client (FileZilla)<\/li>\n\n\n\n<li>Navigasi ke folder yang disebutkan di path HTML (misalnya: images\/)<\/li>\n\n\n\n<li>Cek apakah file gambar benar-benar ada di sana<\/li>\n\n\n\n<li>Jika ada, lanjut ke Langkah 3<\/li>\n<\/ol>\n\n\n\n<p><strong>Jika file tidak ada:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Upload file gambar ke folder yang benar<\/li>\n\n\n\n<li>Pastikan nama file persis sama dengan yang ditulis di HTML<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Langkah 3: Periksa Case Sensitivity Penamaan File<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Lihat nama file di server (misalnya: logo.jpg)<\/li>\n\n\n\n<li>Bandingkan dengan path di HTML (misalnya: Logo.jpg)<\/li>\n\n\n\n<li>Pastikan huruf besar dan kecil sama persis<\/li>\n<\/ol>\n\n\n\n<p><strong>Jika berbeda:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ubah nama file di HTML agar sesuai dengan nama file di server, ATAU<\/li>\n\n\n\n<li>Rename file di server agar sesuai dengan HTML (gunakan FTP Client)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Langkah 4: Verifikasi Permission File<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Klik kanan file gambar di FTP Client<\/li>\n\n\n\n<li>Pilih &#8220;File <em>Permissions<\/em>&#8220;<\/li>\n\n\n\n<li>Pastikan file memiliki <em>permission <\/em>644<\/li>\n\n\n\n<li>Pastikan folder gambar memiliki <em>permission <\/em>755<\/li>\n<\/ol>\n\n\n\n<p><strong>Jika berbeda:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ubah <em>permission <\/em>sesuai standar<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Langkah 5: Akses Gambar Langsung di Browser<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Di <em>address bar<\/em> browser, ketik URL lengkap gambar:<br \/><code>https:\/\/namadomain.com\/images\/logo.jpg<\/code><\/li>\n\n\n\n<li>Tekan Enter<\/li>\n<\/ol>\n\n\n\n<p><strong>Hasil yang Diharapkan:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gambar terbuka langsung di browser (berarti file OK dan permission benar)<\/li>\n<\/ul>\n\n\n\n<p><strong>Jika muncul error:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Error 404: File tidak ada atau <em>path <\/em>salah<\/li>\n\n\n\n<li>Error 403: <em>Permission <\/em>file tidak sesuai<\/li>\n\n\n\n<li>Jika muncul error lainnya, Anda dapat menghubungi support teknis<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Langkah 6: Clear Browser Cache<\/strong><\/h3>\n\n\n\n<p>Terkadang <em>browser<\/em> menyimpan versi lama website di cache. Coba:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Buka DevTools (<em>F12<\/em>)<\/li>\n\n\n\n<li>Klik kanan tombol refresh<\/li>\n\n\n\n<li>Pilih &#8220;Empty Cache and Hard Refresh&#8221;<\/li>\n\n\n\n<li>Atau gunakan shortcut: Ctrl + Shift + R (Windows) atau Cmd + Shift + R (Mac)<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Tips Pencegahan untuk Masa Depan<\/strong><\/h2>\n\n\n\n<p>Untuk menghindari masalah gambar tidak tampil di kemudian hari, terapkan beberapa praktik terbaik:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Gunakan Penamaan File yang Konsisten<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Selalu gunakan huruf kecil untuk nama file.<\/li>\n\n\n\n<li>Gunakan <em>underscore <\/em>atau <em>dash <\/em>untuk spasi (contoh: banner_produk.jpg, bukan banner produk.jpg).<\/li>\n\n\n\n<li>Hindari karakter khusus atau spasi.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Struktur Folder yang Rapi<\/strong><\/h3>\n\n\n\n<p>Organisir aset website Anda dengan struktur folder yang konsisten:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/struktur-folder.png\"><img loading=\"lazy\" decoding=\"async\" width=\"986\" height=\"316\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/struktur-folder.png\" alt=\"\" class=\"wp-image-60166\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/struktur-folder.png 986w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/struktur-folder-300x96.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/struktur-folder-768x246.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/struktur-folder-370x119.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/struktur-folder-270x87.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/struktur-folder-570x183.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/12\/struktur-folder-740x237.png 740w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Dokumentasi Path Gambar<\/strong><\/h3>\n\n\n\n<p>Buat catatan atau spreadsheet yang berisi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nama gambar<\/li>\n\n\n\n<li>Lokasi folder di server<\/li>\n\n\n\n<li>Lokasi penggunaan di website<\/li>\n\n\n\n<li>Ukuran file<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Gunakan CDN untuk Optimasi<\/strong><\/h3>\n\n\n\n<p>Pertimbangkan menggunakan CDN (<em>Content Delivery Network<\/em>) untuk menyimpan gambar. Ini membuat website lebih cepat dan reliable. Rumahweb menawarkan integrasi CDN yang mudah untuk klien hosting.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Backup Reguler<\/strong><\/h3>\n\n\n\n<p>Selalu lakukan backup website Anda secara berkala. Jika file gambar corrupt atau hilang, Anda bisa memulihkannya dari backup.<\/p>\n\n\n\n<p><strong>BACA JUGA<\/strong> : <a href=\"https:\/\/blog.rumahweb.com\/plugin-backup-wordpress\/\">5 Plugin Backup WordPress Terbaik yang dapat Anda Gunakan<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Kesimpulan<\/strong><\/h2>\n\n\n\n<p>Masalah gambar tidak tampil di website, padahal website bisa diakses, biasanya disebabkan oleh faktor-faktor teknis yang sederhana seperti penamaan file case sensitive, path direktori yang salah, permission file yang tidak sesuai, atau issue dengan <em>script <\/em>PHP. <\/p>\n\n\n\n<p>Dengan mengikuti langkah-langkah troubleshooting sistematis yang kami jelaskan di atas, Anda seharusnya dapat mengidentifikasi dan mengatasi masalah dengan cepat.<\/p>\n\n\n\n<p>Poin-poin penting untuk diingat:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Case Sensitive<\/strong>: Server Linux membedakan huruf besar dan kecil, selalu gunakan huruf kecil<\/li>\n\n\n\n<li><strong>Path yang Benar<\/strong>: Pastikan lokasi file di server sesuai dengan path di HTML<\/li>\n\n\n\n<li><strong>Permission File<\/strong>: File gambar harus memiliki permission 644 dan folder 755<\/li>\n\n\n\n<li><strong>Format File<\/strong>: Gunakan format gambar yang umum didukung (JPEG, PNG, WebP)<\/li>\n\n\n\n<li><strong>Script PHP<\/strong>: Gunakan <code>file_get_contents()<\/code> daripada <code>readfile()<\/code><\/li>\n<\/ul>\n\n\n\n<p>Dengan menerapkan praktik terbaik seperti penamaan file yang konsisten, struktur folder yang rapi, dan backup reguler, Anda dapat mencegah masalah ini terjadi di masa depan. Semoga artikel ini bermanfaat dan website Anda kembali menampilkan gambar dengan sempurna!<\/p>\n\n\n\n<p>Demikian artikel kami tentang cara untuk memperbaiki gambar tidak tampil pada website, semoga bermanfaat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Setelah Anda mengunggah file website ke hosting atau server, kemudian mencoba membukanya di web browser, semuanya tampil dengan baik kecuali satu masalah, yaitu gambar tidak tampil. Halaman hanya menampilkan kotak kosong di tempat seharusnya gambar berada. Pengalaman ini pasti membuat frustrasi, terutama jika Anda sudah yakin sudah mengunggah file gambar dengan benar. Masalah ini sebenarnya [&hellip;]<\/p>\n","protected":false},"author":329,"featured_media":24795,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[142],"tags":[1682,22],"class_list":{"0":"post-24793","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tips-dan-trik","8":"tag-gambar","9":"tag-website"},"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/10\/Banner-Website-Bisa-Tampil-Tapi-Gambar-Tidak-Tampil-min.png","jetpack_shortlink":"https:\/\/wp.me\/p8n3G7-6rT","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/24793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/329"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=24793"}],"version-history":[{"count":7,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/24793\/revisions"}],"predecessor-version":[{"id":61738,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/24793\/revisions\/61738"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/24795"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=24793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=24793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=24793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}