Reports · AdSense · Features

AD-Report

Báo cáo vị trí AdSense và tổng hợp tính năng phiên 18–19/06.

· Source 784f5d7

AdSense slots 2 placeholder · 0 unit thật
PR merged 5 phiên 18–19/06/2026
Verdict ⚠️ ẩn placeholder trước review
Deploy #745 Actions success

Nguồn: Commit 784f5d7docs(reports): báo cáo vị trí AdSense + tổng hợp tính năng phiên 18–19/06. Bản gốc lưu tại reports/adsense-ad-placement-report.mdreports/features-delivered-2026-06-19.md.

Phần I — Tổng hợp tính năng phiên 18–19/06

  • Repo: Banhang-Chogao/zola
  • Production: https://seomoney.org/
  • Deploy cuối: GitHub Actions #745 — success — commit c4bc703
  • Nhánh: main (tất cả PR đã merge)

1. Bảng tổng quan PR đã merge

#Tính năngPRTrạng thái
1Compliance V10–V12, pagination URLs, Content Creator, README#460✅ Merged + Live
2Series VietinBank V-Plus & V-Advance (5 bài)#454✅ Merged + Live
3Breadcrumb UI (Trang chủ › Chuyên mục › Bài)#457✅ Merged + Live
4Font WOFF2 self-host#461✅ Merged + Live
5Daily Vaccine Autofixer V11 + shortcut vacxin11#458✅ Merged + Live

2. Chi tiết từng tính năng

2.1. Compliance V10–V12 (#460)

  • Nâng cấp bộ compliance checker (V10, V11, V12) cho nội dung và link nội bộ.
  • Sửa URL phân trang feed (/page/N/) đúng chuẩn.
  • Công cụ Content Creator tại /zola/tools/content-creator/.
  • Cập nhật README vận hành.

Verify production: Content Creator load form; compliance link report 0 broken / 622 links.


2.2. Series VietinBank (#454)

5 bài series xuất bản và hiển thị đầu feed:

  1. V-Plus & V-Advance là gì?
  2. V-Plus chi tiết quyền lợi
  3. V-Advance đặc quyền
  4. So sánh V-Plus vs V-Advance
  5. Đăng ký trên iPay

Verify production: Homepage Trang 1/16 — 5 bài VietinBank trên cùng.


2.3. Breadcrumb UI (#457)

  • Nav breadcrumb hiển thị: Trang chủ › {Category} › {Tiêu đề}.
  • JSON-LD BreadcrumbList (SEO).
  • Template: templates/page.html.

Verify production: /zola/posting/vietinbank-v-plus-v-advance-la-gi/ — có class breadcrumb + Trang chủ.


2.4. Font WOFF2 (#461)

  • Self-host font WOFF2 giảm phụ thuộc CDN / cải thiện tải font.
  • Liên quan mục tiêu LCP mobile (AdSense readiness).

2.5. Daily Vaccine Autofixer V11 (#458)

  • Panel vaccine trên trang Insights — phát hiện & sửa issue tự động (V11).
  • Shortcut CLI: vacxin11.
  • Script: scripts/compliance_content_vaccine.py, data: data/vaccine-autofixer-report.json.

Verify production: /zola/insights/ — có nội dung vaccine, V11, vacxin11.


3. Trạng thái production (19/06/2026)

Kiểm traURLKết quả
Homepage + pagination/zola/, /zola/page/2/✅ Trang 1/16, 2/16
Series VietinBank/zola/posting/vietinbank-*✅ 5 bài live
BreadcrumbBài posting bất kỳ✅ Nav + JSON-LD
Content Creator/zola/tools/content-creator/
Vaccine V11/zola/insights/
DeployActions #745✅ success

4. Hạng mục chưa implement (non-blocking)

Hạng mụcGhi chú
AdSense code thậtChỉ có placeholder — xem adsense-ad-placement-report.md
Ẩn placeholder quảng cáo giảKhuyến nghị trước khi nộp AdSense
ads.txtSau khi được duyệt publisher
AdSense placement in-articleChưa có slot — trong roadmap báo cáo placement
1 cảnh báo internal linksReport only, không chặn deploy
Bài AdSense series 7–15Planned trong data/adsense-foundation-series.json

5. Báo cáo liên quan (file .md)

FileNội dung
adsense-ad-placement-report.mdBáo cáo đầy đủ vị trí quảng cáo AdSense (2 slot hiện tại + roadmap)
adsense-site-readiness-audit.mdAudit site-readiness 78/100 — UX, policy, SEO
rule-conflict-report.mdXung đột rule CI/bot

6. Liên kết nhanh

  • Site: https://seomoney.org/
  • Deploy log: https://github.com/Banhang-Chogao/zola/actions/runs/27796087713
  • Series AdSense (đã publish 6/15): https://seomoney.org/posting/google-adsense-la-gi-chinh-sach-chuong-trinh/

Tài liệu tổng hợp phiên triển khai 18–19/06/2026. Cập nhật khi có PR/deploy mới.


Phần II — Báo cáo vị trí AdSense

  • Site production: https://seomoney.org/
  • Ngày báo cáo: 19/06/2026
  • Trạng thái AdSense: Chưa cài mã adsbygoogle — đang ở giai đoạn pre-application (placeholder + chuẩn bị layout)
  • Báo cáo liên quan: adsense-site-readiness-audit.md (audit tổng thể site-readiness 78/100)

1. Tóm tắt điều hành

Chỉ sốGiá trị
Slot quảng cáo đã dựng sẵn (placeholder)2
Slot AdSense thật đã triển khai0
adsbygoogle trong repo0 lần
static/ads.txtChưa có (thêm sau khi được duyệt)
Auto AdsChưa bật
Verdict placement⚠️ Layout sẵn sàng một phần — có 2 vị trí banner placeholder; chưa có in-article, sidebar sticky, multiplex. Placeholder nên ẩn trước khi reviewer AdSense xem site (xem mục 6).

2. Bản đồ vị trí quảng cáo hiện tại (đã implement)

2.1. Slot #1 — Header banner (toàn site)

Thuộc tínhChi tiết
ID / class.header-ad (Slide A trong .header-rotator)
File templatetemplates/base.html (~dòng 481–494)
File stylesass/_banner.scss (.header-ad, .header-rotator)
Xuất hiện trênMọi trang dùng base.html (homepage, bài viết, category, tools, insights, …)
Vị trí UIHeader phải, cạnh logo — trong khối .header-side
Kích thước thiết kếMô tả copy: 728×90 (Leaderboard); CSS thực tế: grid 72px + 1fr + auto, min-height: 88px (desktop), 64px (mobile)
Hành viLuân phiên với block GitHub status mỗi 3 giây (data-rotate="true", data-interval="3000"). Slide Ad là is-active khi load trang
Nội dung hiện tạiPlaceholder: nhãn QUẢNG CÁO, tiêu đề "Đặt banner của bạn tại đây", ảnh placeholder-wide.svg, link về trang chủ
Lazy loadloading="lazy" trên ảnh placeholder
Trạng thái AdSense❌ Chưa gắn unit AdSense — chỉ placeholder tự host

Ghi chú kỹ thuật: Comment trong template hướng dẫn tắt banner: comment block "Slide A", đặt data-rotate="false", trả is-active về Slide B (GitHub).


2.2. Slot #2 — Banner dưới header bài viết

Thuộc tínhChi tiết
ID / class.ad-banner
File templatetemplates/page.html (~dòng 115–127)
File stylesass/_banner.scss (.ad-banner)
Xuất hiện trênTrang dùng template page.html — bài posting/, baochi/, và các page content tương tự
Vị trí UINgay sau <header> bài (meta, SEO badge, nút Sửa) — trước nội dung bài (post-single__content)
Kích thước thiết kếGrid 160px + 1fr + auto; ảnh vuông aspect-ratio: 1/1 (không phải 728×90 thuần)
Hành viCố định, không rotate
Nội dung hiện tạiPlaceholder tương tự slot #1; <h3> trong banner (cần lưu ý heading hierarchy khi thay bằng ad unit)
Lazy loadloading="lazy"
Trạng thái AdSense❌ Chưa gắn unit AdSense

Trang KHÔNG có slot #2: Homepage (section.html), category listing (taxonomy_single.html), insights, editor, dashboard tools — chỉ có slot #1 (header) nếu dùng base.html.


3. Ma trận trang × vị trí quảng cáo

Loại trangURL mẫuSlot #1 HeaderSlot #2 Post bannerGhi chú
Trang chủ/zola/Feed bài viết
Phân trang/zola/page/2/
Bài posting/zola/posting/{slug}/Có breadcrumb + JSON-LD
Bài báo chí/zola/baochi/{slug}/
Category/zola/categories/{cat}/
Insights/zola/insights/Full-bleed, không sidebar
Content Creator/zola/tools/content-creator/
Editor / Admin/zola/editor/✅**Nếu dùng base; nên không hiển thị ad
Premium (paywall)/zola/posting/premium-*⚠️.ad-banner trong template; paywall CSS ẩn khi in — cần tắt ad khi có AdSense thật
404/zola/404Không nên monetize
Policy pages/zola/pages/privacy/✅**Nếu render qua page.html

4. Vị trí quảng cáo chưa implement (đề xuất sau duyệt AdSense)

Các vị trí sau không có trong codebase hiện tại — chỉ là đề xuất bám Ad placement policies:

#Vị trí đề xuấtLoại unit gợi ýTemplate cần sửaƯu tiênPolicy note
ASau đoạn intro / trước TOCIn-articletemplates/page.htmlCaoKhông che heading; cách TOC ≥ 1 đoạn
BGiữa bài (~50% word count)In-articletemplates/page.html hoặc shortcode MDCaoChỉ bài ≥ 800 từ
CCuối bài, trước FAQDisplay / Multiplextemplates/page.htmlTrung bìnhSau nội dung chính, trước author box
DSidebar desktop (nếu bật lại)Display 300×250 / 336×280templates/base.htmlThấpInsights/du-lich đã full-bleed — không có sidebar
EAuto Ads (toàn site)Google tự đặttemplates/base.html <head>Tùy chọnBật thử sau 2–4 tuần; theo dõi UX
FAnchor / VignetteAuto formatsAdSense consoleThấpDễ vi phạm UX nếu quá aggressive
GIn-feed (homepage)In-feed nativetemplates/section.htmlTrung bìnhCần markup data-ad-layout="in-feed"

5. Trang & khu vực cấm đặt quảng cáo AdSense

Khu vựcLý doHành động khi triển khai
/editor/, /admin-author/, /admin/paywall/Công cụ nội bộrobots.txt đã Disallow; không chèn ad snippet
Bài premium = true (paywall)Nội dung trả phí / teaserẨn .ad-banner + không Auto Ads trên URL premium
Trang lỗi 404Không có nội dung substantiveKhông đặt ad
Popup / email / frameVi phạm Program policiesKhông áp dụng
Trang chỉ để show adsPolicy violationSite không có — OK

Paywall: sass/_paywall.scss ẩn .ad-banner khi in (@media print) — chưa ẩn trên màn hình. Khi có AdSense, cần điều kiện {% if not page.extra.premium %} quanh slot #2 (và cân nhắc slot #1).


6. Đánh giá tuân thủ Ad placement policies

Tham chiếu: AdSense Program policies — ad placement, UX guidelines, bài series Bài 3 — Website sẵn sàng cho AdSense.

Kiểm traSlot #1 HeaderSlot #2 Post bannerKết luận
Không che nội dung chính✅ (header riêng)✅ (trên content, không sticky)Pass layout
Không click-bait / misleading⚠️ Placeholder giả dạng quảng cáo⚠️ Tương tựFail pre-review — nên ẩn
Không quá nhiều ad trên viewport đầu⚠️ 1 banner header + 1 banner post = 2 trên fold (mobile)⚠️Cân nhắc chỉ 1 slot above-fold
Label quảng cáo rõ ràng✅ Có nhãn "QUẢNG CÁO"✅ Có nhãnOK cho placeholder; AdSense tự label khi thật
Không đặt trong pop-upPass
Heading hierarchyN/A⚠️ <h3> trong ad-bannerĐổi thành <p>/<span> khi production
Trang premiumHiển thị header adHiển thị post adCần fix trước monetize
Nội dung đủ dài để in-articleN/AN/A17 bài < 800 từ — chưa nên in-article

Rủi ro chính (từ audit site-readiness #3)

2 khu "quảng cáo giả" — Google reviewer có thể coi là placeholder / under construction. Khuyến nghị: ẩn cả 2 slot cho đến khi có publisher ID và unit thật.


7. Hạ tầng kỹ thuật sẵn sàng cho AdSense

Hạng mụcTrạng tháiFile / vị trí
robots.txt Allow Mediapartners-Google, AdsBot-Googlestatic/robots.txt
Privacy Policy mục AdSense + cookiescontent/pages/privacy.md
ads.txt❌ ChưaThêm static/ads.txt sau duyệt
Snippet <script async src="...adsbygoogle.js">❌ ChưaSẽ thêm templates/base.html
JSON-LD / SEOKhông xung đột placement
Theme overrides cho ad blockssass/_theme-overrides.scss (.ad-banner, .header-ad)
Media guard (ảnh ad)sass/_media-guard.scss
Series AdSense Foundation (nội dung)✅ 6/15 publisheddata/adsense-foundation-series.json
Bài #8 planned: UX & vị trí quảng cáo📋 Plannedtrai-nghiem-nguoi-dung-vi-tri-quang-cao-adsense

8. Kế hoạch triển khai AdSense (theo thứ tự)

Giai đoạn 0 — Trước khi nộp đơn (hiện tại)

  1. Ẩn slot #1 và #2 (comment template hoặc flag config.toml show_ad_placeholders = false).
  2. Sửa email liên hệ thật (Contact/About) — không thuộc placement nhưng blocker duyệt.
  3. Tối ưu LCP mobile < 2.5s — ad script sẽ cộng thêm JS.

Giai đoạn 1 — Ngay sau khi được duyệt

  1. Thêm static/ads.txt: google.com, pub-XXXXXXXX, DIRECT, f08c47fec0942fa0
  2. Chèn AdSense script vào templates/base.html (trước </head>).
  3. Thay placeholder slot #2 (post banner) bằng Display unit đầu tiên — ROI cao nhất trên bài dài.
  4. Giữ slot #1 tắt hoặc thay bằng 728×90 thật sau 1–2 tuần theo dõi CLS.

Giai đoạn 2 — Tối ưu (tuần 3–8)

  1. Bật Auto ads thử nghiệm (chỉ in-page, tắt anchor/vignette ban đầu).
  2. Thêm in-article sau đoạn 2 cho bài ≥ 1000 từ.
  3. A/B: 1 vs 2 display units / bài — theo dõi RPM + bounce trong GA4.
  4. Viết & publish Bài 8 series: trai-nghiem-nguoi-dung-vi-tri-quang-cao-adsense.

Giai đoạn 3 — Vận hành dài hạn

  1. Policy center monitoring (Bài 13–15 series).
  2. Không đặt ad trên bài premium / restricted content (Bài 5 Restrictions).
  3. Cập nhật báo cáo này mỗi khi thêm/xóa slot.

9. Checklist nhanh cho developer

[ ] Ẩn placeholder trước khi reviewer xem
[ ] Thêm ads.txt sau khi có pub-ID
[ ] Chèn adsbygoogle.js (async, defer)
[ ] Slot #2 page.html → ins.adsbygoogle + data-ad-slot
[ ] {% if not page.extra.premium %} quanh mọi ad unit
[ ] Loại <h3> trong ad-banner → span/p
[ ] Test CLS sau khi gắn ad (PageSpeed mobile)
[ ] Xác nhận không ad trên /editor/, /admin/
[ ] Cập nhật báo cáo này (version + ngày)

10. Nguồn dữ liệu & file tham chiếu

NguồnĐường dẫn
Template header adtemplates/base.html
Template post adtemplates/page.html
Stylessass/_banner.scss, sass/_theme-overrides.scss
Paywall ad rulessass/_paywall.scss
Audit tổng thểreports/adsense-site-readiness-audit.md
Series manifestdata/adsense-foundation-series.json
PageSpeeddata/pagespeed.json (mobile LCP 6.9s, SEO 100)
Compliance linksdata/compliance-link-report.json (0 broken)
Google officialAd placement policies

Báo cáo được tạo để inventory toàn bộ vị trí quảng cáo hiện có và lộ trình AdSense. Cập nhật lần cuối: 19/06/2026.