Cách Sửa Lỗi Blogger Không Lưu Được Theme Và Cập Nhật HTML

Cách sửa lỗi Blogger không lưu được theme và cập nhật HTML

Bạn vừa chỉnh sửa HTML trong Blogger, bấm Lưu nhưng hệ thống lại báo “Cập nhật không thành công”, “Không thể lưu chủ đề” hoặc thậm chí không thể khôi phục file XML?

Đây là một trong những lỗi thường gặp nhất khi chỉnh theme Blogger, đặc biệt khi chúng ta thêm code HTML, CSS, JavaScript hoặc sao chép các đoạn code từ website khác.

Điều khó chịu là Blogger đôi khi chỉ báo lỗi chung mà không chỉ rõ đoạn code nào đang có vấn đề.

Trong bài viết này, MODSHARER sẽ hướng dẫn bạn cách kiểm tra và sửa lỗi Blogger không lưu được theme theo từng bước, từ những lỗi đơn giản nhất đến các lỗi XML, widget và JavaScript khó phát hiện hơn.

Trước khi thực hiện bất kỳ thay đổi nào, bạn nên đọc: Cách sao lưu và khôi phục theme Blogger an toàn .

{tocify} $title={Mục lục}

Dấu hiệu Blogger đang gặp lỗi theme

Lỗi theme có thể xuất hiện dưới nhiều hình thức khác nhau.

Một số trường hợp phổ biến:

  • Bấm Lưu nhưng Blogger báo cập nhật không thành công.
  • Không thể lưu sau khi thêm một đoạn HTML.
  • Không thể khôi phục file XML đã chỉnh sửa.
  • Theme lưu được nhưng website trắng trang.
  • Theme lưu được nhưng mất một phần giao diện.
  • Menu hoặc sidebar biến mất.
  • Bài viết không còn hiển thị.
  • Blogger báo lỗi tại một dòng XML cụ thể.
  • Widget bị lỗi hoặc bị trùng ID.
Quan trọng:
Nếu theme đang hoạt động bình thường trước khi bạn chỉnh code, hãy ưu tiên kiểm tra đoạn code vừa thêm hoặc vừa sửa thay vì thay đổi toàn bộ theme.

Tại sao Blogger khó tính hơn HTML thông thường?

Theme Blogger không phải một file HTML thông thường.

Nó sử dụng cấu trúc XML kết hợp với các thẻ riêng của Blogger như:

<b:section>
<b:widget>
<b:if>
<b:loop>
<b:includable>
<data:post.title/>

XML yêu cầu cấu trúc chặt chẽ hơn HTML thông thường. Chỉ một ký tự sai cũng có thể khiến Blogger từ chối toàn bộ theme.

Bước 1: Sao lưu theme trước khi sửa

Nếu Blogger vẫn cho phép tải theme hiện tại xuống, hãy backup ngay trước khi tiếp tục kiểm tra.

Vào:

Blogger → Chủ đề → Sao lưu → Tải xuống

Đặt tên file rõ ràng, ví dụ:

modsharer-before-fix-theme.xml

Ngay cả một theme đang lỗi một phần cũng nên được lưu lại trước khi tiếp tục chỉnh sửa.

Bước 2: Hoàn tác đoạn code vừa thêm

Đây là cách kiểm tra nhanh nhất.

Nếu lỗi xuất hiện ngay sau khi bạn thêm:

  • JavaScript.
  • Mã quảng cáo.
  • CSS.
  • Widget.
  • Menu.
  • Code HTML.

hãy xóa hoặc hoàn tác đúng đoạn vừa thêm rồi thử lưu lại.

Nếu Blogger lưu được sau khi xóa đoạn đó, gần như chắc chắn lỗi nằm trong phần code mới.

Quy tắc sửa lỗi:
Thay đổi ít nhất có thể → Lưu → Kiểm tra → Tiếp tục.

Bước 3: Kiểm tra dấu & trong XML

Một trong những lỗi XML phổ biến nhất là sử dụng ký tự & trực tiếp trong thuộc tính hoặc nội dung XML ở vị trí không phù hợp.

Ví dụ dễ gây lỗi:

href="https://example.com/?a=1&b=2"

Trong mã XML thực tế, ký tự ampersand trong giá trị cần được biểu diễn đúng dạng entity.

Dạng XML an toàn:

href='https://example.com/?a=1&amp;b=2'

Khi sao chép script quảng cáo, tracking hoặc URL có nhiều tham số vào theme Blogger, đây là một vị trí rất đáng kiểm tra.

Bước 4: Kiểm tra thẻ chưa được đóng

XML yêu cầu các thẻ phải có cấu trúc mở và đóng hợp lệ.

Ví dụ sai:

<div class='box'>
  <span>Nội dung</span>

Ở ví dụ trên, thẻ <div> chưa được đóng.

Đúng:

<div class='box'>
  <span>Nội dung</span>
</div>

Bước 5: Kiểm tra các thẻ tự đóng

Một số thành phần trong XML Blogger thường được viết dạng tự đóng.

Ví dụ:

<meta content='...' name='description'/>
<link href='...' rel='stylesheet'/>
<b:include name='theme-head'/>

Nếu sửa nhầm dấu / hoặc cấu trúc của những thẻ này, theme có thể không còn hợp lệ.

Bước 6: Kiểm tra dấu ngoặc kép và dấu nháy

Một lỗi nhỏ nhưng rất khó nhìn thấy là thiếu dấu nháy trong thuộc tính.

Ví dụ sai:

<div class='content>

Đúng:

<div class='content'>

Một dấu nháy thiếu có thể khiến Blogger hiểu sai toàn bộ phần code phía sau.

Bước 7: Kiểm tra cấu trúc b:if

Blogger sử dụng <b:if> để hiển thị nội dung theo điều kiện.

Ví dụ:

<b:if cond='data:view.isHomepage'>
  Nội dung trang chủ
</b:if>

Nếu xóa nhầm:

</b:if>

hoặc thêm một thẻ đóng dư, cấu trúc XML có thể bị phá vỡ.

Bước 8: Kiểm tra b:section

b:section là khu vực chứa các widget Blogger.

Ví dụ:

<b:section id='sidebar' name='Sidebar' showaddelement='yes'>
  ... widget ...
</b:section>

Nếu bạn di chuyển hoặc xóa code trong khu vực này, cần đặc biệt chú ý thẻ mở và đóng.

Bước 9: Kiểm tra Widget ID

Mỗi widget Blogger cần một ID phù hợp và không nên bị trùng trong cùng theme.

Ví dụ:

<b:widget id='HTML1' type='HTML' ...>

Nếu trong theme đã có:

id='HTML1'

và bạn sao chép thêm một widget khác cũng dùng chính ID đó, Blogger có thể xử lý không đúng hoặc từ chối cấu trúc.

Ví dụ có thể đổi thành:

id='HTML20'

Bước 10: Kiểm tra JavaScript

JavaScript là một trong những nguyên nhân phổ biến khiến người mới gặp lỗi khi chèn code vào theme Blogger.

Ví dụ JavaScript có chứa:

<
>
&

có thể xung đột với cách XML phân tích nội dung.

Theme Blogger thường đặt JavaScript phức tạp trong CDATA:

<script type='text/javascript'>
//<![CDATA[

// JavaScript ở đây

//]]>
</script>

Không nên tự động bọc mọi script bằng CDATA nếu bạn chưa hiểu cấu trúc theme hiện tại. Hãy quan sát cách theme gốc đang tổ chức JavaScript rồi làm theo cùng kiểu.

Bước 11: Kiểm tra vị trí của CSS

CSS thường không làm Blogger từ chối XML chỉ vì một thuộc tính CSS viết sai, nhưng việc chèn CSS vào sai khu vực hoặc làm hỏng phần CDATA có thể gây lỗi.

Trong nhiều theme Blogger, CSS chính nằm trong:

<b:skin><![CDATA[

/* CSS */

]]></b:skin>

Không nên vô tình xóa:

]]>

hoặc thẻ:

</b:skin>

Bước 12: Kiểm tra code quảng cáo

Code Google AdSense hoặc các mạng quảng cáo thường chứa JavaScript, URL và nhiều thuộc tính.

Nếu chèn sai vị trí hoặc chỉnh sai cú pháp, theme có thể gặp lỗi.

Ngoài ra, không nên chèn cùng một thư viện quảng cáo nhiều lần nếu không cần thiết.

Trước khi thêm quảng cáo:

  • Tạo backup.
  • Kiểm tra theme đã có script AdSense hay chưa.
  • Chỉ thêm đúng đoạn cần thiết.
  • Lưu và kiểm tra sau từng thay đổi.

Bước 13: Kiểm tra script bên ngoài

Một theme tải JavaScript từ một website khác có thể sử dụng dạng:

<script src='https://example.com/script.js'></script>

Bạn nên kiểm tra:

  • Script đến từ đâu?
  • Có thực sự cần thiết không?
  • Nguồn có đáng tin cậy không?
  • Nếu xóa script thì theme có còn hoạt động không?

Không nên giữ những script không rõ mục đích chỉ vì chúng có sẵn trong theme tải từ Internet.

Cách tìm lỗi bằng số dòng Blogger báo

Trong một số trường hợp, Blogger sẽ hiển thị thông báo có số dòng và cột.

Ví dụ:

Error parsing XML, line 1520, column 37

Nếu có thông tin này, hãy:

  1. Ghi lại số dòng.
  2. Mở theme bằng trình chỉnh sửa code.
  3. Đi tới khu vực gần dòng đó.
  4. Kiểm tra vài dòng phía trên và phía dưới.

Lỗi thực tế không phải lúc nào cũng nằm đúng tại dòng Blogger báo. Đôi khi nguyên nhân nằm ở một thẻ chưa đóng từ phía trên.

Dùng Visual Studio Code để kiểm tra theme

Với theme dài hàng nghìn dòng, việc kiểm tra trực tiếp trong Blogger có thể khá khó.

Bạn có thể mở file XML bằng Visual Studio Code để:

  • Tìm kiếm nhanh.
  • Xem số dòng.
  • Thu gọn từng khối code.
  • Tô màu cú pháp.
  • So sánh hai phiên bản theme.

Đặc biệt, chức năng so sánh file rất hữu ích khi bạn có:

theme-hoat-dong.xml
theme-bi-loi.xml

Bạn có thể tìm chính xác những đoạn đã thay đổi giữa hai phiên bản.

Phương pháp chia đôi để tìm lỗi

Nếu vừa chèn một đoạn code rất dài và không biết lỗi ở đâu, bạn có thể sử dụng phương pháp loại trừ.

Ví dụ đoạn code mới có 200 dòng:

  1. Xóa nửa sau và thử lưu.
  2. Nếu vẫn lỗi, vấn đề nằm ở nửa đầu.
  3. Nếu hết lỗi, vấn đề nằm ở nửa sau.
  4. Tiếp tục chia nhỏ khu vực nghi ngờ.

Cách này giúp thu hẹp vị trí lỗi nhanh hơn nhiều so với đọc từng dòng.

Nếu Blogger không thể khôi phục theme thì làm gì?

Nếu upload một file XML và Blogger báo không thể khôi phục, hãy kiểm tra:

  • File có đúng phần mở rộng .xml không?
  • File có bị mở và lưu lại bằng phần mềm làm thay đổi nội dung không?
  • XML declaration có còn nguyên không?
  • Các thẻ b:section và b:widget có còn hợp lệ không?
  • File có bị thiếu phần cuối không?
  • Có ký tự đặc biệt chưa được encode không?
  • Có code JavaScript làm hỏng cấu trúc XML không?

Nếu có bản backup trước khi chỉnh, cách nhanh nhất vẫn là quay lại bản đó.

Không nên làm gì khi theme báo lỗi?

Khi Blogger báo không lưu được theme, tránh thực hiện hàng loạt thay đổi ngẫu nhiên.

Không nên:

  • Xóa nhiều khu vực của theme cùng lúc.
  • Xóa Blog1 khi chưa biết nguyên nhân.
  • Xóa b:section chỉ để thử.
  • Thay toàn bộ JavaScript cùng lúc.
  • Dán liên tục nhiều bản code khác nhau.
  • Khôi phục theme không rõ nguồn gốc.
  • Tiếp tục sửa khi chưa có backup.

Quy trình 10 bước sửa lỗi theme Blogger

1. Sao lưu theme hiện tại.
2. Xác định thay đổi cuối cùng trước khi lỗi xuất hiện.
3. Hoàn tác đoạn vừa sửa.
4. Kiểm tra dấu & và ký tự đặc biệt.
5. Kiểm tra tag mở và đóng.
6. Kiểm tra b:if, b:section và b:widget.
7. Kiểm tra widget ID trùng nhau.
8. Kiểm tra JavaScript và CDATA.
9. Lưu lại sau từng thay đổi nhỏ.
10. Khi sửa thành công, tạo một bản backup mới.

Checklist chẩn đoán nhanh

□ Tôi đã có file backup trước khi sửa

□ Đã kiểm tra đoạn code vừa thêm

□ Không có ký tự XML bất thường

□ Các tag đều được đóng đúng

□ Không thiếu dấu nháy trong thuộc tính

□ b:if được mở và đóng đúng

□ b:section không bị phá cấu trúc

□ Không có widget ID trùng

□ JavaScript nằm đúng vị trí

□ CDATA không bị xóa hoặc đóng sai

□ Script quảng cáo không bị chèn lặp không cần thiết

□ Script bên ngoài đã được kiểm tra nguồn

□ Sau mỗi lần sửa tôi đều thử lưu lại

Kết luận

Khi Blogger không lưu được theme, nguyên nhân thường không nằm ở toàn bộ giao diện mà chỉ ở một đoạn XML, JavaScript hoặc widget vừa được thay đổi.

Cách hiệu quả nhất không phải là sửa ngẫu nhiên, mà là: backup → xác định thay đổi gần nhất → kiểm tra từng phần → lưu thử sau mỗi lần sửa.

Sau khi theme đã có thể lưu bình thường, vấn đề tiếp theo mà nhiều người sử dụng theme tùy chỉnh gặp phải là: bài đăng đã xuất bản nhưng lại không hiển thị trên trang chủ.

← Bài trước:
Cách sao lưu và khôi phục theme Blogger an toàn

Bài tiếp theo →
Cách sửa lỗi bài đăng Blogger không hiển thị trên trang chủ

Đăng nhận xét

Cảm ơn bạn đã ghé thăm blog của mình, hi vọng nội dung bài viết làm bạn hài lòng!

Mới hơn Cũ hơn