Link rot và DOI chết: cách tạp chí khoa học giữ URL bài báo sống khi đổi website hay phần mềm
Link rot là hiện tượng đường dẫn web ngừng hoạt động theo thời gian; với tạp chí khoa học, hệ quả cụ thể là DOI chết: mã DOI vẫn tồn tại trong Crossref nhưng URL đích đã hỏng, bạn đọc bấm vào không thấy bài. Trong khảo sát của VOJS ngày 9/11/2026 trên 1.136 DOI do 169 thành viên Crossref Việt Nam đăng ký, 145 DOI (12,8%) không đưa người đọc tới bài: 117 URL đích chết hẳn và 28 URL mở được nhưng rơi vào trang chủ hoặc trang sai. DOI không tự sống mãi; nó sống khi tòa soạn cập nhật URL, giữ tên miền và duy trì chuyển hướng.
Cập nhật: tháng 11/2026 — Biên soạn bởi đội ngũ VOJS, Metis JSC
Link rot và DOI chết là gì?
Link rot là đường dẫn từng hoạt động nhưng nay trả lỗi (404, tên miền biến mất, chứng chỉ hết hạn). DOI chết là trường hợp riêng: DOI còn đăng ký ở Crossref, nhưng URL Crossref đang giữ cho DOI đó không còn dẫn tới bài báo. Dạng nặng hơn là content drift: URL vẫn mở nhưng nội dung đã đổi hoặc trỏ sai trang. Klein và cộng sự gộp hai hiện tượng thành reference rot.
Nghiên cứu của Klein và cộng sự (PLOS ONE, 2014) kết luận một trên năm bài báo STM bị reference rot, tức không còn truy cập lại được bối cảnh web mà bài báo đã viện dẫn lúc viết.
Vấn đề không riêng của khoa học. Pew Research Center (5/2024) lấy mẫu khoảng 90.000 trang mỗi năm từ Common Crawl và thấy 38% trang web tồn tại năm 2013 không còn truy cập được vào tháng 10/2023; tính chung 2013–2023, tỷ lệ là 25%.
DOI chỉ là con trỏ; tính "vĩnh viễn" nằm ở cam kết của người đăng ký. Cơ chế gán DOI xem ở bài Crossref và DOI là gì?.
Bao nhiêu DOI của tạp chí Việt Nam không mở được?
Khoảng 1 trong 8 DOI trong mẫu không dẫn tới bài (145/1.136, tức 12,8%), chưa tính 58 DOI lỗi tạm thời hoặc không xác định.
Phương pháp. Chúng tôi lấy 196 thành viên Crossref có địa chỉ tại Việt Nam, tổng cộng 137.042 DOI (Crossref REST API, 9/11/2026). Mỗi thành viên lấy ngẫu nhiên tối đa 3 bài báo cho mỗi năm 2014, 2017, 2020, 2023 và 2025: được 1.136 DOI của 169 thành viên. Mỗi DOI được mở qua doi.org và theo chuyển hướng tới đích; DOI lỗi được kiểm tra lại ở lượt hai, chỉ tính hỏng khi lỗi cả hai lượt. Trang mã 200 được xét thêm xem có phải trang chủ, trang đăng ký hay trang báo "bài đã chuyển".
| Kết quả kiểm tra | Số DOI | Tỷ lệ |
|---|---|---|
| Mở được, không thấy dấu hiệu sai trang | 933 | 82,1% |
| Tên miền không phân giải (DNS) | 45 | 4,0% |
| Lỗi 404 | 42 | 3,7% |
| Lỗi chứng chỉ SSL | 19 | 1,7% |
| Máy chủ từ chối kết nối | 11 | 1,0% |
| Mở được nhưng sai trang | 28 | 2,5% |
| Cộng nhóm không dẫn tới bài | 145 | 12,8% |
| Quá thời gian chờ hoặc lỗi 5xx cả hai lượt | 47 | 4,1% |
| Mã trạng thái 468 không chuẩn, không xác định | 11 | 1,0% |
Trong nhóm 933 DOI "mở được" có 88 trang mà máy không xác nhận được tiêu đề (trang dựng bằng JavaScript hoặc tiêu đề khác ngôn ngữ với bản đăng ký ở Crossref), nên 12,8% là cận dưới. Nhóm timeout/5xx và mã 468 không được cộng vào vì có thể do máy chủ chặn máy khảo sát hoặc quá tải tạm thời.
Số liệu cốt lõi (VOJS, 9/11/2026): 145/1.136 DOI mẫu (12,8%) không đưa người đọc tới bài báo; 48/169 thành viên Crossref (28,4%) có ít nhất một DOI mẫu hỏng.
Khảo sát này bổ sung cho phép đo ở bài GEO cho tạp chí khoa học, vốn chỉ mở bài gần nhất của từng tạp chí (16/189 lỗi). Bài gần nhất thường còn sống; lấy mẫu qua nhiều năm mới thấy phần "phía sau" của kho bài.
Link rot có tăng theo tuổi bài báo không?
Không theo đường thẳng. Tỷ lệ hỏng cao nhất ở bài 2020 và 2023, không phải nhóm cũ nhất.
| Năm xuất bản | DOI trong mẫu | Không dẫn tới bài | Tỷ lệ |
|---|---|---|---|
| 2014 | 37 | 5 | 13,5% |
| 2017 | 80 | 13 | 16,3% |
| 2020 | 191 | 35 | 18,3% |
| 2023 | 362 | 64 | 17,7% |
| 2025 | 466 | 28 | 6,0% |
Mẫu 2014 và 2017 nhỏ vì nhiều thành viên chưa tồn tại thời đó, nên đừng đọc chênh lệch giữa hai năm này như xu hướng. Điều đáng chú ý là bài 2023 đã hỏng gần 1 trên 5 chỉ sau hơn ba năm. Khảo sát không đo nguyên nhân, nhưng hình dạng này khớp với việc lỗi tập trung ở các đợt đổi nền tảng hoặc tên miền, chứ không phải do thời gian trôi.
Theo tạp chí, lỗi không rải đều. Khi cả tên miền mất, mọi năm chết cùng lúc: 11 trong 169 thành viên có toàn bộ DOI mẫu hỏng (10 trong số đó có từ ba DOI mẫu trở lên).
Vì sao DOI "vĩnh viễn" vẫn chết?
Vì Crossref chỉ giữ URL do tòa soạn khai báo; khi hạ tầng phía tòa soạn đổi mà Crossref không được cập nhật, DOI trỏ vào khoảng trống. Dữ liệu khảo sát chỉ ra sáu kiểu lỗi.
| Kiểu lỗi | Dấu hiệu trong mẫu | Cách phát hiện | Cách sửa |
|---|---|---|---|
| Tên miền hết hạn hoặc bị gỡ | 45 DOI thuộc 14 hostname; 12 hostname trả NXDOMAIN | dig +short A ten-mien | Gia hạn tên miền hoặc cập nhật URL Crossref |
| URL đổi cấu trúc khi đổi phần mềm | 42 DOI lỗi 404 | curl -sI URL đích | Chuyển hướng 301 và cập nhật Crossref |
| Chứng chỉ SSL hết hạn | 19 DOI | curl -sSI báo lỗi certificate | Gia hạn, bật tự động gia hạn |
Đăng ký URL http:// | 197 DOI (17,3%); hỏng 23,4% so với 10,5% ở https:// | Lọc URL bắt đầu bằng http:// | Cập nhật sang https:// |
| Đăng ký địa chỉ IP thay vì tên miền | 9 DOI của 4 thành viên; 7 DOI hỏng | Lọc URL dạng số.số.số.số | Gắn tên miền chính thức rồi cập nhật Crossref |
| Trỏ nhầm vào trang chủ, trang đăng ký | 28 DOI, gồm 3 DOI cùng trang "article moved" | So tiêu đề trang với tiêu đề bài | Sửa bản đồ chuyển hướng |
Có một nguy cơ im lặng: 25 DOI của 5 thành viên mở được chỉ nhờ tên miền cũ chuyển hướng sang tên miền mới (11 hostname). Tòa soạn đã đổi tên miền nhưng Crossref vẫn giữ URL cũ; chuyển hướng đó sống đúng bằng thời gian họ còn gia hạn tên miền cũ. Ngay cả DOI khỏe cũng mong manh: trong 845 DOI mở được và khớp tiêu đề, 172 DOI (20,4%) phải qua thêm một đến ba lần chuyển hướng sau bước doi.org, và mỗi chặng thêm là một điểm có thể gãy.
Google nhắc đúng điểm này khi hướng dẫn đổi tên miền: nên tiếp tục trả tiền tên miền cũ ít nhất một năm để người khác không mua lại và dùng vào việc xấu (Google Search Central, trợ giúp Change of Address).
Crossref có báo cho tòa soạn biết DOI chết không?
Không đầy đủ. Resolution report của Crossref chỉ ghi các lần mở DOI đến trang lỗi của hệ thống Handle, tức DOI chưa đăng ký, không ghi việc URL đích của bạn đã chết.
Theo trang tài liệu Resolution report của Crossref, báo cáo gửi qua email đầu mỗi tháng kèm tệp "Failed DOIs"; một DOI được liệt kê khi nó "resolved to a Handle error page", tức chưa đăng ký hoặc đăng ký lệch với lúc công bố.
Hệ quả thực chiến: một tạp chí vẫn có thể nhận resolution report sạch trong khi nhiều bài của họ trả 404. Tòa soạn phải tự kiểm tra bằng script ở phần dưới, hoặc theo dõi lỗi 404 trong Google Search Console. Hai điều Crossref nói rõ: chuỗi DOI không đổi và không xóa được sau khi đăng ký; còn URL đích thì cập nhật miễn phí, bất cứ khi nào cần.
Quy trình 7 bước giữ DOI sống khi đổi website, phần mềm hoặc tên miền
Thứ tự đúng là lập bản đồ URL, chuyển hướng, rồi mới cập nhật Crossref, vì Crossref lưu ý cập nhật nhiều DOI là một quá trình, không diễn ra tại một thời điểm duy nhất, nên nền tảng cần điều phối chuyển hướng trong lúc đó.
Bước 1. Xuất danh sách DOI và URL Crossref đang giữ, trước khi đổi bất cứ thứ gì, để có bản đối chiếu:
# 1000 DOI mỗi lượt; lặp lại với next-cursor để lấy hết
curl -s "https://api.crossref.org/prefixes/10.xxxx/works?rows=1000&cursor=*&select=DOI,resource" \
| python3 -c "import sys,json; [print(i['DOI'], i['resource']['primary']['URL'], sep='\t') for i in json.load(sys.stdin)['message']['items']]"Bước 2. Lập bản đồ URL cũ sang URL mới, theo từng bài: mỗi dòng gồm DOI, URL cũ, URL mới. Không dồn mọi URL cũ về trang chủ; 12 trong 28 DOI sai trang ở mẫu khảo sát kết thúc ngay tại trang chủ.
Bước 3. Cấu hình chuyển hướng 301. Ví dụ với nginx, example.vn chỉ là địa chỉ minh họa:
nginx.conf
# Trong khối http
map $request_uri $redirect_target {
default "";
include /etc/nginx/redirects/journal-old-to-new.map;
}
# Trong khối server của tên miền cũ
location / {
if ($redirect_target) { return 301 $redirect_target; }
}text
# journal-old-to-new.map (mỗi dòng: URL cũ, URL mới, dấu chấm phẩy)
/index.php/tapchi/article/view/584 https://tapchi.example.vn/bai-bao/584;Bước 4. Cập nhật URL đích lên Crossref. Với vài bài, nộp lại bản ghi. Với nhiều bài, dùng "Bulk URL Update": tệp văn bản phân tách bằng tab, dòng đầu là H: kèm email và prefix sở hữu.
text
H: [email protected];fromPrefix=10.5555
10.5555/doi1 https://tapchi.example.vn/bai-bao/1
10.5555/doi2 https://tapchi.example.vn/bai-bao/2Tải lên tại công cụ quản trị Crossref (Submissions, Upload, loại "Bulk URL Update"). Giới hạn Crossref nêu: tối đa 3.000 URL mỗi tệp, tệp không quá 400 KB, và từ 50.000 DOI trở lên cần liên hệ trước để xếp lịch. Cập nhật không mất phí. Đừng quên URL phụ như URL toàn văn cho Similarity Check hay khai phá văn bản; Crossref nhắc chúng cũng cần cập nhật.
Bước 5. Chờ rồi kiểm tra. Phản hồi doi.org/api/handles cho một DOI mẫu của PLOS ghi ttl 86.400 giây, nên hãy chờ khoảng 24 giờ trước khi kết luận cập nhật chưa có tác dụng.
Bước 6. Giữ chuyển hướng và tên miền cũ lâu. Google khuyến nghị giữ chuyển hướng càng lâu càng tốt, thường ít nhất một năm; công cụ Change of Address ghi mức sàn 180 ngày. Với tạp chí, coi một năm là tối thiểu vì còn nhiều trích dẫn dạng URL ở bài báo của người khác.
Bước 7. Gửi bản sao vào kho lưu trữ độc lập và khai trong metadata, như Crossref khuyến khích mọi thành viên. Lựa chọn, chi phí và cách tra Keepers Registry nằm ở bài LOCKSS, CLOCKSS và PKP PN.
Nếu đổi nền tảng từ OJS, xem quy trình đối soát đầy đủ ở bài chuyển dữ liệu từ OJS sang hệ thống mới. Các đợt triển khai VOJS của Metis JSC gồm cả bước cập nhật Crossref và cấu hình chuyển hướng (liên hệ triển khai).
Tự kiểm tra DOI của tạp chí mất bao lâu?
Vài phút cho mẫu 30 DOI, bằng script chỉ dùng thư viện chuẩn của Python. Script lấy DOI ngẫu nhiên của một prefix từ Crossref rồi mở từng DOI qua doi.org:
python
"""Lấy ngẫu nhiên DOI của một prefix từ Crossref rồi kiểm tra từng DOI có mở được không."""
import json, sys, urllib.request, urllib.parse
prefix, n = sys.argv[1], int(sys.argv[2]) if len(sys.argv) > 2 else 30
UA = {"User-Agent": "doi-audit/1.0"}
api = "https://api.crossref.org/works?" + urllib.parse.urlencode(
{"filter": f"prefix:{prefix},type:journal-article", "sample": n, "select": "DOI,issued"})
items = json.load(urllib.request.urlopen(urllib.request.Request(api, headers=UA), timeout=60))["message"]["items"]
bad = 0
for it in items:
doi = it["DOI"]
year = (it.get("issued", {}).get("date-parts") or [[None]])[0][0]
try:
r = urllib.request.urlopen(urllib.request.Request("https://doi.org/" + doi, headers=UA), timeout=30)
status, final = r.status, r.geturl()
except urllib.error.HTTPError as e:
status, final = e.code, e.url
except Exception as e:
status, final = type(e).__name__, "-"
ok = status == 200
bad += not ok
print(f"{'OK ' if ok else 'LOI'} {status} {year} {doi} -> {final}")
print(f"\n{bad}/{len(items)} DOI không mở được")Chạy python3 doi_audit.py 10.xxxx 30, thay 10.xxxx bằng prefix của tạp chí. Hạn chế: script chỉ phát hiện lỗi cứng. DOI trỏ về trang chủ vẫn trả mã 200 và hiện "OK", nên cần liếc cột URL đích: nhiều dòng cùng kết thúc ở một địa chỉ ngắn là dấu hiệu sai trang. Đặt lịch chạy hàng tháng và chạy ngay sau mọi đợt đổi hạ tầng; DOI nào lỗi hai lần liên tiếp thì mở phiếu xử lý.
Khi tên miền đã chết, còn cứu được gì?
Khoảng hai phần ba URL đích đã chết có bản lưu trên Wayback Machine. Với 117 URL đích chết hẳn trong mẫu (DNS, 404, SSL, từ chối kết nối), chúng tôi hỏi Wayback Availability API của Internet Archive (9/11/2026): 77 URL (65,8%) có bản chụp trạng thái 200, 40 URL (34,2%) không có bản nào.
| Tình huống | Phương án | Điều kiện |
|---|---|---|
| Còn file bài báo gốc | Dựng lại trang bài trên nền tảng mới, cập nhật Crossref | Còn bản sao lưu PDF và metadata |
| Mất máy chủ, còn bản ở kho lưu trữ độc lập | Yêu cầu kho cung cấp nội dung (kho "tối" như CLOCKSS chỉ mở khi tạp chí ngừng hoạt động), rồi cập nhật Crossref | Đã gửi vào LOCKSS, CLOCKSS hoặc PKP PN từ trước |
| Chỉ còn bản Wayback | Lấy nội dung từ bản chụp, đối chiếu rồi đăng lại | Có bản chụp trạng thái 200; chưa chắc đủ PDF |
| Không còn gì | Ghi nhận mất bài, không thể khôi phục | Không có |
Với một phần ba không có bản chụp nào, bài học là chủ động: gửi bản sao vào kho lưu trữ trước khi có sự cố, và sau mỗi kỳ xuất bản, yêu cầu Internet Archive lưu trang bài qua Save Page Now.
Sai lầm thường gặp và checklist áp dụng ngay
Bốn sai lầm lặp lại trong dữ liệu khảo sát:
- Đổi nền tảng xong mới nghĩ tới Crossref. Trong khoảng trống đó, mọi DOI trả 404. Lập bản đồ URL và chuyển hướng trước khi mở cổng.
- Dồn mọi URL cũ về trang chủ. Máy thấy mã 200, người đọc thấy sai trang, nên lỗi lọt qua mọi công cụ chỉ kiểm tra mã trạng thái.
- Để tên miền cũ hết hạn sau vài tháng. 12 hostname trong mẫu trả NXDOMAIN, và tên miền hết hạn có thể bị người khác mua lại.
- Đăng ký DOI bằng địa chỉ IP hoặc
http://. Địa chỉ IP đổi khi đổi nhà cung cấp máy chủ;http://có tỷ lệ hỏng cao hơn gấp hơn hai lần.
Checklist trước và sau khi đổi hệ thống:
- [ ] Đã xuất danh sách DOI và URL từ Crossref, lưu thành tệp có ngày
- [ ] Đã lập bản đồ URL cũ sang URL mới theo từng bài và thử 301 với ít nhất 20 URL ngẫu nhiên
- [ ] Đã nộp Bulk URL Update (dưới 3.000 URL mỗi tệp), gồm cả URL toàn văn cho Similarity Check
- [ ] Đã chạy script kiểm tra DOI sau 24 giờ và sau 7 ngày
- [ ] Đã đặt nhắc gia hạn tên miền cũ tối thiểu một năm, bật tự gia hạn chứng chỉ SSL
- [ ] Đã gửi bản sao vào kho lưu trữ độc lập và khai trong metadata
Xem thêm checklist website tạp chí đạt chuẩn quốc tế khi chuẩn bị hồ sơ DOAJ hoặc Scopus.
Câu hỏi thường gặp
Đổi tên miền tạp chí có phải đổi DOI không?
Không. Chuỗi DOI không thể đổi và không thể xóa sau khi đăng ký, theo Crossref. Bạn chỉ cập nhật URL đích bằng cách nộp lại bản ghi hoặc dùng Bulk URL Update. Điều bắt buộc là làm đủ cho mọi DOI, vì Crossref không tự phát hiện tên miền của bạn đã đổi. Đừng dựa vào chuyển hướng thay cho việc cập nhật: trong khảo sát, 25 DOI của 5 thành viên chỉ mở được nhờ tên miền cũ còn chuyển hướng.
Cập nhật URL DOI trên Crossref có mất phí không?
Không. Crossref chỉ thu phí lần đăng ký đầu tiên của mỗi DOI; cập nhật URL của bản ghi hiện có không bị tính thêm. Ngoại lệ: nếu rà soát phát hiện bài cũ chưa từng đăng ký, các DOI đó phải trả phí như bài mới. Vì cập nhật miễn phí và làm được bất cứ lúc nào, không có lý do chi phí nào để trì hoãn khi đổi hệ thống. Biểu phí nằm ở bài Crossref và DOI là gì?.
Chuyển hướng 301 cần giữ trong bao lâu?
Tối thiểu một năm. Hướng dẫn di chuyển website của Google Search Central nói giữ chuyển hướng "càng lâu càng tốt, thường ít nhất một năm"; riêng công cụ Change of Address ghi mốc 180 ngày. Với tạp chí, nên giữ vô thời hạn cho các URL bài báo từng được trích dẫn dưới dạng liên kết, vì bài của người khác vẫn trỏ về đó. Nếu buộc phải bỏ tên miền cũ, hãy cập nhật Crossref trước.
Làm sao biết DOI của tạp chí tôi còn sống?
Chạy script ở bài này với prefix của bạn, hoặc dùng curl -sI https://doi.org/<DOI> rồi theo Location tới đích. Đừng chỉ nhìn mã 200: hãy so tiêu đề trang với tiêu đề bài để loại trường hợp trỏ về trang chủ, vì 28 DOI trong khảo sát mở được nhưng rơi vào trang chủ hoặc trang sai. Mẫu 30 DOI mỗi tháng đủ để phát hiện sự cố diện rộng; DOI nào lỗi hai lần liên tiếp thì mở phiếu xử lý.
Tạp chí ngừng hoạt động thì DOI xử lý thế nào?
Cần một nơi nhận URL mới. Crossref khuyến khích thành viên có đơn vị lưu trữ dự phòng và khai trong metadata, để khi không còn lưu trữ nội dung thì vẫn cập nhật DOI trỏ tới bản lưu. Nếu tạp chí chuyển cho đơn vị khác (title transfer), đơn vị nhận phải cập nhật URL đích. Không có kho lưu trữ nào thì DOI chết cùng máy chủ.
Tóm tắt
- Khảo sát VOJS 9/11/2026: 145/1.136 DOI mẫu (12,8%) của tạp chí Việt Nam không dẫn tới bài; 48/169 thành viên Crossref có ít nhất một DOI hỏng.
- Bài 2020 và 2023 hỏng nhiều nhất (khoảng 18%), gợi ý lỗi tập trung ở các đợt đổi nền tảng và tên miền.
- URL
http://hỏng gấp hơn hai lầnhttps://; 25 DOI chỉ sống nhờ tên miền cũ chuyển hướng. - Resolution report của Crossref không phát hiện URL đích chết; cần tự kiểm tra hàng tháng.
- Quy trình: bản đồ URL, chuyển hướng 301, Bulk URL Update (tối đa 3.000 URL mỗi tệp), kiểm tra sau 24 giờ, giữ chuyển hướng tối thiểu một năm.
- Khoảng 65,8% URL đích đã chết có bản trên Wayback Machine; phần còn lại cần kho lưu trữ độc lập từ trước.
Về nội dung bài viết
Biên soạn bởi đội ngũ VOJS — Metis JSC. Số liệu khảo sát do VOJS tự thu ngày 9/11/2026: 196 thành viên Crossref có địa chỉ tại Việt Nam (Crossref REST API), 1.136 DOI mẫu của 169 thành viên, kiểm tra hai lượt từ một máy khảo sát; mẫu chọn theo thành viên, chưa gia quyền theo số tạp chí. Nguồn tham chiếu: Klein M. và cộng sự, PLOS ONE 9(12), 2014; Pew Research Center, "When Online Content Disappears", 5/2024; tài liệu Crossref "Updating your metadata", "Planning a platform migration" và "Resolution report"; Google Search Central, "Move a site with URL changes" và trợ giúp Change of Address; Internet Archive Wayback Availability API.
Bài viết liên quan
- Crossref và DOI là gì? Tại sao tạp chí cần đăng ký DOI cho bài báo
- Chuyển dữ liệu từ OJS sang hệ thống quản lý tạp chí mới: quy trình migration an toàn
- LOCKSS, CLOCKSS và PKP PN là gì? Lưu trữ số dài hạn cho tạp chí
- Chất lượng metadata Crossref của tạp chí Việt Nam: benchmark 176 nhà xuất bản
- Số hóa số cũ và gán DOI hồi tố cho tạp chí khoa học
- VOJS — Hệ thống quản lý tạp chí khoa học
- Liên hệ triển khai VOJS
