71 lines
4.3 KiB
Markdown
71 lines
4.3 KiB
Markdown
# چکلیست انتشار عمومی (روز «همهسنگ») 🚀
|
|
|
|
سایت تا قبل از انتشار در **حالت پیشنمایش خصوصی** است: همهچیز پشت 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
|
|
```
|