Web Development
289

Mengapa Developer Membenci Wordpress ?






  14-Sep-2020 21:55:57



Hallo gayn, kali ini saya akan membahas wordpress. Pada postingan ini, merupakan pendapat saya dan Nano box , menganai CMS Wordpress, jika kalian tidak setuju dengan pendapat saya tidak apa - apa. Artikel ini saya buat dengan 2 bahasa. Yaitu bahasa Indonesia dan Inggris. 

This article is made in 2 languages 

Sebelum masuk  inti yuk kenalan dengan Wordpress dan CMS.  

Apa itu Wordpress ?

Dikutip dari wikipedia 

WordPress adalah sebuah aplikasi sumber terbuka (open source) yang sangat populer digunakan sebagai mesin blog (blog engine). WordPress dibangun dengan bahasa pemrograman PHP dan basis data (database) MySQL. PHP dan MySQL, keduanya merupakan perangkat lunak sumber terbuka (open source software). Selain sebagai blog, WordPress juga mulai digunakan sebagai sebuah CMS (Content Management System) karena kemampuannya untuk dimodifikasi dan disesuaikan dengan kebutuhan penggunanya. WordPress adalah penerus resmi dari b2/cafelog yang dikembangkan oleh Michel Valdrighi. Nama WordPress diusulkan oleh Christine Selleck, teman Matt Mullenweg. WordPress saat ini menjadi platform content management system (CMS) bagi beberapa situs web ternama seperti CNN, Reuters, The New York Times, TechCrunch, dan lainnya.

Setelah berkenalan dengan Wordpress, selanjutnya kenalan dengan CMS.

Apa itu CMS ?

CMS (Content Manajemen System) adalah sebuah perangkat lunak atau sistem yang mengatur konten pada situs web, bisa situs web yang berupa company profile, e-commerce, blog, forum, dan lainnya.


Jika ada mie instan pada makanan, CMS menjadi pembuatan situs instan yang disediakan di internet. CMS dapat anda gunakan meskipun anda tidak mengetahui mengenai pemrograman sama sekali.  CMS juga menyediakan template layaknya WordPress.


Sampai pada bagian ini semoga sudah sedikit menjawab pertanyaan “apa itu cms?”. Setelah mengetahui pengertian CMS, selanjutnya akan saya coba jelaskan sedikit sebagian keuntungan yang bisa Anda dapatkan saat menggunakan CMS.

Dikutip dari : https://www.niagahoster.co.id/blog/apa-itu-cms/

Apakah CMS dan Framework sama ? 

Seperti yang dijelaskan di awal, bahwa Content Manajemen Sistem adalah perangkat lunak yang digunakan untuk menambahkan atau memanipulasi (mengubah) isi dari suatu situs web. Umumnya, sebuah CMS (Content Management System) terdiri dari dua elemen:

aplikasi manajemen isi (Content Management Application, CMA)

aplikasi pengiriman isi (content delivery application, CDA)

Elemen CMA memperbolehkan si manajer isi -yang mungkin tidak memiliki pengetahuan mengenai HTML (HyperText Markup Language)-, untuk mengatur pembuatan, modifikasi, dan penghapusan isi dari suatu situs Web tanpa perlu memiliki keahlian sebagai seorang Webmaster. Elemen CDA menggunakan dan menghimpun informasi-informasi yang sebelumnya telah ditambah, dikurangi atau diubah oleh si empunya situs web untuk meng-update atau memperbaharui situs Web tersebut. Kemampuan atau fitur dari sebuah sistem CMS berbeda-beda, walaupun begitu, kebanyakan dari software ini memiliki fitur publikasi berbasis Web, manajemen format, kontrol revisi, pembuatan index, pencarian, dan pengarsipan. Wikipedia Indonesia.

Karena CMS memisahkan antara isi dan desain, konsistensi tampilan dapat senantiasa dijaga dengan baik.Setiap bagian dari website dapat memiliki isi dan tampilan yang berbeda-beda, tanpa harus khawatir kehilangan identitas dari website secara keseluruhan. Oleh karena semua data disimpan dalam satu tempat,pemanfaatan kembali dari informasi yang ada untuk berbagai keperluan dapat dengan mudah dilakukan. CMS juga memberikan kefleksibelen dalam mengatur alur kerja atau ‘workflow’ dan hak akses, sehingga memperbesar kesempatan berpartisipasi dari pengguna dalam pengembangan website. Hal ini akan sangat menguntungkan bila website yang dikelola memiliki kompleksitas yang tinggi dan mengalami kemajuan yang cukup pesat.


Manfaat CMS : 

Manajemen data

Mengatur siklus hidup website

Mendukung web templating dan standarisasi

Personalisasi website

Sindikasi


Pemanfaatan CMS : 

CMS pada prinsipnya dapat dipergunakan untuk berbagai macam keperluan dan dalam berbagai kondisi, seperti untuk:

Mengelola website pribadi.

Mengelola website perusahaan/bisnis.

Portal atau website komunitas.

Galeri foto, dan lain sebagainya.

Forum.

Aplikasi E-Commerce.

Dan lain-lain

Dan juga Content Manajement System didefenisikan sebagai Sebuah System yang memberikan kemudahan kepada penggunanya dalam mengelola dan mengadakan perubahan isi sebuah website dinamis tanpa tanpa sebelumnya dibekali pengetahuan tentang hal – hal yang bersifat teknis dalam sebuah mendesign sebuah website. Contoh CMS diantaranya WordPress,Joomla, Mambo, Drupal dll.

CMS (Content Management System) dapat membantu kita untuk membangun suatu website dengan harga yang relatif murah dan open source lagi. Menggunakan CMS memang mudah dalam jangka pendek

Pada saat ini banyak sekali pemanfaatan dari penggunaan cms, diantaranya adalah untuk membuat website perusahaan, bisnis, organisasi atau komunitas. Lalu juga dimanfaatkan untuk Portal, Galeri foto, Aplikasi E-Commerce, dan Mengelola website pribadi / blog serta masih banyak lagi yang bisa kita fungsikan pada penggunaan cms ini.


Apa itu FRAMEWORK ? 

Framework adalah sekumpulan library yang diorganisasikan pada sebuah rancangan arsitektur untuk memberikan kecepatan, ketepatan, kemudahan dan konsistensi di dalam pengembangan aplikasi dari definisi tersebut, framework mengandung unsur-unsur berikut :

Librari

Arsitektur

Metodologi

Framework menyediakan librari yang lengkap dan terintegrasi. Unsur inilah yang paling banyak memberikan keuntungan bagi pengembang aplikasi. Sebagai contoh, framework aplikasi web menyediakan librari-librari dasar berkaitan layanan web, seperti authentication, database access, html generation, template engine, session management, caching, searching, email, http, pdf, zip dan ajax. Framework juga menyediakan sarana extension untuk librari-librari yang belum tersedia atau librari yang perlu ditingkatkan kemampuannya.

Arsitektur. Sebuah aplikasi membutuhkan rancangan bagaimana sistem dibangun, yaitu bagaimana elemen-elemen di dalam aplikasi disusun dan diintegrasikan, seperti pengorganisasian file dan librari, dan bagaimana librari-librari digunakan. Framework menyediakan struktur aplikasi dan bagaimana interaksi di dalam struktur tersebut. MVC [Model View Controller] adalah salah satu pola rancangan [design pattern] yang banyak digunakan dalam arsitektur aplikasi saat ini. Jika digambarkan akan seperti berikut :

Input > Processing > Output = Controller > Model > View

Controller mencakup semua proses yang terkait dengan pemanggilan database dan kapsulisasi proses-proses utama. Jadi semisal di bagian ini ada file bernama member.php, maka semua proses yang terkait dengan member akan dikapsulisasi/dikelompokan dalam file ini.

Model mencakup semua proses yang terkait dengan pemanggilan struktur data baik berupa pemanggilan fungsi, input processing atau mencetak output ke dalam browser.

View mencakup semua proses yang terkait layout output. Bisa dibilang untuk menaruh template interface website atau aplikasi.


Model MVC

PHP Framework menggunakan metode pengembangan berbasis MVC. Namun apa itu MVC ? MVC merupakan suatu metode untuk memisahkan bagian-bagian dari suatu web aplikasi. MVC adalah kependekan dari Model View Controller. MVC terdiri dari tiga bagian yaitu;

Model : Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu kita dalam pengelolaan database seperti memasukkan data ke database, update data dan lain-lain.

View : View adalah bagian yang mengatur tampilan ke user. Bisa di katakan berupa halaman web.

Controller : Controller merupakan bagian yang menjembatani model dan view. Controller berisi script-script php yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.

Disinilah letak perbedaan utama antara framework dengan CMS atau PHP konvensional. Dengan metode MVC, bagian tampilan, logika serta query database diletakkan secara terpisah namun tetap sinkron sehingga pembuatan aplikasi menjadi lebih terstruktur dan sederhana. Model digunakan dalam menuliskan script database, Controller untuk mengembangkan logika pemrogramannya, sedangkan View berfungsi dalam menampilkan layout dari aplikasi yang kita buat. Kelebihan framework antara lain sebagai berikut :

Ringan dan cepat. Framework hanya melakukan pemanggilan pustaka/kelas yang dibutuhkan sehingga meminimalkan resource yang diperlukan sehingga ketika kita me-load sebuah halaman akan menjadi ringan dan cepat.

Menggunakan metode MVC. Seperti yang telah dijelaskan sebelumnya, dengan metode MVC akan mempermudah kita dalam memahami alur pemrograman karena untuk bagian tampilan, logika dan query database telah dipecah sedemikian rupa.

Mayortitas mendukung berbagai jenis database.

Dikutip dari : http://abiyyukz.blogspot.com/2015/11/perbedaan-content-manajemen-sistem.html

Nah setelah berknelan dengan Wordpress, Framwork, Cms. Selanjutnya kita masuk ke inti dari postingan ini. 

Mengapa Developer Membenci Wordpress ? 

Hallo gayn, kali ini saya akan membahas wordpress. Pada postingan ini, merupakan pendapat saya dan https://content.nanobox.io/why-developers-hate-wordpress/  , menganai CMS Wordpress, jika kalian tidak setuju dengan pendapat saya tidak apa - apa. Yuk simak penjelasna berikut.

Saya merasa jika Anda di sini, Anda sangat setuju atau tidak setuju dengan judul artikel ini. Tidak apa-apa. Ini adalah opini, jadi silakan rasakan sesuka Anda. Tapi saya punya data untuk mendukung saya! Menurut Survei Pengembang Stack Overflow 2017, 64,5% responden mengatakan mereka takut akan WordPress. Ini adalah platform ke-3 yang paling ditakuti dari yang mereka masukkan dalam survei mereka.


Saya ingin berbicara tentang mengapa pengembang - orang-orang yang sangat memahami kode; siapa yang bisa dan lebih suka membangun solusi khusus; mereka yang diharapkan untuk membuatnya bekerja dan bekerja dengan baik - benci WordPress. Daftar ini sama sekali tidak lengkap, tetapi mewakili masalah umum yang saya temukan dari pengalaman dan pengalaman pribadi saya sendiri dan pengalaman yang dibagikan orang lain kepada saya.


Pertama, Kualitas

Sebelum membahas masalah ini, saya merasa saya harus menyebutkan hal-hal yang dapat dilakukan WordPress dengan baik.

Untuk memulai, sangat mudah untuk menginstal dan mengatur. Dengan tumpukan Apache / MySQL / PHP dasar, Anda dapat aktif dan berjalan dalam hitungan menit.

WordPress sangat mudah untuk disesuaikan. Katalog tema dan plugin sangat besar dan terus berkembang. Membangun tema Anda sendiri sangatlah sederhana. Membangun plugin kustom tidak sesederhana itu, tetapi tetap sederhana.

Dan alasan utama menurut saya WordPress telah menjadi platform masuk bagi banyak orang - penghalang masuk yang rendah bagi pengguna non-teknis. Setelah aktif dan berjalan, hampir semua orang dapat mengelola dan menerbitkan konten dengan WordPress.


Turun ke Brass Tacks

Namun WordPress gagal dalam banyak hal. Meskipun ini mungkin terlihat sebagai kata-kata kasar, itu dimaksudkan sebagai kritik yang membangun dan saya berharap tim dan komunitas WordPress menganggapnya seperti itu. Inilah alasan mengapa saya, dan pengembang lain, membenci WordPress.

WordPress dimulai hanya sebagai platform blog sederhana - cara mudah untuk mempublikasikan konten. Tapi selama bertahun-tahun, ia telah berkembang menjadi semacam bunglon. Saya telah melihatnya digunakan sebagai sistem manajemen situs sederhana, platform e-niaga, generator situs statis (ya, menurut saya yang ini sangat aneh), sistem manajemen penjualan, agregator prospek, sistem inventaris mobil bekas, dan mengelupas hal-hal lain.

Orang dapat berargumen bahwa ini hanya menggambarkan betapa fleksibelnya WordPress - dan saya setuju - tetapi ketika Anda mencoba melakukan semuanya, sulit untuk melakukan apa pun 100%. Berbagai macam plugin yang tersedia adalah bukti dari orang-orang yang mencoba menyematkan WordPress menjadi sesuatu yang mereka butuhkan.

Pada intinya, WordPress melayani pendekatan plug and play ini. Jangan salah paham, fleksibilitas itu bagus, tetapi saya merasa WordPress kehilangan fokusnya sejak lama dan tanpanya, telah berusaha menemukan jalannya. Alih-alih berfokus menjadi platform blog yang hebat, mereka mencoba menjadi platform segalanya yang hebat. Gol luhur, tidak diragukan lagi, yang sayangnya menyebabkan banyak kekurangan.

Untuk apresiasi Wordpress, WordPress masih berfungsi dengan sangat baik sebagai platform blogging .


Keamanan

Sejauh ini, ini adalah keluhan nomor satu yang pernah saya dengar dari pengembang. Peretasan WordPress terjadi setiap hari, jika tidak setiap jam, jika tidak terjadi setiap menit. Sentimen yang umum adalah bahwa WordPress adalah keju swiss dalam hal keamanan. Itu mungkin berlebihan, tapi tetap saja, itu masalah.

Masalahnya sebagian besar berasal dari seberapa banyak digunakan dan terkenal WordPress dan fakta bahwa itu open-source. Siapapun dapat mengunduh dan melihat kode sumber. Ini jelas tidak dimaksudkan sebagai sedikit proyek open-source. Saya adalah pendukung sumber terbuka yang besar dan memberikan alat peraga kepada WordPress karena menjadi sumber terbuka, tetapi itu membuat menemukan kerentanan sangat mudah.

Menurut w3techs.com, WordPress saat ini menyumbang 27,7% dari semua situs di internet. 27,7% !! Saya tahu tim WordPress bekerja siang dan malam untuk memastikan semuanya aman, dan mereka melakukan pekerjaan dengan sangat baik. Tetapi karena sifat siklus perkembangan yang cepat, banyak hal dapat dilalui. Dan ketika mereka melakukannya, itu menempatkan banyak informasi yang berpotensi sensitif dalam bahaya.

Tidak ada solusi yang benar-benar sederhana dan sistemik untuk masalah ini selain "terus memperbarui WordPress", tetapi siklus rilis cepat WordPress mengarah ke masalah lain (lebih lanjut tentang itu nanti).

Ada orang di luar sana yang akan berkata "Lakukan hal-hal sederhana ini untuk mengamankan situs WordPress Anda ..." Mereka benar. Mereka sederhana. Tetapi mengapa saya harus melakukannya? Mengapa mereka tidak dibangun menjadi intinya?

Ini adalah beberapa hal yang secara pribadi saya tangani :

Batasi pengunggahan file yang dapat dijalankan secara default. Yang harus dilakukan oleh script-kiddie adalah membuat WordPress mengunggah file PHP berbahaya dan BAM, situs Anda diretas. Menurut pengalaman saya, ini adalah pesawat serang yang paling umum digunakan.

Jauhkan opsi yang dapat dikonfigurasi dari sistem file dan anggap sistem file hanya-baca. Inti WordPress melakukan ini dengan cukup baik, tetapi plugin tidak. Jika plugin mengubah file konfigurasi dalam produksi, jangan gunakan itu. Ini membutuhkan sistem file yang dapat ditulis, dan jika sistem file dapat ditulis, maka perubahan berbahaya pada file tersebut dapat dilakukan tanpa banyak usaha.

Batasi upaya login secara default untuk mengurangi serangan brute force.

Hanya untuk beberapa nama. Anda tidak dapat mengharapkan proyek open-source sebesar WordPress menjadi sepenuhnya tahan terhadap serangan, tetapi itulah maksud saya. Itulah alasan pengembang sangat bosan. Mereka lebih suka membangun sesuatu dari awal, khusus untuk kebutuhan mereka, yang dapat mereka kunci tanpa takut kerentanan baru diperkenalkan pada pembaruan berikutnya.


Plugins dan Plugins 

Ini bukanlah hal pertama yang dipikirkan pengembang saat memecahkan masalah. Ini bertentangan dengan pola pikir pengembang yang khas - merancang solusi yang sederhana, elegan, dan dibuat khusus. Beralih ke plugin untuk fungsionalitas membutuhkan perubahan pemikiran yang signifikan.

Pada akhirnya, plugin memang menyediakan cara untuk memperluas WordPress dengan cepat dengan fungsionalitas tertentu. Orang pasti bisa berargumen bahwa ekosistem plugin WordPress adalah kekuatan, tapi itu pedang bermata dua. Dengan kemudahan dan kecepatan plugin, muncul potensi kerentanan keamanan, batasan versi, dan pembengkakan.


Kerentanan Keamanan

Menurut laporan terbaru oleh wpscan.org, 52% dari kerentanan WordPress yang diketahui berasal dari plugin. Sebagai pengembang, Anda terikat pada praktik pengkodean, baik atau buruk, dari pengelola plugin. Jika keamanan menjadi perhatian, yang seharusnya menjadi perhatian pengembang mana pun, proses memperkenalkan plugin baru memerlukan pemeriksaan. Jika dilakukan secara menyeluruh, ini dapat meniadakan manfaat dari plugin yang menghemat waktu.


Batasan Versi

Siklus rilis WordPress terkadang bisa ... agresif. Tidak jarang melihat beberapa tambalan dan / atau peningkatan versi kecil dalam satu bulan. Ini benar-benar diharapkan karena tim WordPress terus-menerus menemukan dan memitigasi pesawat serangan di inti WordPress. Tetapi sangat membuat frustrasi betapa sering pembaruan ini merusak plugin - 'percikan di mana-mana.

Sangatlah penting untuk selalu memperbarui WordPress, tetapi ini bisa mengakibatkan situs rusak karena kendala versi plugin. Ada "eselon atas" dari pengelola plugin yang terus-menerus menguji dan memperbarui plugin mereka terhadap kandidat rilis terbaru WordPress, tetapi sebagian besar plugin tidak melakukannya dan ketika WordPress merilis pembaruan, harap silangkan itu tidak mengganggu situs Anda .


Bloat

Saya rasa saya aman dalam mengasumsikan bahwa sebagian besar pengembang ingin menjaga proyek tetap ramping dan bersih. Meskipun beberapa plugin sesuai dengan paradigma ini, banyak plugin yang dibuat untuk menyelesaikan "semua hal". Biasanya ada satu masalah yang perlu diselesaikan oleh pengembang dan plugin akan menyelesaikannya ... dan lima puluh masalah lain yang bukan masalah.

Pengalaman Pengguna yang Obtrusif

Agak terkait dengan masalah pembengkakan adalah seberapa menonjolnya beberapa plugin ke alur kerja WordPress. Saya telah dipaksa untuk menggunakan plugin yang benar-benar mengubah cara posting dibuat dan dipublikasikan. Dan saya tahu saya bukan satu-satunya yang mengalami hal ini.

Keluhan umum yang pernah saya dengar adalah bahwa pengembang, dan bahkan pengelola situs, akhirnya bekerja dengan plugin daripada dengan mereka. Anda mungkin bertanya, "Lalu mengapa menggunakan plugin itu?" Nah, karena itu memecahkan satu masalah itu.

Tapi cukup tentang plugin ...


Web Arsitektur 

WordPress dibangun dengan asumsi bahwa sebuah situs akan berjalan di satu server dengan satu sistem file. Semakin banyak pengembang yang bergerak menuju arsitektur multi-node, layanan mikro, dan modern karena fleksibilitas dan skalabilitas yang disediakannya. Membuat WordPress berfungsi dalam jenis arsitektur ini bisa jadi rumit karena satu alasan - ketergantungannya yang dalam pada FTP untuk pembaruan.

Memperbarui kode langsung melalui FTP terasa kotor dan kuno hari ini. Dalam upaya untuk menemukan dan menyelesaikan masalah sebelum kode ditayangkan, pengembang telah mengadopsi alur kerja yang biasanya melibatkan pengembangan lokal, kode yang dikontrol versi, pengujian otomatis, dan integrasi berkelanjutan. Mengupload kode secara langsung ke lingkungan yang sedang berjalan menghilangkan semua ini, menyisakan banyak ruang untuk kesalahan.

Tetapi masalah yang lebih besar adalah asumsi sistem file-tunggal / node tunggal. Cluster web multi-node memberikan peningkatan throughput dan kegagalan perangkat keras. Karenanya pergeseran menuju pendekatan ini. Tetapi jika Anda menginstal plugin / tema atau memperbarui WordPress melalui FTP, itu hanya dapat menerapkan perubahan ke satu sistem file dalam satu waktu. Jika Anda menjalankan cluster web multi-node, Anda harus menjalankan update pada setiap node secara terpisah.

Ya, ada cara untuk mengatasi hal ini, tetapi ini masih menjadi masalah bagi pengembang. Ini juga membutuhkan filesystem yang dapat ditulis di lingkungan live Anda yang telah saya bahas sebagai masalah keamanan yang signifikan.


Struktur Data & Data Orphaned

Ini sebenarnya sesuatu yang saya tangani baru-baru ini. Awalnya, struktur data WordPress terlihat cukup sederhana. Tapi saat Anda mulai mengerjakannya, Anda mulai melihat ... kebiasaan. Misalnya, apakah Anda benar-benar membutuhkan tabel wp_posts dan wp_postsmeta atau tabel wp_comments dan wp_commentsmeta? Tidak bisakah informasi meta dimasukkan dalam tabel dasar?

Ini mungkin tampak kecil, tetapi struktur ini membuatnya sangat mudah untuk meninggalkan data yatim piatu di seluruh database. Untuk mengurangi ini, WordPress telah menyediakan sekumpulan fungsi pembantu untuk membantu memanipulasi data. Tetapi ketika Anda harus memanipulasi ribuan baris, fungsi-fungsi ini tidak berfungsi. Mereka mengalami timeout PHP dan masalah memori dan ... mereka tidak berfungsi.

Mengedit data secara langsung melalui kueri SQL cukup mudah dan berfungsi dengan baik, tetapi untuk menghindari data yatim piatu di mana-mana, Anda harus benar-benar memahami hubungan yang saling berhubungan antara tabel dan menulis kueri agar cocok. Ini berlaku untuk database apa pun, tetapi begitu banyak pemisahan data di database WordPress tampaknya tidak diperlukan.


DISCUSSION



14-Sep-2020 22:10:13

Tpi wp saat ini banyak yg makai loh




Reply


15-Sep-2020 06:39:37



Hooh, saya juga pengguna wordpress. Tapi selama saya pakai Cms Wordpress, keluhan yang saya alami seperti diatas, gak 100% benci Wordpress. Wordpress sudah bagus, saya lebih seneng ke hand coding hehe seklian belajar hal baru juga.


Reply


15-Sep-2020 18:26:03



Hooh, wordpress banyak penggunanya. Saya juga termasuk, btw saya kasih tambahan juga



Reply

Login for comment and discussion.
Login Here
POST NEW DISCUSSION
Popular Posts
Gps Tracker Seccodeid Free Too...
Bayu aji Bayu aji
General
1307
108
Top

Mass Reverse IP Unlimited
ImamSy ImamSy
Hacking
993
10
Top

Free Proxy List
Sandidi Sandidi
Networking
840
3
Top

Report McAfee Antivirus Hurrri...
Indrasp Indrasp
Windows
743
93
Top

GHunt OSINT Tools - Investiga...
Sandidi Sandidi
Tools Hacking
683
3
Top

Related Post
Subscribe

Subscribe free now for latest posts