اینگونه با هوش مصنوعی وب‌سایت خود را ساختیم — مطالعه موردی HD SofT: ۱۳ زبان، وردپرس، خودکارسازی و تحلیل داده

این مقاله شرح می‌دهد که چگونه ما در HD SofT وب‌سایت خود را با کمک هوش مصنوعی ساختیم — انتقال از Squarespace به وردپرس + Bricks Builder، در ۱۳ زبان، روی سرور اختصاصی، با خط لوله انتشار خودکار و تحلیل داده. و چه چیزهایی در این مسیر آموختیم.

چرا از Squarespace مهاجرت کردیم

سایت قبلی ما روی Squarespace بود. مدت زیادی به ما خدمت کرد، اما سه دلیل باعث شد کنار گذاشته شود:

  • چندزبانه بودن بسیار گران و دست‌وپاگیر بود. ما یک شرکت نرم‌افزاری فنلاندی هستیم، اما پروژه‌ها را در سراسر جهان اجرا می‌کنیم. می‌خواستیم محتوای ما به ۱۳ زبان قابل خواندن باشد — قابلیت‌های چندزبانه Squarespace بدون افزونه‌ای جداگانه و هزینه ماهانه فزاینده پاسخگو نبود.
  • در اکوسیستم یک ارائه‌دهنده خدمات محبوس بودیم. می‌خواستیم مالک کل پشته باشیم: پایگاه داده، سرور، فرایند استقرار و تمام محتوا. تنها در این صورت می‌توانیم بدون محدود کردن خود، راهکارهای جدید هوش مصنوعی و یکپارچه‌سازی را آزمایش کنیم.
  • سئو و جست‌وجوهای مبتنی بر هوش مصنوعی نیازمند کنترل کامل هستند. داده‌های ساختاریافته (JSON-LD)، llms.txt و تگ‌های Open Graph در سطح هر صفحه، آن‌گونه که ما می‌خواستیم در سرویس‌های استاندارد قابل پیاده‌سازی نبود.

تصمیم گرفتیم از نو بسازیم — و در عین حال در عمل بیازماییم که ابزارهای امروزی هوش مصنوعی تا کجا پیش می‌روند، وقتی یک شرکت نرم‌افزاری وب‌سایت تولیدی خود را با آن‌ها می‌سازد.

انتخاب پشته: وردپرس، Bricks و VPS اختصاصی

به‌عنوان بستر وردپرس، به‌عنوان صفحه‌ساز Bricks Builder و به‌عنوان سرور VPS اختصاصی را با محیط مبتنی بر Docker و Kubernetes انتخاب کردیم.

  • وردپرس، چون استاندارد است: REST API، Yoast SEO و ده سال کتابخانه پشتیبانی برای هرچه نیاز داریم. افزونه‌های فعال: Yoast SEO، Redirection (هدایت‌های URL)، Converter for Media (تبدیل خودکار به WebP) و AI Engine.
  • Bricks Builder لایه بصری را مدیریت می‌کند. تصمیم مهم: تمام استایل‌ها (تایپوگرافی، رنگ‌ها، فاصله‌ها، گریدها) را زیر Theme Style افزونه Bricks گذاشتیم — هیچ پیکسلی را برای صفحات منفرد هاردکد نمی‌کنیم. به این ترتیب ماشین (یعنی هوش مصنوعی) می‌تواند محتوای جدید بسازد و آن محتوا بدون نیاز به تنظیم جداگانه با ظاهر آماده هماهنگ شود.
  • VPS اختصاصی کنترل کامل می‌دهد: هزینه‌ها قابل پیش‌بینی است، سرور در فنلاند قرار دارد، و می‌توانیم در کنار آن خودکارسازی‌های n8n و پروژه‌های دیگر را در همان محیط بسازیم.

چه چیزهایی را کنار گذاشتیم؟ افزونه‌های چندزبانه را. به جای آن‌ها راهکار خودمان را ساختیم که در آن هر زبان زیر مسیر خود صفحه‌ای جداگانه دارد (مثلاً /en/services/، /de/dienstleistungen/). ساختار URL ساده است و موتورهای جست‌وجو هر صفحه را به‌عنوان موجودیتی مستقل می‌بینند، نه به‌عنوان جادوی ترجمه.

تولید محتوا با هوش مصنوعی — فرایندی تکرارپذیر

پایه تمام محتوا FI-master است: نسخه اصلی فنلاندی که ما به‌صورت دستی می‌نویسیم و ویرایش می‌کنیم. تنها پس از قفل شدن آن، هوش مصنوعی محتوا را به ۱۲ زبان دیگر ترجمه می‌کند.

در عمل فرایند به این صورت پیش می‌رود:

  1. FI-master نوشته و دستی نمونه‌خوانی می‌شود. زبان فنلاندی نیازمند بازبینی انسانی است — کلمات مرکب، نقطه‌گذاری و ظرایف زبانی اغلب از دید هوش مصنوعی پنهان می‌مانند.
  2. وقتی متن تأیید شد، اسکریپت ترجمه را اجرا می‌کنیم که نسخه‌ای برای تمام زبان‌های لازم تولید می‌کند (en, de, es, fr, pt, pl, ro, tr, hi, ko, ar, fa).
  3. هر ترجمه یک فیلد متای _hdsoft_translation_key دریافت می‌کند که به شناسه پست FI-master اشاره دارد. به این ترتیب سامانه می‌داند کدام نسخه‌ها به یکدیگر تعلق دارند.
  4. تصویر شاخص و تاریخ انتشار به‌صورت خودکار از مستر کپی می‌شوند، تا نسخه‌های ترجمه‌شده از نظر بصری یکدست باشند.

زبان‌های راست‌چین (عربی، فارسی) توجه ویژه دریافت می‌کنند: ویژگی dir="rtl" در HTML، چیدمان جهت‌دار درست و یک نمونه‌خوان بومی‌زبان.

هوش مصنوعی اطلاعات جدید اضافه نمی‌کند، عدد از خود نمی‌سازد و لحن را تغییر نمی‌دهد. وظیفه آن ساده است: ترجمه، نه بازنویسی.

خودکارسازی فنی: REST API، mu-plugin و GitHub Actions

این آن بخشی است که هوش مصنوعی واقعاً در آن وقت ما را ذخیره می‌کند.

صفحات از طریق REST API ساخته می‌شوند. در Bricks، ساختار هر صفحه در فیلد متای _bricks_page_content_2 به‌صورت JSON ذخیره می‌شود. وقتی می‌خواهیم صفحه خدمات جدیدی بسازیم، هوش مصنوعی یک ساختار JSON سازگار با Bricks (Section → Container → Block → Heading + Text) تولید می‌کند، آن را با REST API ارسال می‌کند و صفحه آماده است. اصلاحات نهایی را می‌توان مستقیماً در ویرایشگر انجام داد، اما کار پایه با یک دستور انجام می‌شود.

mu-pluginها وظایف ویژه را برعهده دارند. علاوه بر افزونه‌های استاندارد، چند mu-plugin اختصاصی داریم:

  • hdsoft-jsonld.php — اسکیماهای گسترده سئو (Service، SoftwareApplication، CreativeWork، ContactPage، FAQPage) را روی پایه Yoast تولید می‌کند.
  • hdsoft-tracking.php — تگ‌های Google Analytics، Lead Feeder و Bing Webmaster.
  • hdsoft-domain.php — تمام URLهای نمایش‌داده‌شده در صفحات را به دامنه نهایی hdsoft.fi مجبور می‌کند (از باقی‌ماندن URLهای قدیمی در زمان انتقال جلوگیری می‌کند).
  • hdsoft-llms.php — فایل /llms.txt را با کدگذاری صحیح UTF-8 به موتورهای جست‌وجوی هوش مصنوعی ارائه می‌کند.

تمام mu-pluginها به‌صورت خودکار از طریق GitHub Actions مستقر می‌شوند: وقتی به شاخه main پوش می‌کنید، runner تغییرات را به کلاستر K8s اعمال می‌کند. نیازی به دستور دستی kubectl cp نیست.

یک فایل سراسری JS مسئول ناوبری چندزبانه است. یک عنصر Bricks Code در قالب هدر، کد زبان را از URL می‌خواند و منو، فوتر و لینک‌های قبلی/بعدی را ترجمه می‌کند. این یعنی به‌جای ساخت هدر برای هر زبان، فقط یک فایل را وقتی خدمت جدیدی اضافه می‌کنیم به‌روز می‌کنیم.

سئو و GEO از همان ابتدا در ساختار

جست‌وجوهای مبتنی بر هوش مصنوعی (ChatGPT، Perplexity، Claude، Bing Copilot) دسته‌ای متفاوت از Google هستند. آن‌ها لینک‌ها را ایندکس و رتبه‌بندی نمی‌کنند — صفحه را به‌عنوان یک خلاصه می‌خوانند و مستقیماً به سؤال پاسخ می‌دهند. این مستلزم دو چیز است:

  1. داده‌های ساختاریافته در قالب JSON-LD. Yoast پایه را پوشش می‌دهد (WebPage، Article، BlogPosting، BreadcrumbList، Organization). hdsoft-jsonld.php اختصاصی ما انواع تخصصی مهم را اضافه می‌کند: Service برای صفحات خدمات، SoftwareApplication برای محصولات، و FAQPage به‌صورت خودکار وقتی الگوهای پرسش/پاسخ در محتوا دیده شود.
  2. llms.txt در ریشه سایت. این یک خلاصه کوتاه است درباره اینکه شرکت چیست، چه می‌کند و اطلاعات بیشتر کجاست. هر بار که خدمت، محصول یا پروژه جدیدی اضافه می‌کنیم، آن را به‌روز نگه می‌داریم.

این ترکیب کار می‌کند: جست‌وجوهای مبتنی بر هوش مصنوعی به‌درستی به پرسش‌هایی مانند «HD SofT چه می‌کند» پاسخ می‌دهند، بدون اینکه حدس بزنند یا ما را با شرکت دیگری اشتباه بگیرند.

علاوه بر این، هر صفحه دارای موارد زیر است:

  • فیلد inLanguage در JSON-LD که از پیشوند URL تولید می‌شود
  • تگ og:locale برای نسخه‌های ترجمه‌شده (fi_FI، en_US، de_DE …)
  • لینک‌های hreflang پس از آماده شدن تمام ترجمه‌ها
  • پاراگراف‌های پاسخ‌محور — کوتاه، در قالب پرسش و پاسخ، تا هوش مصنوعی بتواند پاسخی یک‌جمله‌ای از آن استخراج کند

تحلیل داده‌ها در همان مرحله متصل می‌شود

وب‌سایت را بدون داده نمی‌توان بهبود داد. از همان ابتدا فعال کردیم:

  • Google Analytics 4 — ترافیک پایه، کانال‌ها، صفحات، رفتار کاربر.
  • Google Search Console — دیده‌شدن ارگانیک، پرسش‌های برتر، مشکلات ایندکس.
  • Lead Feeder — شناسایی در سطح شرکت، وقتی کسی از یک محدوده IP قابل شناسایی، صفحات را به‌طور مکرر بازدید می‌کند.
  • Bing Webmaster Tools — Bing هنوز در بازارهای B2B اهمیت دارد، و Copilot مایکروسافت Bing را می‌خواند.

یک نکته به‌ویژه مهم: اسنپ‌شات هفتگی بازاریابی. یک اسکریپت خط فرمان نوشتیم که داده‌های GA4 و Search Console را دریافت می‌کند، آن‌ها را با هفته قبل مقایسه می‌کند و یک خلاصه Markdown تولید می‌کند: کانال‌ها، کشورها، صفحات برتر، پرسش‌های برتر، تفاوت‌ها. این یک داشبورد پر زرق و برق نیست بلکه گزارش‌دهی عملی است، اما تضمین می‌کند که هیچ روندی از دید ما پنهان نمی‌ماند.

خط لوله توسعه مبتنی بر هوش مصنوعی مزیت ویژه‌ای در این زمینه ارائه می‌دهد: وقتی درخواست داده GA4 یا Search Console باید در ساختار درست قالب‌بندی شود، هوش مصنوعی آن را با چند خط کد انجام می‌دهد و نتیجه را در قالبی قابل خواندن به ما برمی‌گرداند.

تعویض DNS و کارهای پس از آن

دامنه تولیدی را در ۴ مه ۲۰۲۶ به hdsoft.fi منتقل کردیم. برای این انتقال به این شکل آماده شدیم:

  • ۲۸ هدایت از URLهای قدیمی Squarespace به URLهای جدید ساختیم — همگی به‌صورت نسبی، تا در برابر تغییر دامنه پایدار باشند.
  • خطاهای ۴۰۴ به‌عنوان رویدادی اختصاصی به GA4 متصل شدند، تا لینک‌های شکسته را به‌سرعت متوجه شویم.
  • نقشه سایت پس از تغییر DNS به Search Console ارسال شد، نه پیش از آن (در غیر این صورت Google آن را نامعتبر علامت‌گذاری می‌کرد).

پس از انتقال، اسنپ‌شات بازاریابی را در چهار هفته اول به‌صورت هفتگی و سپس ماهانه اجرا می‌کنیم. به این ترتیب اگر URLی روی ۴۰۴ گیر کند یا صفحه‌ای عملکرد غیرمنتظره خوبی نشان دهد (که در آن صورت محتوای بیشتری اضافه می‌کنیم) سریع متوجه می‌شویم.

چه آموختیم

مهم‌ترین درس‌ها مربوط به تکنولوژی نیستند بلکه به روش کار مربوط می‌شوند.

  • پیش از آنکه هوش مصنوعی شروع به تولید محتوا کند، استایل‌ها را در یک مکان طراحی کنید. Theme Style و Global Classes در Bricks ابزارهای هوش مصنوعی هستند: وقتی ساختار آماده باشد، ماشین فقط جاهای خالی را پر می‌کند. اگر استایل‌ها را باز بگذارید، هوش مصنوعی برای هر صفحه پیکسل‌ها را هاردکد می‌کند و آشفتگی آغاز می‌شود.
  • FI-master را پیش از ترجمه‌ها قفل کنید. اگر مستر هنوز در حال تغییر است، ترجمه‌ها به نسل‌های مختلف تجزیه می‌شوند. یک منبع حقیقت — و بقیه از آن پیروی می‌کنند.
  • بازبینی بصری اجباری. هوش مصنوعی می‌تواند صفحه‌ای تولید کند که در سطح JSON بی‌نقص است اما برای کاربر آشفته به‌نظر می‌رسد. پس از هر تغییر یک اسکرین‌شات مبتنی بر Playwright بگیرید — انسان می‌خواند، نه فقط اعتبارسنج.
  • زبان فنلاندی به انسان نیاز دارد. کلمات مرکب، نقطه‌گذاری و لحن: هوش مصنوعی خطاهایی می‌کند که ماشین متوجه نمی‌شود. یک گوینده بومی را به‌عنوان مرحله نهایی نگه دارید.
  • زمینه را در یک فایل گرد آورید. ما در ریشه مخزن CLAUDE.md داریم: تمام قواعد، ابزارها، مسیرها، سازوکارهای استقرار. وقتی نشست هوش مصنوعی باز می‌شود، ابتدا این فایل را می‌خواند. انسان نیز پیش از شروع ویرایش همین کار را می‌کند: دستورالعمل‌ها را بخوان تا از نو شروع نکنی.

در نهایت بهترین ابزار هوش مصنوعی آن است که کاربر بداند چگونه آن را متوقف کند. تولید ارزان است — تضمین کیفیت آن بخشی است که نتیجه را تعیین می‌کند.

همین را به‌صورت کلید در دست می‌خواهید؟

HD SofT پروژه‌های وب‌سایت و محتوای مبتنی بر هوش مصنوعی را برای مشتریان اجرا می‌کند. همان روش، همان سطح کیفیت، همان کنترل: وردپرس + Bricks، خط لوله خودکارسازی، چندزبانه بودن و تحلیل داده — همگی پیش از انتشار صفحه به‌درستی متصل می‌شوند.

برای اطلاعات بیشتر تماس بگیرید: فرم تماس، بازاریابی دیجیتال یا توسعه نرم‌افزار.

Related posts