چند دلیل برای کنار گذاشتن وردپرس
نزدیک ۴۰ درصد کل وبسایتهای موجود در اینترنت وردپرسی هستند. خودم چند سال با این سیستم مدیریت محتوا (CMS) کار کردم و چند پروژه باهاش پیادهسازی کردم. در این پست میخوام از دلایل کنار گذاشتن وردپرس بگم. دلایلی که میشه به دیگر CMSهای این تیپی مثل دروپال و جوملا هم تعمیم داد.
ناکارآمدی وردپرس
اولین چیزی که به ذهنم میرسه سرعت پایین لود شدن سایتهای وردپرسی در مقابل با سایتهای استاتیکه. اغلب سایتهای وردپرسی درحقیقت سایتهای استاتیکی هستند که بوسیله وردپرس پیادهسازی شدهاند. خیلی از این سایتها میتوانند با رویکرد JAMstack (JavaScript, API & Markup) پیادهسازی بشن. این رویکرد جایگزین وردپرس باعث میشود که لود شدن سایت تا ۱۰ برابر سریعتر شود. یک سایت استاتیک که بر روی وردپرس ۱۰۰ تا ۳۰۰ میلیثانیه طول میکشه تا ایجاد بشه میتونه بوسیلهی یک CDN در کمتر از ۳۰ میلیثانیه لود بشه.
در همتنیدگی بیشازحد فرانتاند و بکاند:
توی وردپرس تفکیک چندانی بین فرانت و بک اند وجود نداره. مخصوصا اگه بخوای یک تغییر اساسی توی ظاهر سایت ایجاد کنی؛ مجبور میشی که PHP بزنی که برای کسانی تخصصشون فرانته و صرفا HTML/CSS کار هستند ورطهی عمیقیه. خیلی اوقات لازمه که وارد core قضیه شد و تغییرات بنیادین انجام داد. اصلا شاید کار به دستکاری دیتابیس هم بکشه و ارور پشت ارور!
وابستگی بیش از حد به دیتابیس:
این یکی از میراث خود PHP و LAMP-Stack ئه که میشه محتوای استاتیک رو با بلوکهای داینامیک مخلوط کرد و درنهایت همه چیز رو با محتویات دیتابیس بروزرسانی کرد. این پیچیدگی باعث شده که گروهی کار کردن بر روی یک پروژهی وردپرسی هم پیچیده بشه و مشکل ادغام (Merge) ایجاد بشه. درصورتیکه با استفاده از رویکرد جماستک همه اعضای گروه میتوانند از Git نقش خودشون رو ایفا کنند. در نهایت هم سایت از طریق CDN منتشر میشه و دیگه نیازی به انتقال دیتابیس از لوکال به سرور نیست و به مشکل ادغام هم برنمیخوریم.
دست زیاد شده! مخصوصا دستهای غیرتکنیکال:
سادگی کار با وردپرس و سرراست بودن نسبی رابط کاربریش میتونه مزیت تلقی بشه ولی همین باعث شده که افرادی «وردپرسکار» تلقی بشن که لزوما با مفاهیم ابتدایی برنامهنویسی و طراحی و توسعه وب آشنایی ندارند. خیلی اوقات کسانی پروژهی طراحی و مدیریت سایت میگیرند که نه یک خط زدند و نه هیچ ایدهای دارند که یک سایت بدون CMS چجوری درست میشه. خیلی از افرادی که با هستهی خود وردپرس کار میکنند هم به همین نحو کانسپتهای اولیهی برنامهنویسی رو بلد نیستند ولی قالب انگلیسی یا پلاگین بدون لایسنس ترجمه میکنند که نتیجهش میشه یه محصول ارزون و پر از باگ. خیلی از قالبهای ترجمهشدهی مشکل دار علتش همینه . مثلا برای خود من پیش اومده کارفرما بهم یه قالبی داده بود که در حدی باگ داشته که وقتی ورژن وردپرس رو ارتقا دادم کل سایت پریده. اگر بکاپ نداشتم همه چیز نابود میشد. کد کثیف وردپرسی که وقتی میخوای ابروش رو درست کنی؛ چشمش کور میشه.
امنیت پایین وردپرس:
توی دلیل قبلی از قالبی گفتم که امکان آپدیت وردپرس رو نمیداد. وردپرس بروزرسانی شده به خودی خود راههای نفوذ زیادی داره چه برسه به وردپرس آپدیت نشده. بازار وردپرس و پلاگینها هم پر هستند از این نسخههایی که فقط با ورژنهای قدیمی وردپرس کار میکنند. همیشه هم که فقط وردپرس نیست؛ وردپرس بعلاوهی ۱۰ تا پلاگین دیگه که هر کدوم از این پلاگین ها میتونه یه سوراخی داشته باشه که امکان نفوذ بده. استاتیک سرو کردن سایت از CDN امکان ایجاد این سوراخها رو میگیره.
همینطور که در ابتدای پست گفتم نزدیک ۴۰ درصد کل وبسایتهای موجود در اینترنت وردپرسی هستند و این یعنی تا این تاریخ ۴۵۵ میلیون وبسایت. شاید دیگه وقتشه که دیگه این آمار نزولی بشه.