تصور کنید پیشخوان وردپرسی که در آن خبری از رابط شلوغ المنتور نیست. نه خبری از ستون بندیهای در هم فرو رفته است، نه دیباگ کردن margin و padding بیپایانی که هر بار با بروزرسانی پوسته به هم میریزد. تصور کنید بلوکی دارید به نام «خلاصه محصول هوشمند» و تنها کاری که میکنید این است که شناسه محصول را به آن میدهید. باقی ماجرا را یک مدل هوش مصنوعی کوچک که در همان سرور شما اجرا میشود مدیریت میکند: تحلیل احساسات نظرات مشتریان را میخواند، امتیازات را بررسی میکند، و در لحظه یک توضیح متقاعد کننده برای بازدیدکننده آن محصول تولید میکند. این نه یک خیالپردازی علمی-تخیلی است، نه افزونهای که ۲۰۰ دلار حق اشتراک سالانه میطلبد. این ترکیب دو فناوری واقعی، پایدار و رایگان در هسته وردپرس امروز است: Block Bindings API و مدلهای زبانی کوچک.
راستش را بخواهید، من هم مانند بسیاری از شما سال ها در برابر گوتنبرگ مقاومت کردم. ویرایشگر بلوکی را دست و پاگیر می دانستم و هر بار که پروژه جدیدی شروع می کردم، ابتدای کار آن را غیرفعال می کردم. خیلی از طراحان وردپرسی نیز اصلا اطلاعی از امکانات گوتنبرگ ندارند به همین دلیل المنتور را نصب می کنند! احساس امنیت در کشیدن و رها کردن المان ها، در دیدن آنی تغییرات، چیزی نیست که به راحتی حاضر به ترکش باشند. اما داستان وقتی تغییر می کند که در یک پروژه ممکن است با بیش از هزار محصول و چند نوع صفحه فرود مختلف روبرو شویم. نگهداری این حجم از محتوا با صفحه سازها عملا به یک کابوس تبدیل خواهد شد. هربار که تیم محتوا نیاز به یک بخش جدید در صفحات محصول دارد، باید ساعت ها برای هماهنگ سازی پوسته ها، ریسپانسیو کردن دستی، و مهم تر از همه حفظ یکپارچگی طراحی وقت گذاشته شود. اینجاست که متوجه می شویم صفحه سازها برای «ساخت» عالی هستند، اما برای «مقیاس پذیری» فاجعه بار! یعنی دیگر راه حل نیستند بلکه در این حجم از داده عملا به یک معضل تبدیل می شوند. اما چاره چیست؟ Block Bindings که من به فارسی آن را پیونددهی بلوک ها می نامم.
Block Bindings API که از وردپرس ۶.۵ به هسته راه پیدا کرده، در ظاهر بسیار ساده به نظر می رسد: شما یک منبع داده تعریف می کنید و آن را به یک بلوک متصل می سازید. اما قدرت واقعی آن در همین سادگی نهفته است. برخلاف فیلدهای سفارشی که همیشه نیاز به یک افزونه جانبی داشتند، یا shortcode هایی که به شدت شکننده بودند، Block Bindings یک راه حل بومی برای وصل کردن هر نوع داده ای به هر بلوکی ارائه می دهد. مهم تر از آن، این داده ها می توانند از هر جایی بیایند: یک API خارجی، یک فایل JSON روی سرور، پایگاه داده محصولات، یا در مورد بحث امروز ما، خروجی یک مدل هوش مصنوعی که هر بار پردازش تازه ای انجام می دهد. این یعنی بلوک شما به جای نمایش یک متن ثابت که هفته پیش نوشته شده، می تواند محتوایی را نشان دهد که همین حالا و بر اساس رفتار کاربر مقابل صفحه تولید شده است.
حالا نوبت به انتخاب مغز متفکر این سیستم می رسد. احتمالا نام مدل های زبانی بزرگ مثل GPT-4 یا Claude را شنیده اید و تصور می کنید برای چنین سیستمی حتما باید سراغ آن ها رفت. اما واقعیت این است که استفاده از APIهای ابری برای هر درخواست کاربر در یک سایت پربازدید، هم هزینه سنگینی تحمیل می کند، هم تاخیر شبکه را به همراه دارد، و هم شما را به یک سرویس شخص ثالث وابسته می کند که هر لحظه ممکن است قیمت ها یا سیاست هایش را تغییر دهد. اینجاست که مدل های زبانی کوچک وارد میدان می شوند. مدل هایی مثل Phi-3 مایکروسافت یا Gemma گوگل که حجم شان گاهی کمتر از ۲ گیگابایت است اما برای وظایف مشخصی مثل خلاصه سازی، تحلیل احساسات، یا بازنویسی متون تجاری کاملا کافی هستند. نکته طلایی این است که این مدل ها می توانند مستقیما روی سرور خودتان اجرا شوند. نه تاخیر شبکه، نه هزینه هر توکن، و نه نگرانی از حریم خصوصی داده های کاربران.
ترکیب این دو فناوری یک جادوی واقعی خلق می کند. از یک سو Block Bindings ساختار محتوای شما را از داده جدا می کند، از سوی دیگر مدل زبانی کوچک داده های خام را به محتوای زمینه ای و شخصی سازی شده تبدیل می کند. بیایید یک سناریوی واقعی را مرور کنیم. فرض کنید یک فروشگاه لوازم الکترونیک دارید. در صفحه هر محصول، بخشی به نام «این محصول برای شما مناسب است اگر…» می خواهید اضافه کنید. در مدل سنتی، نویسنده محتوا باید برای هزاران محصول، هزاران توضیح متفاوت بنویسد که عملا غیرممکن است. با صفحه سازها هم اوضاع بدتر می شود چون باید برای هر محصول یک صفحه مجزا طراحی کنید. اما در مدل جدید ما، یک بلوک پاراگراف ساده در قالب سایت تعریف می شود که منبع داده اش تابعی است که مشخصات فنی محصول، محدوده قیمت، و برند را به یک مدل زبانی کوچک می دهد و از آن می خواهد یک جمله متقاعدکننده برای خریدار بالقوه بنویسد. هر بار که صفحه محصول لود می شود، این جمله بر اساس ترکیب داده های همان محصول و احیانا رفتار قبلی کاربر (محصولاتی که دیده، جستجوهایی که کرده) بازسازی می شود.
پیاده سازی این سیستم از آنچه تصور می کنید ساده تر است. ابتدا باید مطمئن شوید یک وب سرور کوچک که مدل زبانی را اجرا می کند در کنار وردپرس دارید. ابزارهایی مثل Ollama این کار را به چند دستور ساده تقلیل داده اند. کافی است در ترمینال سرور خود ollama pull phi3 را اجرا کنید تا مدل فای-۳ دانلود و آماده سرویس دهی روی پورت محلی شود. حالا در فایل functions.php قالب خود یک source برای Block Bindings ثبت می کنید. این source یک تابع PHP ساده خواهد بود که شناسه پست جاری را دریافت می کند، متادیتای محصول (مثلا قیمت، برند، و دسته بندی) را از دیتابیس می خواند، آن ها را به صورت یک پرامپت ساختاریافته درمی آورد، و با یک درخواست CURL به Ollama ارسال می کند. پاسخ که یک متن کوتاه است، مستقیما به عنوان محتوای بلوک برگردانده می شود. نکته مهم این است که برای جلوگیری از کندی، پاسخ ها را در ترنزینت های وردپرس کش کنید. مثلا اگر قرار است توضیح محصول برای ۲۴ ساعت ثابت بماند، لازم نیست هر بار مدل را صدا بزنید. این کش کردن، سرعت را به سطح یک صفحه استاتیک می رساند و در عین حال محتوای پویا و هوشمند حفظ می شود.
احتمالا می پرسید: «خب، این عالی است، اما تفاوتش با اضافه کردن یک endpoint API به المنتور چیست؟» پاسخ در یک کلمه خلاصه می شود: مالکیت! وقتی با صفحه ساز کار می کنید، ساختار طراحی شما در دیتابیس وردپرس و در قالب هزاران shortcode و JSON ذخیره می شود. روزی که تصمیم بگیرید از المنتور به بلاکس یا گوتنبرگ بومی مهاجرت کنید، با یک فاجعه محتوایی روبرو هستید. هزاران براکت و استایل که هیچ معنایی بدون افزونه مادر ندارند. اما با Block Bindings، محتوای شما در بلوک های استاندارد وردپرس ذخیره می شود. اگر روزی تصمیم بگیرید مدل هوش مصنوعی را عوض کنید، از Phi به Llama یا حتی یک API ابری مهاجرت کنید، کافی است تابع PHP خود را ویرایش کنید. حتی اگر کلا قید هوش مصنوعی را بزنید و بخواهید متنی ثابت نمایش دهید، بلوک ها سر جای خود باقی می مانند و ظاهر سایتتان ذره ای تغییر نمی کند. این یعنی محتوای شما بالاخره از چنگال هم افزونه و هم پلتفرم ارائه دهنده هوش مصنوعی آزاد است.
این رویکرد فقط برای تولید محتوای متنی محدود نیست. می توانید یک بلوک تصویر داشته باشید که منبع آن یک مدل تبدیل متن به تصویر باشد و برای هر کاربر یک تصویر پس زمینه منحصربه فرد بر اساس موقعیت جغرافیایی یا زمان روز تولید کند. می توانید یک بلوک جدول قیمت داشته باشید که قیمت ها را لحظه ای از یک API خارجی می خواند، تحلیل می کند که کدام محصول بیشترین حاشیه سود را دارد، و آن را با برچسب «بهترین انتخاب» برجسته می کند. می توانید یک فوتر هوشمند داشته باشید که بر اساس صفحه ای که کاربر از آن آمده، پیشنهادهای متفاوتی نشان دهد. تمام این ها در حالی که ظاهر سایت شما در ویرایشگر وردپرس کاملا طبیعی به نظر می رسد و نیاز به آموزش خاصی برای تیم محتوا ندارد.
اجازه دهید با بزرگترین نگرانی توسعه دهندگان روبرو شویم: امنیت و عملکرد. اجرای یک مدل هوش مصنوعی روی سرور به چه قیمتی تمام می شود؟ حقیقت این است که مدل های کوچک امروزی روی یک CPU معمولی هم به خوبی اجرا می شوند. Phi-3-mini با ۳.۸ میلیارد پارامتر، کمتر از ۲ گیگابایت رم نیاز دارد و می تواند روی همان سروری که وردپرس و MySQL را میزبانی می کند، اجرا شود. البته برای سایت های با ترافیک بالا توصیه می کنم یک container جداگانه برای Ollama در نظر بگیرید. در مورد امنیت هم باید بگویم تمام ارتباطات در localhost انجام می شود، هیچ داده ای از سرور خارج نمی شود، و شما کنترل کامل روی پرامپت ها و خروجی ها دارید. این یعنی می توانید فیلترهای محتوایی خود را قبل از نمایش به کاربر اعمال کنید.
نکته پایانی را برای کسانی می گویم که هنوز مردد هستند. هر تحول بزرگی در وردپرس با مقاومت روبرو شده است. وقتی گوتنبرگ آمد، همه گفتند این ویرایشگر کجا و حرفه ای ها کجا. امروز Block Editor به جایی رسیده که قالب های Full Site Editing بدون آن معنا ندارند. وقتی REST API آمد، خیلی ها گفتند وردپرس که اپلیکیشن موبایل نیست. امروز تمام اپلیکیشن های Headless و PWA بر شانه های همان REST API ایستاده اند. Block Bindings API هم یکی از همان نقاط عطف است که شاید امروز کم سر و صدا به نظر برسد، اما فردا زیربنای نحوه تعامل ما با محتوا خواهد بود. و وقتی این API را با قدرت مدل های هوش مصنوعی محلی ترکیب می کنید، اتفاقی که می افتد فقط «ساخت سایت» نیست. شما در حال ساختن سایتی هستید که فکر می کند، تطبیق پیدا می کند، و با هر بازدیدکننده به زبان خودش حرف می زند. این دقیقا همان مرزی است که یک طراح سایت را از یک معمار تجربه دیجیتال جدا می کند.
هنوز دیدگاهی ثبت نشده است. اولین نفر باشید!