# چک‌لیست انتشار عمومی (روز «همه‌سنگ») 🚀 سایت تا قبل از انتشار در **حالت پیش‌نمایش خصوصی** است: همه‌چیز پشت Basic Auth با `X-Robots-Tag: noindex` و `robots.txt: Disallow: /` و sitemap خالی. همهٔ کارهای سئو (متا، JSON-LD، llms.txt، sitemap) همین حالا ساخته و تست شده‌اند و با برداشتن گیت به‌صورت خودکار فعال می‌شوند — هیچ تغییر کدی برای انتشار لازم نیست. ## ۱. پیش از انتشار — بازبینی محتوا - [ ] ترجمهٔ انگلیسی صفحه‌های اصلی کامل است (متای سئوی انگلیسی هر صفحه در پنل → «سئوی صفحه» ثبت شده باشد — فقط صفحاتی که متای انگلیسی دارند به‌عنوان alternate معرفی می‌شوند) - [ ] توضیحات سئو (Meta Description) مقاله‌های مهم در پنل نوشته شده است (۱۵۰–۱۶۰ نویسه) - [ ] نام نویسندهٔ مقاله‌ها در پنل ثبت شده (در اسکیمای Article می‌آید) - [ ] تصویر پیش‌فرض OG (`frontend/public/og-default.jpg`) در بیلد هست - [ ] شماره تلفن و ایمیل برند در پنل درست است (در JSON-LD تماس می‌آید) - [ ] آدرس دفاتر در پنل کامل است (اسکیمای LocalBusiness از همان می‌سازد) ## ۲. برداشتن گیت و استقرار ```bash bash scripts/preview-mode.sh off # حذف Basic Auth + اجازهٔ ایندکس + llms.txt فعال bash scripts/stack.sh deploy-prod # استقرار مجدد ``` ## ۳. راستی‌آزمایی پس از انتشار (بدون احراز هویت) ```bash DOMAIN=your-domain.ir # هدر noindex نباید باشد: curl -sI https://$DOMAIN/ | grep -i x-robots-tag # ← باید خالی باشد # robots.txt واقعی با سیاست خزنده‌های AI و خط Sitemap: curl -s https://$DOMAIN/robots.txt # sitemap پُر با alternates دو زبانه: curl -s https://$DOMAIN/sitemap.xml | head -30 # llms.txt باید ۲۰۰ بدهد: curl -sI https://$DOMAIN/llms.txt | head -1 # متای تزریقی در HTML خام صفحهٔ اصلی (بدون جاوااسکریپت): curl -s https://$DOMAIN/ | grep -E 'canonical|og:image|hreflang|ld\+json' | head # صفحهٔ ناموجود باید ۴۰۴ بدهد (نه soft-404): curl -s -o /dev/null -w '%{http_code}\n' https://$DOMAIN/blog/does-not-exist # گیت حذف شده باشد (انتظار: 200، نه 401): curl -s -o /dev/null -w '%{http_code}\n' https://$DOMAIN/ ``` ## ۴. دامنهٔ دوم - [ ] در `.env`: `ALIAS_REDIRECT=on` (ریدایرکت ۳۰۱ دامنهٔ دوم به اصلی — جلوگیری از محتوای تکراری) و deploy مجدد ## ۵. ثبت در موتورهای جست‌وجو - [ ] **Google Search Console**: مالکیت دامنه، ارسال `https://DOMAIN/sitemap.xml` - [ ] **Bing Webmaster Tools**: ایمپورت از GSC، ارسال sitemap (ایندکس Bing = منبع ChatGPT و Copilot) - [ ] اختیاری — **IndexNow** برای ایندکس سریع‌تر Bing ## ۶. آمار (اختیاری ولی توصیه‌شده) - [ ] در `.env`: `VITE_UMAMI_SRC` و `VITE_UMAMI_WEBSITE_ID` را تنظیم و فرانت‌اند را بیلد کنید (تحلیل رفتار در حال حاضر خاموش است) - [ ] کانال «AI Assistants» در GA4/Umami برای دیدن ترافیک ارجاعی از دستیارها ## ۷. خط پایه برای پایش بعدی - [ ] یک ممیز کامل سئو بگیرید (مثلاً پلاگین `claude-seo`: `/seo audit`) و امتیاز پایه را ثبت کنید - [ ] اسنپ‌شات drift بگیرید تا تغییرات آیندهٔ تایتل/متا/اسکیما قابل رهگیری باشد (`/seo drift baseline`) - [ ] هر ۲ هفته: ۵ پرسش برند + ۵ پرسش دسته‌ای در ChatGPT/Claude/Perplexity تست کنید — «آیا به آرامش ارجاع می‌دهند؟» و نرخ ارجاع را یادداشت کنید ## برگشت به عقب (اگر لازم شد) ```bash bash scripts/preview-mode.sh on # برگشت به حالت خصوصی bash scripts/stack.sh deploy-prod ```