ساختار فنی · سند کلیدی · نسخهٔ ۱.۰

ساختار فنی باشهر

تصمیم‌هایی که قبل از ورود متخصص باید بسته باشند.

این سند، ساختار فنی باشهر را تعریف می‌کند — نه به‌عنوان «چطور در وردپرس پیاده کنیم» (که کار متخصص است)، بلکه به‌عنوان تصمیم‌های ساختاری که قبل از هر پیاده‌سازی باید بسته باشند. شش بخش: دامنه، وردپرس، نقش‌ها، تاکسونومی، فیلدها، و استقرار.

۶ بخش·
۷ تصمیم·
دامنه: bashahr.org

۰۱

دامنه

دامنه، هویت باشهر است. یک تصمیم، برای همیشه.

۱

دامنهٔ اصلی: bashahr.org
.org برای یک نهاد مستقل و غیرانتفاعی، مناسب‌تر از .ir است. در سندهای قبلی هم همین را تصویب کردیم.
تصمیم جانبی: bashahr.ir هم رزرو می‌شود، فقط برای ریدایرکت به .org. اگر کسی .ir را بزند، به .org هدایت می‌شود. هزینهٔ رزرو سالانه کم است، اما جلوی از دست رفتن برند را می‌گیرد.
۲

زیردامنه‌ها: فقط سه عدد
bashahr.org دامنهٔ اصلی است. سه زیردامنه داریم، نه بیشتر:
www.bashahr.org — نسخهٔ اصلی، با www
mail.bashahr.org — ایمیل سازمانی (info@bashahr.org)
dev.bashahr.org — نسخهٔ آزمایشی، برای تست تغییرات قبل از انتشار

دامنه، یک تصمیم یک‌باره است. اگر عوض شود، همه‌چیز عوض می‌شود.

۰۲

وردپرس

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

۱

یک وردپرس، نه Multisite
در سند معماری گفتیم «یک سایت، نه شبکه». حالا این تصمیم را به سطح فنی می‌آوریم: یک نصب وردپرس، با یک دیتابیس. شهرها با تاکسونومی جدا می‌شوند، نه با سایت جدا.
چرا: Multisite هزینهٔ نگهداری، به‌روزرسانی، و آموزش را چند برابر می‌کند. با ۵ شهر و تیم کوچک، یک نصب ساده، سریع‌تر و قابل‌کنترل‌تر است.
۲

قالب: یک قالب سبک، نه قالب چندمنظوره
قالب‌های چندمنظوره (مثل Astra، OceanWP) با ده‌ها افزونهٔ اضافی می‌آیند که سایت را کند می‌کنند. یک قالب سبک و سریع انتخاب می‌شود — ترجیحاً GeneratePress یا Kadence، یا یک قالب سفارشی ساده.
معیار انتخاب: کمتر از ۵۰ کیلوبایت CSS، بدون jQuery اضافی، پشتیبانی از Farsi RTL، و سرعت لود بالای ۹۰ در PageSpeed.
۳

حداقل افزونه، حداکثر سرعت
هر افزونه، یک ریسک امنیتی و یک کندی است. فقط افزونه‌های ضروری نصب می‌شوند:
ضروری: فرم‌ساز (WPForms یا CF7)، سئو (Rank Math یا Yoast)، کش (WP Rocket یا LiteSpeed)، پشتیبان‌گیری (UpdraftPlus)
اختیاری: عضوگیری (اگر خبرنامه راه افتاد)
ممنوع: هر افزونه‌ای که «همه‌کاره» است، هر افزونه‌ای که آخرین به‌روزرسانی‌اش بیش از ۶ ماه پیش است

وردپرس، ابزار است. اگر ابزار زیاد شود، هدف گم می‌شود.

۰۳

نقش‌ها

وردپرس پنج نقش پیش‌فرض دارد، اما ما به هفت نقش نیاز داریم. یک تصمیم، برای همیشه.

نقش
دسترسی
تعداد
مدیر کل
همه‌چیز: تنظیمات، افزونه‌ها، کاربران، محتوا
۱ نفر
سردبیر
انتشار، ویرایش، حذف همهٔ مطالب. بدون دسترسی به تنظیمات
۱ نفر
ویراستار
ویرایش و انتشار مطالب، بدون حذف
۱ نفر
نمایندهٔ شهر
نوشتن و ویرایش مطالب شهر خودش، بدون انتشار
۵ نفر
خبرنگار افتخاری
نوشتن مطلب در حوزهٔ خودش، بدون انتشار
متغیر
کارشناس افتخاری
دسترسی به فهرست بررسی، بدون دسترسی به محتوا
متغیر
حامی مالی
فقط مشاهدهٔ گزارش مالی خودش، بدون دسترسی به محتوا
متغیر

نقش‌ها، مرز مسئولیت‌اند. اگر مرز نباشد، مسئولیت گم می‌شود.

۰۴

تاکسونومی

تاکسونومی، قلب ساختار باشهر است. بدون آن، مسئله‌ها در هم می‌ریزند.

۱

شهر — یک تاکسونومی مستقل
هر مسئله به یک شهر گره می‌خورد. شهر، یک تاکسونومی مستقل است (نه یک دستهٔ معمولی)، چون باید در URL بیاید و در Schema ثبت شود.
ساختار: «شهر» → اهواز، لنجان، مشهد، اصفهان، حسن‌آباد فشافویه
URL: bashahr.org/shahr/isfahan
۲

موضوع — شش ستون
هر مسئله یک موضوع دارد. شش موضوع، نه بیشتر — همان‌هایی که در سند آموزشی تعریف کردیم.
ساختار: زیرساخت، مسکن، اقتصاد، محیط زیست، پاسخ‌گویی، آموزش
URL: bashahr.org/mozu/forunshast
۳

وضعیت — یک فیلد، نه یک تاکسونومی
وضعیت (باز، در انتظار، پاسخ‌گرفته) یک فیلد است، نه یک تاکسونومی. چون فقط سه مقدار دارد و با یک بار کلیک عوض می‌شود.
ساختار: یک فیلد سفارشی با سه گزینه. در تابلوی شهر، با یک کلیک از «باز» به «پاسخ‌گرفته» تغییر می‌کند.

تاکسونومی، ساختار است. اگر ساختار غلط باشد، محتوا هم غلط می‌شود.

۰۵

فیلدها

هر صفحهٔ مسئله، هشت فیلد دارد. چهار اجباری، چهار اختیاری.

فیلد
معنا
وضعیت
شهر
نام شهر، از تاکسونومی
اجباری
موضوع
یکی از شش ستون
اجباری
مسئول پاسخ
نام نهاد، با نام کامل
اجباری
وضعیت
باز، در انتظار، پاسخ‌گرفته
اجباری
مهلت
تاریخ پاسخ
اختیاری
تاریخ آخرین به‌روزرسانی
آخرین باری که صفحه غنی شد
اختیاری
منابع
لینک یا فایل سند
اختیاری
پاسخ‌ها
فهرست پاسخ‌های ثبت‌شده
اختیاری

فیلدها، ستون‌های ساختارند. اگر یک فیلد جا بیفتد، سئو هم جا می‌افتد.

۰۶

استقرار

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

مرحله ۱

هاست و دامنه
هاست اشتراکی با PHP 8.1+، MySQL 8.0+، و SSL رایگان. هاست ایرانی برای سرعت، یا خارجی برای پایداری.
مرحله ۲

وردپرس و قالب
نصب وردپرس فارسی، فعال‌سازی قالب GeneratePress، و نصب چهار افزونهٔ ضروری (فرم، سئو، کش، پشتیبان).
مرحله ۳

تاکسونومی و فیلدها
ساخت تاکسونومی شهر، موضوع، و فیلدهای سفارشی. این کار با یک متخصص، حدود ۴ ساعت طول می‌کشد.
مرحله ۴

CSS و تست
CSS را در «CSS اضافی» یا افزونهٔ CSS بگذار. یک مطلب آزمایشی در هر شهر منتشر کن. تست سرعت، تست موبایل، تست دسترسی.
مرحله ۵

آموزش نمایندگان
قبل از انتشار عمومی، هر نماینده باید بداند چطور مسئله ثبت کند، چطور وضعیت را عوض کند، چطور کارت بسازد.
مرحله ۶

انتشار عمومی
یک ماه پس از راه‌اندازی، با ۱۰ مسئلهٔ اولیه در پنج شهر. نه زودتر، نه دیرتر.

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

۰۷

چک نهایی — چه چیزی باید قبل از انتشار بسته باشد

پیش از انتشار عمومی، این هفت مورد باید بسته باشند. اگر یکی بسته نباشد، انتشار عقب می‌افتد.

۱

دامنه و هاست: bashahr.org خریداری شده، SSL فعال است، وردپرس نصب شده.

۲

قالب و افزونه: قالب سبک فعال، چهار افزونهٔ ضروری نصب و تنظیم‌شده.

۳

تاکسونومی و فیلدها: شهر، موضوع، و هشت فیلد ساخته و تست‌شده.

۴

نقش‌ها: هفت نقش تعریف شده، هر نماینده دسترسی خودش را دارد.

۵

CSS و دیزاین: تمام سندها (مرام‌نامه، فرم‌ها، پروتکل‌ها، آموزش) در سایت درست دیده می‌شوند.

۶

محتوای اولیه: پنج مسئله در پنج شهر، با همهٔ فیلدهای اجباری، آمادهٔ انتشار.

۷

فرم‌ها: پنج فرم ساخته و تست‌شده. هر فرم به یک ایمیل مشخص وصل است.

این هفت مورد، شرط انتشار است. اگر یکی نباشد، انتشار نیست — حتی اگر همه‌چیز دیگر آماده باشد.

باشهر · ساختار فنی · نسخهٔ ۱.۰ · bashahr.org
اشتراک‌گذاری این مطلب

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

0:00
0:00