Mesin pencari fokus pada teks internal saat memberi peringkat. Sekalipun Anda memiliki produk terbaik dan Anda menghilangkan debunya, tetapi dalam deskripsi produk (di teks utama) tidak disebutkan namanya (tidak termasuk judul dan h1), dan juga pabrikannya tidak diduplikasi di paling tidak, maka halaman dengan produk ini berdasarkan permintaan yang relevan akan lebih rendah daripada halaman sejenisnya (hal-hal lain dianggap sama).
Permasalahan lainnya adalah banyaknya jumlah produk yang menjadi tugas bagi mereka yang masih antusias membuat teks unik dengan tangannya sendiri.
Masalah lainnya adalah lokalisasi. Dengan setiap bahasa, jumlah deskripsi yang perlu dibuat meningkat berkali-kali lipat. Anda memiliki dua bahasa dan 100 produk, bersiaplah untuk menulis 200 deskripsi.
Masalah ini dan masalah lainnya dapat diselesaikan dengan bantuan generator teks seo dan deskripsi produk IMGeneratorSeo (OC 3) (sinonimkan).
Keuntungan dan kemungkinan
- Dukungan Template Cepat untuk produk dan kategori (data dalam database tidak berubah, hanya ditampilkan; diterapkan dengan cepat; dapat diaktifkan/dinonaktifkan dengan cepat).
- Generasi lanjutan mencatat data dalam database, yang memungkinkan Anda untuk tidak memuat situs (semakin cepat halaman dibuka - semakin banyak Yandex, Google, dan mesin pencari lain yang menyukainya). Terutama mengingat beragamnya kemampuan modul.
- Bidang tambahan dengan deskripsi produk (dapat diaktifkan/dinonaktifkan dengan cepat). Juga tersedia untuk diedit di kartu produk
- Dukungan untuk memasukkan bidang tambahan dengan kemampuan untuk menghasilkan dan menggunakan nilainya di bidang lain. Misalnya, Anda dapat menghubungkan bidang ean dan lainnya.
- Atribut produk didukung
- Anda dapat menggunakan fungsi kondisional ifequal (kondisi), replace (penggantian)
- Bidang penting utama yang tersedia untuk dibuat (tidak termasuk bidang tambahan). Kemampuan untuk mengatur deskripsi produk, kunci meta, deskripsi meta, tag, judul dan tentu saja h1 (jika tersedia).
- Filter besar untuk pengaturan generasi, termasuk toko (multistore), status, pabrikan.
- Kemampuan untuk menentukan produk tertentu (berdasarkan filter)
- Untuk setiap bidang, Anda dapat mengatur cara penambahan yang berbeda: Jangan lakukan apa pun, Ganti yang kosong, Tambah dulu, Tambah di akhir, Timpa
- Selain itu, Anda memiliki tag [product_desc] yang dapat disisipkan di mana saja. Perhatikan bahwa jika jenisnya ditambahkan, teks sumber akan diduplikasi (di mana Anda menentukan dan di awal/akhir, tergantung pada jenisnya)
- Sinonim kompleks dari bentuk {{param1.1|param1.2|param1.3}|{param2.1|param2.2}| param3}
- Kategori utama didukung jika ada
- Bidang [product_meta_h1] didukung jika ada dalam database
- Selama pembuatan, semua pengaturan untuk pasangan "Kategori, Bahasa" diingat, sehingga Anda selalu dapat terus membuat teks dengan mudah. Saat Anda memilih kategori, pengaturannya secara otomatis ditarik. Jika pengaturan sebelumnya disimpan untuk kategori tersebut, maka pengaturan terakhir akan tetap ada dalam formulir, yang sangat berguna untuk navigasi kategori secara berurutan.
- Multilokalisasi/Multibahasa - menghasilkan teks untuk setiap bahasa secara terpisah
- Semuanya dilakukan menggunakan Ajax (kecuali opsi di Pengaturan, tetapi biasanya cukup untuk mengaturnya sekali), jadi Anda tidak perlu terus-menerus menunggu reboot (relevan untuk berbagai skema pembangkitan).
Templat cepat
Templat cepat memungkinkan redefinisi tag meta produk dan kategori dengan cepat seperti judul, judul, h1 (jika tersedia), deskripsi meta, dan kata kunci meta untuk setiap bahasa. Dan semua ini dapat diatur hanya dalam 5-10 menit.
Hal ini sangat berguna untuk aplikasi pembuatan templat yang ringan dan massal. Misalnya,
" [nama] [model] dari [produsen] untuk [harga] hanya di kami! " untuk judul produk.
Perhatikan bahwa templat tidak menimpa data database.
Secara teknis, templat diterapkan pada tingkat inti opencart (model standar produk dan kategori), sehingga setiap modul di sisi klien yang menggunakan model pengambilan data standar juga akan "melihat" tag meta yang sudah dibuat.
Untuk setiap bidang, Anda dapat mengatur cara penambahan yang berbeda: Jangan lakukan apa pun, Ganti yang kosong, Tambah dulu, Tambah di akhir, Timpa.
Bidang secara otomatis dibersihkan dari tag html dan dipangkas menjadi 255 karakter.
Perhatikan bahwa jika kolom tidak diisi dan kondisinya sedemikian rupa sehingga terjadi penggantian, nilai kosong akan ditampilkan. Misalnya, jika templat disetel dalam H1 untuk satu bahasa, dan nilai kosong disetel untuk bahasa lain, dan mode "Timpa" dipilih, maka H1 akan kosong dalam bahasa kedua. Untuk mencegah hal ini terjadi (kecuali Anda perlu menambahkan sesuatu untuk bahasa kedua), tambahkan nilai bidang. Dalam hal ini, "[meta_h1]". Opsi ini dibiarkan karena terkadang ada kebutuhan untuk mengosongkan kolom secara sementara dan cepat (misalnya, kunci meta telah disalin dan perlu diterjemahkan dan disesuaikan).
Bidang tambahan dengan deskripsi produk
Hampir semua orang pernah menghadapi kenyataan bahwa terkadang deskripsi produk perlu disimpan di kolom tambahan (atau mungkin hanya membuat teks SEO di sana). Misalnya impor dan ekspor.
Dimulai dengan versi 1.7.0, modul IMGeneratorSeo menyediakan opsi ini.
Bagaimana semuanya diatur.
1. Tabel terpisah dibuat di database tempat bidang ini disimpan untuk setiap produk dan bahasanya.
2. Ada peluang untuk mengedit bidang ini secara manual di kartu produk.
3. Di tab "Pengaturan" modul, Anda dapat memilih opsi untuk menampilkan deskripsi. Tersedia 4 pilihan: Dari yang utama, Dari yang utama + tambahan, Dari tambahan + utama, Dari tambahan. Artinya, Anda dapat menentukan opsi tampilan sesuai kebutuhan.
Dan sekarang, ke bagian yang paling menyenangkan.
Cara menghasilkan teks di bidang ini.
Semuanya sangat sederhana. Di tab "Produk", daftar drop-down "Tabel dengan data" muncul. Jika Anda memilih "Basic", maka kolom standar produk akan terisi. Jika Anda memilih "Tambahan", HANYA BIDANG DENGAN DESKRIPSI TAMBAHAN yang akan diisi. Pengaturan lain tidak berpengaruh.
Harap dicatat bahwa bidang ini juga disimpan dalam pengaturan templat (daftar "Tabel dengan data").
YANG PALING MENYENANGKAN. Semua fungsionalitas juga tersedia untuk digunakan — fungsi, tag, sinonim, atribut. Harap dicatat bahwa semua data diambil dari tabel utama saja. Satu-satunya hal adalah tanda centang kosong diterapkan ke bidang tambahan (dalam kasus "Ganti kosong").
Daftar tag yang tersedia dan fitur generasi lanjutan
{param1|param2|...} - sinonim untuk konstruksi
Tag: [id_produk], [nama_produk], [sku_produk], [id_kategori], [nama_kategori], [id_produksi], [nama_produksi], [tag_produk], [judul_meta_produk], [harga_produk], [nama_model],
Secara terpisah tentang [product_desc] - (memungkinkan Anda menggunakan deskripsi saat ini di mana pun Anda inginkan, namun hati-hati saat mengatur jenis pengganti)
Elemen kontrol " Pilih kategori utama " dan " gunakan meta H1 " - memengaruhi pembuatan hanya jika database Anda memilikinya. Jika tidak ada H1 di database, maka [product_meta_h1] diganti dengan nilai kosong. Jadi, pada OpenCart murni, pengaturan ini tidak berpengaruh, di ocStore pengaturan ini penting. Jika field OpenCart telah ditambahkan, maka pembangkitan akan dilakukan.
Atribut didukung selama pembuatan. Mereka diatur sesuai dengan templat berikut - [attr_%Nama atribut%] . Jika tidak ada produk untuk atribut apa pun, maka [attr_%Nama atribut%] akan kosong (konstruksi formulir apa pun [attr_%Beberapa teks%] diganti, tetapi teks tidak boleh berisi simbol " ] "). Sehingga Anda bisa membuat template tanpa takut atributnya hilang. Daftar template siap pakai dengan atribut ada di bagian bawah halaman pembuatan.
Pertimbangkan nama grup atribut
Dalam mode normal, atribut digunakan sebagai [attr_%Attribute Name%] , tetapi dalam beberapa kasus Anda perlu merinci nama grup atribut. Dalam hal ini, polanya adalah [attr_%Attribute Group%_%Attribute Name%] .
Perhatikan bahwa penggantian template terjadi sesuai dengan opsi yang dipilih. Misalnya, jika Anda menentukan [attr_%Attribute Name%] di templat dan memilih untuk menggunakan nama grup atribut, maka konstruk tidak akan diganti dengan nilai yang benar (data konstruk tidak akan diganti sama sekali, kecuali yang kosong nilai, tetapi akan diganti dengan [attr_%Attribute Group % _%Name of the atribut%] , dalam situasi sebaliknya pendekatannya serupa).
Salinan otomatis atribut ke buffer selama pemilihan
Jika opsi ini diaktifkan, ketika suatu atribut dipilih dari daftar atribut, nilainya secara otomatis disalin (dengan mempertimbangkan templatnya) ke clipboard.
Browser harus mendukung kemungkinan menyalin ke clipboard dengan JS (memerlukan: document.execCommand("Copy") dan jQuery().select()).
Fungsi bersyarat
Untuk mengaktifkan fungsi bersyarat, Anda harus memilih "Gunakan" di daftar " Gunakan fungsi bersyarat ". Secara default, fitur-fitur tersebut dinonaktifkan. Fungsi bertumpuk tidak didukung.
Format fungsi bersyarat:
[[fungsi:namaFunc:param1:::param2:::param3]]
Di mana
1. nameFunc - nama fungsi
2. param1 dan lainnya adalah parameter. Pemisah :::
Kombinasi yang dilarang di dalam parameter ]] dan :::
Untuk menentukan string kosong dalam suatu parameter, cukup masukkan pembatas 2 kali berturut-turut.
Misalnya:
[[fungsi:ifequal:1:::0::::::{param1|param2}]]
Fungsi ifequal membandingkan parameter pertama dengan parameter kedua sebagai string. Jika cocok, parameter ketiga yang digunakan, jika tidak, parameter keempat yang digunakan. Jika Anda ingin menampilkan frasa hanya jika cocok, maka parameter keempat dapat ditentukan.
Format fungsi ifequal adalah:
[[fungsi:ifequal:leftValue:::rightValue:::equal:::notEqual]]
- leftValue - nilai kiri dibandingkan
- rightValue - nilai yang tepat dibandingkan
- sama - ditampilkan jika nilainya cocok
- notEqual - ditampilkan jika nilainya tidak cocok
Saat menghitung fitur, semua tag, sinonim, dan atribut digunakan, sehingga Anda dapat membuat kombinasi yang rumit.
Fungsi contoh
[[func:ifequal:[product_id]:::42:::[product_id] - [product_name]:::{Super|Mega|Luar Biasa|Mega luar biasa|Produk yang luar biasa}]]
Jika pengidentifikasi produk adalah 42, maka tampilkan id dan nama, jika tidak pilihlah frasa yang indah.
Format fungsi ganti :
[[fungsi:replace:ListSearch:::ListReplace:::Subject]]
- ListSearch - daftar kata yang dicari dipisahkan dengan koma
- ListReplace - daftar pengganti yang cocok yang dipisahkan koma
- Subjek - string keluaran
Semua tag (pola), sinonim dan atribut didukung untuk semua parameter.
Fungsi contoh
[[func:replace:Toko saya, (23/7):::Toko super saya, (24/7/365):::[product_meta_title]]]
Ganti nama toko dan perbaiki kesalahan nomornya.
Bidang tambahan untuk dibuat
Poin penting:
- Hanya tabel #product dan #product_description yang didukung, dengan # adalah awalan database.
- Keberadaan field dalam tabel diperiksa saat modul dibuka. Jika Anda menghapus field di database, Anda perlu memuat ulang modul (tab di browser).
- Perhatikan bahwa pemotongan berdasarkan jumlah karakter maksimum terjadi apa adanya. Yaitu, jika Anda memiliki bidang html yang terdiri dari 10 karakter dan Anda mencoba menulis '<a href=”page1.html”>page1.html</a>', bidang tersebut akan menulis '<a href=”p'. Perhatikan juga bahwa karakter adalah karakter yang di-escape, sehingga jika panjang kolom benar-benar 10 karakter, maka akan ditulis lebih sedikit lagi, yaitu '<a href' (misalnya, '<' menjadi '<', dan tanda kutip ganda menjadi ''').
- Nilai yang dihapus dari tag html diganti ke dalam bidang teks normal (jika jenis ini dipilih). Anda dapat menulis tag html di kolom itu sendiri.
- Bidang secara otomatis ditambahkan ke daftar pembuatan dalam format [ac_%p atau pd%_%field%] . Misalnya, jika Anda menambahkan kolom ean ke tabel produk , kolom tersebut akan diberi tag [ac_p_ean] , dan untuk tabel product_description (dengan asumsi Anda menambahkan kolom ean ke tabel) kolom tersebut akan menjadi [ac_pd_ean] . Agar tag bidang tersedia, bidang tersebut harus ditambahkan ke modul sebagai opsional. Misalnya, jika Anda tidak menambahkan ean , konstruksi [ac_p_ean] tidak akan digantikan oleh nilai bidang.
- Hanya bidang dengan tipe yang dimulai dengan CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, atau LONGTEXT (tidak peka huruf besar-kecil) yang didukung.
- Bidang duplikat atau salah ditambahkan akan diabaikan. Dalam kasus bidang yang berulang, bidang pertama diambil sebagai dasar.
- Bidang standar dalam modul tidak dapat diubah.
- Perhatikan bahwa jika Anda mengisi bidang di tabel produk , bidang tersebut tidak bergantung pada bahasa. Artinya, jika Anda membuat kolom untuk produk yang sama, misalnya isbn , dengan menimpa terlebih dahulu di "Bahasa 1" lalu di "Bahasa 2", maka datanya akan berasal dari "Bahasa 2".
- Kedengarannya jelas, ingat " lebih banyak bidang = pembuatan lebih lama " (misalnya, selusin bidang html dengan templat pengujian kira-kira menggandakan waktu pembuatan di server pengujian saya; tetapi selalu ada pembuatan potongan untuk itu!).
Beberapa nuansa:
- Jika nama tidak ditentukan, maka nama yang ditentukan terdiri dari tabel dan kolom. Misalnya. ' p_ean ' di mana p adalah tabel produk dan ean adalah bidangnya.
- Jika panjangnya kurang dari atau sama dengan 0, maka nilainya tidak terpotong oleh panjangnya.
- Bidang panjang kosong berarti 0.
- Nama bidang dibersihkan dari tag html.
Pengaturannya sendiri:
Di tab " Parameter ", di bidang " Kolom tambahan untuk pembuatan ", parameter kolom tambahan segera disetel. 1 baris = 1 bidang .
Format rekaman (melalui koma):
[%tabel%], [%bidang%], [%tipe editor%], [%panjang%], [%Nama%]
[% Tabel%] - p atau pd . Nilai p adalah tabel produk dan pd adalah tabel deskripsi_produk .
[%field%] - nama field dalam tabel.
[% Tipe editor %] - teks, html, dan html_no_editor . Nilai teks adalah bidang teks biasa. Nilai HTML adalah bidang dengan editor. Nilai html_no_editor adalah bidang teks multibaris. Perhatikan bahwa untuk tipe teks , data yang dibersihkan dari tag html dimasukkan, meskipun bidang itu sendiri mungkin berisi html.
[%Panjang%] adalah ukuran bidang. Berlaku untuk semua jenis bidang. Namun, perlu diingat bahwa karakter di-escape saat disimpan (lihat momen tentang tag).
[% Nama%] - nama yang ditampilkan di sebelah bidang edit. Jika namanya tidak ditentukan, maka nama tabel dan kolomnya ditentukan. Misalnya. p_ean , di mana p adalah tabel dan ean adalah bidang.
Anda juga dapat menambahkan bidang menggunakan kontrol yang terletak di bawah bidang " Kolom tambahan untuk pembuatan ".
Anda harus menyimpan pengaturan agar pengaturan dapat diterapkan.
Anda dapat menonaktifkan pemeriksaan jenis bidang (char, varchar, dan lainnya), namun risiko Anda tanggung sendiri.
Untuk melakukannya, ubah nilai IMGS_ADD_COLUMNS_CHECK_DATA_TYPE dari 1 menjadi 0 di file /system/IMGeneratorSeo/IMGeneratorSeoConfig.php .
Fitur
- Sebelum setiap penggunaan modul, disarankan untuk membuat salinan cadangan database, karena selama pembuatan (bukan templat cepat), data ditulis ke database dan nilai sebelumnya tidak dapat dipulihkan. Agar dapat dipulihkan, perlu membuat salinan cadangan database.
- Jika produk Anda banyak, template pembuatannya rumit, atributnya banyak, dan waktu pembuatan skrip php sangat terbatas, maka gunakan pembuatan sebagian.
- Harap dicatat bahwa penimpaan memperhitungkan nilai-nilai lama. Jika Anda perlu menimpa berdasarkan bidang yang dihasilkan, buat bidang tersebut terlebih dahulu, lalu gunakan kembali generator.
- Untuk bidang standar. Di mana-mana, kecuali deskripsi, data yang dibersihkan dari tag html diganti.
- Bidang SKU tidak spesifik untuk bahasa tertentu, jadi berhati-hatilah. Demikian pula, bidang dari tabel produk ditambahkan sebagai tambahan.
- Untuk bidang standar. Bidang Meta secara otomatis terpotong menjadi 255 karakter dan SKU menjadi 64 karakter.
- Jika Anda telah menambahkan kolom secara manual ke OpenCart murni atau melalui modul, harap dicatat bahwa Anda perlu memeriksa apakah kolom meta_h1 memungkinkan Anda memuat 255 karakter (mirip dengan ocStore), dan bukan 100, seperti pada beberapa versi ekstensi. Jika karakternya lebih sedikit, Anda perlu menambah ukuran field di phpMyAdmin. Jika tidak, kesalahan dapat terjadi jika ukuran sisipan melebihi ukuran bidang saat ini selama pembuatan.
- Perhatikan bahwa jika ada HTML di dalam tag, tag tersebut mungkin salah dipahami oleh modul. Modul ini hanya menggantikan pencocokan persis. Misalnya, "[attr_test]" adalah atribut dan "<span>[</span>attr_test]" bukan atribut. Oleh karena itu, jika Anda mengalami situasi di mana tag tampaknya ditambahkan, tetapi tidak diganti, periksa juga kode htmlnya.
Fungsionalitas bidang deskripsi tambahan dirancang untuk menggunakan model kartu terbuka standar. - Menyalin atribut ke clipboard mengharuskan browser mendukung penyalinan ke clipboard dengan JS (memerlukan: document.execCommand("Copy") dan jQuery().select()).
- Dari versi 1.8.0, pendekatan atribut berbeda - harap pertimbangkan ini.
- Anda perlu menyetel mbstring.func_overload ke 0 di pengaturan situs. Jika Anda tidak tahu cara melakukannya, tanyakan pada hosting Anda. Dalam kebanyakan kasus, nilai defaultnya adalah 0 (Anda, sebagai pelanggan, tidak perlu melakukan apa pun), tetapi beberapa hosting menetapkan nilainya menjadi 2. Ini relevan jika Anda memiliki masalah dengan kunci dan aktivasi modul.
- Membutuhkan boostrap dan jquery
Instalasi dan penggunaan
0. Buat cadangan situs - Ini adalah rekomendasi standar untuk situasi apa pun ketika Anda mengubah atau memperbaiki sesuatu di situs, yang memungkinkan Anda menghemat banyak waktu, tenaga, dan saraf dalam hal apa pun.
1. Buka zip arsip dan salin direktori "admin" dan "sistem" ke root situs. Jangan khawatir, tidak ada file yang akan ditimpa
2. Buka admin dan instal modul (install ulang)
3. Buka Penginstal Ekstensi dan unduh file "im_gen_seo_templates.ocmod.zip" dan "im_gen_seo_product_info.ocmod.zip" secara berurutan. Setelah itu, perbarui pengubahnya. Jika Anda menginstal ulang modul (versi yang tercantum), Anda harus menghapus pengubah sebelumnya.
4. Anda mungkin perlu menghapus cache ranting melalui panel admin
5. Buka modul (editing) di admin dan gunakan.
Dari versi 1.8.0, pendekatan atribut yang berbeda - pertimbangkanlah!
Bagi yang belum pernah terlibat pada generasi sebelumnya
Pertama-tama, Anda harus memahami bahwa pembuatan teks memerlukan ketekunan, akurasi, waktu luang, dan pencadangan data. Intinya adalah bahwa generator adalah alat yang ampuh yang memungkinkan Anda mencapai efek yang besar (meningkatkan posisi dan lalu lintas, meningkatkan konversi/penjualan, dll.) dan menyebabkan efek sebaliknya (menghilangkan halaman dengan templat yang terlalu mirip, menurunkan posisi , menerapkan filter ). Oleh karena itu, ketika menggunakannya, Anda tidak bisa melakukan apa pun dengan tergesa-gesa.
Sebelum menggunakannya, Anda harus mengetahui beberapa dasar dasar. Mulailah dengan membaca materi di Internet dengan topik "Reproduksi artikel". Bagaimana hal itu dilakukan. Mengapa hal ini perlu? Bagaimana artikel tersebut dievaluasi oleh mesin pencari. Apa perbedaan deskripsi produk dengan deskripsi artikel. Tidak perlu mempelajarinya secara mendalam, tetapi ada baiknya mengetahui dasar-dasarnya setidaknya pada tingkat pengguna rata-rata.
Setelah Anda membaca dasar-dasarnya, jangan mencoba membuat situs secara keseluruhan. Mulailah dengan produk individual atau kategori kecil. Lihat tampilannya dan bagaimana teks dievaluasi oleh pemeriksa anti-plagiarisme (ada banyak program dan layanan gratis, misalnya, di bursa hak cipta).
Di mana memulai generasi pertama.
1. Pastikan untuk membuat cadangan database.
2. Ada banyak sekali toko online saat ini. Oleh karena itu, temukan analogi dengan deskripsi produk apa pun. Tulis ulang artikel sesuai pemikiran Anda agar esensinya sama, tetapi artikelnya tidak serupa. Ganti kata-katanya. Tulis ulang kalimatnya. Tukar potongan (frasa, paragraf).
3. Kemudian cari tempat yang bisa diperbanyak (misalnya {Serbaguna|Multifungsi|Luar Biasa}) atau sebaliknya, ambil dari atribut dan bidang (Pabrikan [nama_produsen] menghasilkan produk unggulan. Baterainya dengan daya [attr_Power] terkenal. ..). Dan buat templat.
4. Lakukan generasi pertama. Periksa dengan cermat semua pengaturan yang Anda atur dan coba bayangkan teks apa yang akan dihasilkan (untuk menghindari situasi di mana hasil dari generasi sebelumnya akan diambil dari Anda selama pembuatan ulang). Evaluasi betapa berbedanya teks-teks tersebut. Dan sesuaikan template hingga teks mulai memiliki keunikan minimal 80%.
Selama ini Anda akan belajar cara membuat template. Setelah itu, Anda dapat melanjutkan ke rangkaian lainnya di situs web. Penting untuk dipahami bahwa templat pertama akan dibuat dalam waktu yang lama, tetapi templat berikutnya ditulis cukup cepat, dan Anda memerlukan waktu lebih lama untuk menyusun teks secara manual.
Lisensi dan Penggunaan
Dibuat untuk OpenCart 3.0.1.1, 3.0.2.0, 3.0.3.0, 3.0.3.1-3.0.3.8, ocStore 3.0.2.0, 3.0.3.7
Dengan membeli modul, Anda secara otomatis menyetujui teks lisensi.
Modul ini memiliki prinsip distribusi "sebagaimana adanya".
Fitur tambahan
No questions about this product.