Lâu lâu lại viết một bài cho đỡ mốc mất Blog, trong bài viết này mình sẽ hướng các bạn cách chuyển tền miền Blogger/Blogspot sang non-WWW.
Như các bạn đã biết thì Blogger không hỗ trợ việc cài đặt tên miền không có subdomain ví dụ như www, store,... Phía trước tên miền chính hay gọi là root domain. Vậy thì như tiêu đề bài viết chắc nhiều người đặt ra vấn đề là vậy làm sao để sử dụng được root domain với non www, một các rất đơn giản chúng ta sẽ sử dụng kết hợp với Cloudflare để chuyển hướng từ subdomain về root domain, ví dụ từ www.toishare.com về toishare.com
Nguyên tắc hoạt động
Chúng ta sẽ chuyển hướng 301 người dùng từ subdomain về root domain khi này thì người dùng truy cập vào www sẽ tự chuyển hướng về non www mà không ảnh hưởng đến SEO, sau đó sẽ Proxy nội dung từ subdomain về root domain để hiển thị nội dung.
Cấu hình DNS với Cloudflare
Mình sẽ không hướng dẫn quá chi tiết về cách sử dụng DNS Cloudflare cho tên miền nữa cái này các bạn tự Google hướng dẫn nhé, còn về cấu hình sẽ như sau.
Bật Proxied cho tất cả các bản ghi:
- A toishare.com → 216.239.32.21, 216.239.34.21, 216.239.36.21, 216.239.38.21 → Proxied
- CNAME www → ghs.google.com → Proxied
Ở đây toishare.com sẽ là tên miền của các bạn nhé!
Cấu hình Blogger
Các bạn setup tên miền có www như bình thường và lưu ý không bật chuyển hướng sang www ở ngay dòng dưới nhé!
Cấu hình Cloudflare Worker
Cloudflare → Workers & Pages → Create → Start with Hello World! → Deploy.
Tiếp theo chọn Edit Code và dán code phía dưới vào:
const WWW = 'www.toishare.com';
const ROOT = 'toishare.com';
export default {
async fetch(request) {
const reqUrl = new URL(request.url);
if (reqUrl.hostname === WWW) {
reqUrl.hostname = ROOT;
reqUrl.protocol = 'https:';
return Response.redirect(reqUrl.toString(), 301);
}
const originUrl = new URL(request.url);
originUrl.hostname = WWW;
originUrl.protocol = 'https:';
const resp = await fetch(new Request(originUrl.toString(), request), {
cf: { cacheEverything: true }
});
if (resp.status >= 300 && resp.status < 400) {
const loc = resp.headers.get('Location');
if (loc) {
const L = new URL(loc, originUrl);
if (L.hostname === WWW) {
L.hostname = ROOT;
L.protocol = 'https:';
return new Response(null, { status: resp.status, headers: { Location: L.toString() } });
}
}
return resp;
}
const ct = resp.headers.get('content-type') || '';
if (ct.includes('text/html')) {
return new HTMLRewriter()
.on('link[rel="canonical"]', {
element(el) {
const href = el.getAttribute('href');
if (href) {
try {
const u = new URL(href, originUrl);
if (u.hostname === WWW) {
u.hostname = ROOT;
el.setAttribute('href', u.toString());
}
} catch {}
}
}
})
.on('a', {
element(el) {
el.setAttribute('href', el.getAttribute('href').replace(WWW, ROOT));
}
})
.transform(resp);
}
return resp;
}
};
Thay tên miền của các bạn vào 2 hằng số WWW và ROOT. Sau đó chọn Deploy.
Gán Routes cho Worker
Workers & Pages → [Worker của bạn] → Settings → Domains & Routes → Add → Route
Ở Zone chọn tên miền của bạn. Ở Route điền toishare.com/*
ở đây toishare.com là tên miền của bạn nhé. Tương tự gán tiếp 1 Route nữa là www.toishare.com/*
Bật SSL/HTTPS
Từ Cloudflare truy cập quản lý DNS tên miền của bạn chọn SSL/TLS. Ở phần SSL/TLS encryption → Configure, ở Custom SSL/TLS chọn Full → Save.
Tiếp theo vào Edge Certificates: bật Always Use HTTPS.
Một số ưu điểm và nhược điểm
Ưu điểm:
- URL hiển thị gọn, đẹp, dễ nhớ (https://toishare.com/... thay vì https://www.toishare.com/...).
- SEO thân thiện: 301 redirect một chiều → Google hiểu rõ canonical là non www.
- Cloudflare SSL miễn phí + chống DDoS.
- Không ảnh hưởng dữ liệu hay cấu hình trong Blogger.
- ...
Còn các ưu điểm và lợi ích khác của non www các bạn tự tìm Google nhé.
Nhược điểm:
- Mỗi request non www phải qua Cloudflare Worker → fetch sang www → tăng độ trễ (~50–100ms).
- Nếu blog nhiều traffic + dùng gói Free, phải chú ý giới hạn request/tháng của Workers. Worker Free: ~100,000 request/ngày
- Với blog nhỏ/trung bình thì đủ, nhưng site traffic lớn cần cân nhắc sử dụng gói trả phí (~5$/tháng cho 10M req).
- Và nhiều nhược điểm khác nữa...
Kết luận
Nếu bạn đánh đổi 1 số ưu điểm để có được URL gọn, SEO chuẩn, trải nghiệm tốt, với Blog nhỏ thì có thể sử dụng non www cho Blogger như toishare.com còn không thì việc sử dụng tên miền với www thì cũng không ảnh hưởng gì đến SEO vì www hiện nay đã quá phổ biến và cũng được coi gần như là root domain.
{fullwidth}{nofeatured}
Your profile will not be published.
Enter Image URL / Code Snippets / Quotes / name tag, then click parse button accordingly that you have entered. then copy the parse result and paste it into the comment field.