قبل از هر مطلبی ، ذکر این نکته لازم است که بگویم من اصلا وردپرس کار نیستم فقط به خاطر نیاز کاری لازم شد تا سورس وردپرس را دقیقتر نگاه کنم و اون رو بررسی کنم، در این بررسی به نتایجی رسیدم که منهای تعصبات اشتباه لازم به ذکر است تا دوستان هم که وردپرس کار می کنند مطالعه کنند.
اول به معرفی وردپرس از دید خودم اشاره می کنم تا بعد دلایل نوشتن این مقاله را کامل توضیح بدهم. در نگاهی که من به ساختار و سورس برنامه نویسی وردپرس کردم ، این سیستم را اینگونه تعریف می کنم : وردپرس سیستم مدیریت محتوای رایگانی است که با دید راه اندازی سریع وبلاگ ، وب سایت شخصی یا شرکتی تک منظوره طراحی شده است.
این سیستم با این اصل طراحی شده که انتشار محتوا در آن کمترین دردسر و آموزش را لازم داشته باشد. اما این اصل باعث شده تا وردپرس از امکانات و خصوصیات بیسیاری در این زمینه چشم پوشی کند ، به عنوان مثال می توان به مدیریت کاربران اشاره کرد ، که در وردپرس این امر بصورت تک متظوره یا تک سطحی در نظر گرفته شده و آنقدر گسترش و توسعه نداشته که بخواهید با آن کنترل سطوح حرفه ای را انجام داد، برای حل این مشکل هم یه سری پلاگین منتشر شده که مد نظر ما نیستند و بحث بر سر هسته اصلی منهای تمامی پلاگین های وردپرس است.
نکته بعد که من در این آنالیز متوجه شدم ، وردپرس برای پوشاندن برخی از ضعف های خود دست به کاری جالب زده ، از ساختار انتشار سلولی ، شبکه ای برای سایت های وردپرسی استفاده کرده که به دارندگان سایت این القا می شود که سئوی وردپرس قوی است ، اما درواقع با نصب هر نسخه از وردپرس شما به شبکه ای از وردپرس ها وصل می شوید ، که بروز رسانی هایشان برای سایت های خاصی که موتورهای جستجو برای بروز رسانی دیتابیس خود از آنها کمک می گیرند متصل می شود. این اتصال به گونه جالبی در وردپرس قرار داده شده که با راه اندازی و نصب وردپرس یک نود ایجاد و به سایت اصلی اطلاع رسانی می شود ، حتی اگر دامنه شما جدید باشد و برای اولین بار روی ان وردپرس را نصب کنید بعد از چند ساعت می بینید که ربات های اسپمر به سراغ سایت شما آمده و شروع به ارسال اسپم می کندد.
این یکی از اسرار اصلی وردپرس در بحث سئو یا ارتباط با موتورهای جستو می باشد.
نکته جالب توجه دیگر در ساختار برنامه نویسی وردپرس ، کهنگی سورس است ، بدین معنا که توی برخی از بخش های وردپرس که کم کاربرد یا کمتر نیاز به تغییر داشته سورس هایی از نسخه های اولیه وردپرس هنوز باقی است. جدای از بحث های برنامه نویسی این که سورس بروز رسانی کامل نشده مشکلی اساسی در انتشار نسخه های متعدد و بروز رسانی های فراوان در وردپرس است ، تا جایی که گاهی نسخه بعد از نصب در فاصله کوتاهی ممکن است مورد حمله ربات های هکر قرار گرفته و آسیب ببینید.
وردپرس بخش زیادی از این سورس را در نسخه 3 به بعد خود اصلاح کرده اما این ایرادات هنوز هم در این برنامه دیده می شود.
نکته مهم تر و دلیل اصلی من برای نگارش این مطلب ضعف وردپرس در بحث ماژولار یا همان مدیریت حرفه ای پلاگین هاست ، کافی است شما چند پلاگین را با هم روی وردپرس فعال کنید تا لود سرور به صورت سرسام آوری بالا برود و بر حجم دیتابیس بی دلیل افزوده شود و سایت دچار انباشتگی بی دلیل دیتاشود.
این ضعف باعث می شود تا طراحان وب که با وردپرس سرو کار دارند ، تمامی کد نویسی ها و پلاگین ها را به جای نصب در قالب استفاده کنند و عملا قالب وردپرس تبدیل به یک سیستم مجزا شود ، خب این مگر بد است ، آری بد است علی الخصوص زمانی که وردپرس در حال بروز رسانی و تغییر ساختار است ، قالب نیز باید بروز شود وگرنه صفحه سفید رفیق شما خواهد بود. متاسفانه اصل اساسی در طراحی ساختار قالب های سیستم های مدیریت محتوای نوگرا را که حذف حداکثری کد نویسی می باشد را طراحان وردپرس رعایت نمی کنند. حتی قالب های پیش فرض نیست حاوی کد های بسیار زیادی هستند که این به خودی خود ضعف بزرگی است.
بهتر است طراحان وردپرس با تکنولوژی روز همراه شوند و کم کم از کدگذاری های اضافی در قالب پرهیز کنند. مثلا در جوملا شما می توانید بدون حتی یک خط کد نویسی PHP قالبی حرفه ای را برای جوملا طراحی کنید اما در وردپرس یا مجبور به استفاده از پلاگین هستید یا کد گذاری به شیوه عصر حجر ، این بخش ماژولار بودن وردپرس را زیر سوال می برد. من خودم به شخصه در حال تغییر ساختاری در قالب های وردپرس هستم تا بتوان قالبی کاملا CLEAN برای وردپرس تولید کرد که مثل جوملا ماژولار باشد و با هر بروز رسانی منفجر نشود.
به هر حال وردپرس چه بخواهد و چه نخواهد دیگر با ساختار های قدیمی نمی تواند سورس خود را توسعه دهد ، دیر یا زود مجبور است ساختار عوض کند و از این سورس قدیمی دست بکشید. باید طراحان وردپرس خود را برای ساختاری 100 درصد متفاوت و ماژولار آماده کنند.
تغییر در وردپرس نزدیک است و احتمال دارد در نسخه های جدید شاهد سیستمی کاملا متفاوت با نسخه های قدیمی باشیم.
روح الله بلوردی