feat(blog): جدول — ستونها قابل تغییر اندازه/افزودن و حذف؛ لینک کپشن تصویر؛ هدینگهای نسخه انگلیسی بزرگتر
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# چکلیست انتشار عمومی (روز «همهسنگ») 🚀
|
||||
|
||||
سایت تا قبل از انتشار در **حالت پیشنمایش خصوصی** است: همهچیز پشت 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
|
||||
```
|
||||
Reference in New Issue
Block a user