# Checklist go-live LEANOS trên VinaHost WPH1

## 1. Chuẩn bị với VinaHost

Yêu cầu nhà cung cấp tạo hoặc xác nhận:

- Hosting WPH1 đang hoạt động: 2 CPU core, RAM 4 GB và NVMe 10 GB.
- PHP 8.4, HTTPS/Let's Encrypt, LiteSpeed và Redis khả dụng; chỉ lùi PHP 8.3 nếu plugin bên thứ ba phát sinh lỗi tương thích.
- Một staging subdomain, khuyến nghị `staging.leanos.com.vn`.
- Một database và database user riêng cho WordPress.
- SFTP/SSH, control panel, phpMyAdmin và thông tin DNS.
- Email quản trị tên miền, ví dụ `website@leanos.com.vn`; chỉ tạo khi doanh nghiệp quyết định tên hộp thư.

Không gửi mật khẩu trong nhóm chat. Dùng password manager hoặc cơ chế chia sẻ bí mật của nhà cung cấp.

Trước khi thanh toán hoặc kích hoạt, xác nhận bằng văn bản các điểm trong `VINAHOST-WPH1-HANDOFF.md`, đặc biệt thời hạn 12/24 tháng, SSH/SFTP, database, quota email và phạm vi backup.

## 2. Cài WordPress staging

1. Tạo database UTF8MB4 và user chỉ có quyền trên database đó.
2. Cài WordPress mới nhất từ `wordpress.org`; không cài bản đóng gói kèm theme/plugin không rõ giấy phép.
3. Đặt Site URL và Home URL là URL HTTPS của staging.
4. Chọn ngôn ngữ tiếng Việt, timezone `Asia/Ho_Chi_Minh`.
5. Không dùng username `admin`.
6. Cài và kích hoạt `leanos-core.zip`, sau đó `leanos-theme.zip`.
7. Vào `Settings > Permalinks`, chọn `Post name`.
8. Kiểm tra các URL:
   - `/`
   - `/services/`
   - `/projects/`
   - `/insights/`
   - `/about/`
   - `/contact/`
   - `/robots.txt`
   - `/wp-sitemap.xml`
   - `/llms.txt`

## 3. Cấu hình bắt buộc

Thêm các hằng số trong `wp-config.php` phía trên dòng “stop editing”:

```php
define('DISALLOW_FILE_EDIT', true);
define('FORCE_SSL_ADMIN', true);
define('WP_POST_REVISIONS', 20);
define('AUTOSAVE_INTERVAL', 120);
define('EMPTY_TRASH_DAYS', 14);
```

Salt/keys phải được tạo riêng tại `https://api.wordpress.org/secret-key/1.1/salt/`, không dùng đoạn mẫu trong package.

## 4. Plugin được phép dùng

Chỉ cài plugin thực sự cần:

- SMTP: FluentSMTP hoặc WP Mail SMTP, dùng tài khoản email chính thức.
- Backup: ưu tiên backup của VinaHost; có thể bổ sung UpdraftPlus nếu cần bản sao ngoài hosting.
- Cache: LiteSpeed Cache do hosting dùng LiteSpeed.
- SEO: chọn đúng một trong Rank Math, Yoast, SEOPress hoặc giữ SEO native của theme.
- Security: Wordfence hoặc Solid Security nếu đội vận hành có người theo dõi cảnh báo.
- Multilingual: Polylang hoặc WPML khi nội dung tiếng Anh đã sẵn sàng.

Không cài đồng thời hai plugin cache, hai plugin SEO hoặc nhiều plugin security. Không dùng plugin/theme nulled.

## 5. Email và form

1. Cấu hình SMTP bằng TLS.
2. Cập nhật email nhận lead trong `Appearance > Customize > Thông tin doanh nghiệp Leanos`.
3. Gửi thử form với email và với số điện thoại.
4. Xác nhận:
   - lead xuất hiện trong `Yêu cầu liên hệ`;
   - email đến Inbox, không vào Spam;
   - Reply-To trả lời đúng email khách;
   - form chặn yêu cầu thiếu phương thức liên hệ.
5. Thiết lập SPF, DKIM và DMARC cho domain qua hướng dẫn DNS của VinaHost.

## 6. SEO và indexability trước go-live

Trên staging bật “Discourage search engines” để tránh index nhầm. Trước go-live:

1. Tắt “Discourage search engines”.
2. Đổi WordPress Address và Site Address sang `https://leanos.com.vn`.
3. Search-replace URL staging bằng URL production bằng công cụ an toàn của hosting.
4. Xóa toàn bộ cache.
5. Kiểm tra canonical không còn domain staging.
6. Kiểm tra `robots.txt` cho phép Googlebot, OAI-SearchBot và ChatGPT-User.
7. Kiểm tra `wp-sitemap.xml` trả HTTP 200 và chứa URL production.
8. Kiểm tra mỗi URL có đúng một H1, title và description riêng.

## 7. Chuyển DNS

1. Giảm TTL bản ghi DNS xuống 300 giây trước chuyển đổi nếu có thể.
2. Nhà cung cấp gửi giá trị A/AAAA hoặc nameserver chính xác.
3. Cập nhật DNS của `leanos.com.vn` và `www`.
4. Chọn một domain chuẩn, khuyến nghị `https://leanos.com.vn`; redirect 301 `www` về bản không-www.
5. Không xóa bản Sites cũ cho đến khi production mới ổn định ít nhất 7 ngày.

## 8. Kiểm tra production

- HTTPS hợp lệ, không mixed content.
- HTTP chuyển 301 sang HTTPS.
- `www` chuyển 301 về canonical.
- Desktop, tablet và mobile không tràn ngang.
- Menu, CTA, link nội bộ, form, email, 404 và pagination hoạt động.
- Console không có lỗi JavaScript.
- Lighthouse/PageSpeed chạy cho mobile và desktop.
- Schema kiểm tra qua Rich Results Test và Schema.org Validator.
- Backup thủ công tạo thành công và có thể tải xuống.

## 9. Rollback

Nếu gặp lỗi nghiêm trọng:

1. Khôi phục DNS về production Sites cũ hoặc bật maintenance page trên hosting.
2. Khôi phục backup files + database gần nhất.
3. Không restore chỉ database hoặc chỉ files nếu hai bản không cùng thời điểm.
4. Ghi lại nguyên nhân, thời gian và thay đổi đã thực hiện.
