Khi migrate làm store "tàng hình" với AI

Phần lớn checklist đổi nền tảng dừng ở "site mới chạy rồi, nhìn ổn rồi." Phần âm thầm quyết định trợ lý AI còn tìm được bạn hay không lại là phần không ai demo: chuyện gì xảy ra với mọi URL cũ sau khi cutover.
Trợ lý AI — ChatGPT, Gemini, Perplexity, Claude — không dò lại catalog của bạn mỗi sáng. Chúng dựa vào thứ đã học và thứ fetch được ngay lúc đó: URL sản phẩm cũ, các trang trỏ tới chúng, directory từng trích dẫn. Migrate mà không có redirect map thì tất cả thành 404. Model hỏi trang nó từng biết, nhận về số 0, và lần sau khi người mua hỏi "ai cung cấp mặt hàng này" — không có tên bạn. Không phải bị vượt hạng. Là biến mất.
#Con số không ai kiểm: URL cũ giờ 404
Một lần migrate WooCommerce → Shopify B2B cho một nhà phân phối sỉ Hà Lan (qua một agency đối tác): store cũ có 6.735 URL /product/*. Catalog Shopify mới có 3.469 sản phẩm — ít hơn, vì số URL cũ tính cả variant và hàng ngừng bán. Khoảng chênh đó bình thường. Không bình thường là bỏ mặc 6.735 địa chỉ cũ chết.
Nên trước cutover, chúng tôi rà từng link collection cũ một. 174/175 giờ 301 về trang sống (200). Cái còn lại — đúng một /sale-5-2 vẫn 404 — nằm trong danh sách sửa, không giấu. Thêm 15 URL sản phẩm cũ trỏ tới sản phẩm không còn tồn tại; thay vì 404, mỗi cái đưa người xem (và crawler) về collection cha — một trang sống trả lời "loại hàng này chúng tôi vẫn bán." Link nội bộ storefront EN: 158/158 ra 200.
Không có gì hào nhoáng. Không ai vỗ tay cho một cái redirect. Nhưng redirect là ranh giới giữa việc AI đi theo link quen tới một trang sống đọc được, và đi thẳng vào tường.
#Redirect là cần, chưa đủ — trang phải đọc được
301 đưa AI tới URL sống. AI có dùng được trang đó không là câu hỏi thứ hai — và là chỗ store B2B mất dấu. Store sỉ dựng cho khách đã đăng nhập: catalog sau login, giá theo nhóm. AI ghé trong trạng thái đăng xuất. Nếu trang đích là bức tường "đăng nhập để xem giá" không có structured data, AI tới được URL sống mà vẫn không học được gì.
Nên trang sau migrate cần ba thứ:
- Structured data Product/Offer ở bản đăng xuất — đủ để AI hiểu sản phẩm là gì và bạn có bán, dù giá sỉ vẫn nằm sau login.
- Một tín hiệu giá trung thực — "giá hiển thị cho khách sỉ đã duyệt", không phải một ô trống.
- Nhất quán ngôn ngữ — lần này 743 sản phẩm còn tên variant tiếng Hà Lan sau lần import đầu; cả 743 đã sửa.
Một cảnh báo từ chính job này: store có thể trông đã khoá giá trong khi giá vẫn lộ qua /products.json hay /cart/add.js. Nếu giá là thứ bạn bảo vệ, hãy kiểm endpoint dữ liệu, không chỉ trang hiển thị.
AI chỉ giới thiệu được store nó tới được và đọc được. Migrate là lúc bạn quyết điều đó còn đúng không.
Muốn biết AI agent hiện có tìm và đọc được store của bạn không? Gửi cho chúng tôi một URL store, chúng tôi chạy một bản đọc AI-correctness async miễn phí và gửi lại punch-list chỉ rõ chỗ agent đi vào ngõ cụt hoặc đọc sai: luma-e.com/ai-readiness. Không cần gọi. Thêm các bài migration ở trang dự án.