{"id":18295,"date":"2021-03-01T18:10:21","date_gmt":"2021-03-01T18:10:21","guid":{"rendered":"https:\/\/homihost.com\/?p=273"},"modified":"2022-02-11T17:40:56","modified_gmt":"2022-02-11T10:40:56","slug":"wp-static-bunnycdn-p2","status":"publish","type":"post","link":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","title":{"rendered":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"},"content":{"rendered":"\n
Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y<\/a>.<\/p>\n\n\n\n6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN<\/h2>\n\n\n\nBunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh.<\/p>\n\n\n\nB\u01b0\u1edbc 1. Th\u00eam zone Storage<\/h3>\n\n\n\nNh\u00ecn b\u00ean tay tr\u00e1i b\u1ea1n, r\u1ed3i nh\u1ea5n v\u00e0o Storage, ti\u1ebfp \u0111\u00f3 nh\u1eadp t\u00ean v\u00e0 nh\u1ea5n Add storage zone.<\/p>\n\n\n\nB\u01b0\u1edbc 2. K\u1ebft n\u1ed1i storage zone v\u1edbi pull zone<\/h3>\n\n\n\nT\u1ea1i b\u01b0\u1edbc n\u00e0y b\u1ea1n s\u1ebd t\u00edch h\u1ee3p ch\u1eb7t ch\u1ebd storage c\u1ee7a b\u1ea1n v\u1edbi pull zone \u0111\u1ec3 ph\u1ee5c v\u1ee5 t\u1ea5t c\u1ea3 c\u00e1c y\u00eau c\u1ea7u t\u1eeb CDN.<\/p>\n\n\n\nC\u00e1ch l\u00e0m: b\u1ea1n v\u1eabn \u1edf khu v\u1ef1c storage v\u00e0 nh\u1ea5n v\u00e0o t\u00f9y ch\u1ecdn Connected Pull Zones.<\/p>\n\n\n\nTi\u1ebfp \u0111\u00f3 b\u1ea1n thi\u1ebft l\u1eadp t\u00ean cho pull zone. V\u1edbi ng\u01b0\u1eddi d\u00f9ng Vi\u1ec7t Nam n\u00f3i chung n\u00ean t\u1eaft t\u00f9y ch\u1ecdn v\u1ecb tr\u00ed South America & South Africa \u0111\u1ec3 gi\u1ea3m c\u00e1c chi ph\u00ed kh\u00f4ng c\u1ea7n thi\u1ebft tr\u1eeb khi b\u1ea1n c\u00f3 kh\u00e1ch truy c\u1eadp t\u1eeb khu v\u1ef1c \u0111\u1ecba l\u00fd n\u00e0y.<\/p>\n\n\n\nB\u01b0\u1edbc 3. C\u00e0i \u0111\u1eb7t chung (general settings)<\/h3>\n\n\n\nTh\u00eam \u00edt nh\u1ea5t hai hostname t\u00f9y ch\u1ec9nh d\u1ea1ng kh\u00f4ng-www v\u00e0 c\u00f3-www, ch\u1eb3ng h\u1ea1n nh\u01b0 ten-mien-cua-ban.com, www.ten-mien-cua-ban.com;<\/li>T\u00f4i s\u1eed d\u1ee5ng Cloudflare cho DNS v\u00ec n\u00f3 h\u1ed7 tr\u1ee3 CNAME flattening;<\/li>B\u1ea1n \u0111\u0103ng nh\u1eadp Cloudflare v\u00e0 tr\u1ecf DNS nh\u01b0 b\u00ean d\u01b0\u1edbi. Sau \u0111\u00f3 b\u1ea1n c\u00f3 th\u1ec3 c\u00e0i \u0111\u1eb7t ch\u1ee9ng ch\u1ec9 SSL ch\u1ec9 v\u1edbi m\u1ed9t click.<\/li><\/ul>\n\n\n\nCNAME ---- @ ------- ten-cdn-cua-ban.b-cdn.net -- DNS only Mode\nCNAME --- www ------ @ --- DNS only Mode\nA ------- dev ------ LEMP Server IP ------- DNS and Proxy mode<\/code><\/pre>\n\n\n\nL\u01b0u \u00fd l\u00e0 b\u1ea1n \u0111\u1eebng s\u1eed d\u1ee5ng t\u00ednh n\u0103ng cache everything<\/strong> ho\u1eb7c rule Ignore Query String<\/strong> c\u1ee7a Cloudflare cho subdomain d\u1ea1ng dev. \u0110\u1ec3 an to\u00e0n, h\u00e3y th\u00eam quy t\u1eafc b\u1ecf qua b\u1ed9 nh\u1edb cache \u1edf \u0111\u1ea7u t\u1ea5t c\u1ea3 c\u00e1c quy t\u1eafc trang. URL ph\u00f9 h\u1ee3p ph\u1ea3i c\u00f3 d\u1ea1ng nh\u01b0 th\u1ebf n\u00e0y *ten-mien-cua-ban.com\/*<\/p>\n\n\n\nOK, ch\u00fang ta s\u1ebd chuy\u1ec3n sang b\u01b0\u1edbc k\u1ebf ti\u1ebfp.<\/p>\n\n\n\nB\u01b0\u1edbc 4. T\u1ed1i \u01b0u h\u00f3a pull zone cho caching<\/h3>\n\n\n\nCache expiration time<\/strong>: t\u00f4n tr\u1ecdng cache-control c\u1ee7a g\u1ed1c;<\/li>Browser cache expiration time<\/strong>: ghi \u0111\u00e8: kh\u00f4ng cache;<\/li>Query String Short<\/strong>: b\u1eadt;<\/li>Disable cookies (v\u00f4 hi\u1ec7u h\u00f3a cookies):<\/strong> gi\u1eef b\u1eadt cho cookieless cho t\u00ean mi\u1ec1n;<\/li>T\u1ed1i \u01b0u h\u00f3a cho t\u00e0i nguy\u00ean media<\/strong>: b\u1eadt (n\u00f3 c\u00f3 ph\u00ed cao, n\u00ean n\u1ebfu b\u1ea1n mu\u1ed1n ti\u1ebft ki\u1ec7m th\u00ec kh\u00f4ng n\u00ean b\u1eadt);<\/li>Vary cache<\/strong>: t\u1eaft ho\u00e0n to\u00e0n (quan tr\u1ecdng v\u1edbi k\u1ebft qu\u1ea3 t\u00ecm ki\u1ebfm, fbclid, utm v\u00e0 c\u00e1c query string t\u01b0\u01a1ng t\u1ef1 li\u00ean quan \u0111\u1ebfn trang);<\/li><\/ul>\n\n\n\nB\u01b0\u1edbc 5. B\u1ea3o m\u1eadt pull zone<\/h3>\n\n\n\nB\u1ea1n \u0111\u1eebng block root path access;<\/li>BunnyCDN c\u00f3 c\u00e1ch hay \u0111\u1ec3 hi\u1ec3n th\u1ecb chi ti\u1ebft logs. Keep Logging Enabled<\/strong> ngh\u0129a l\u00e0 b\u1ea1n b\u1eadt c\u00e1i n\u00e0y. N\u00f3 s\u1ebd c\u00f3 \u00edch trong vi\u1ec7c g\u1ee1 l\u1ed7i k\u1ef9 thu\u1eadt.<\/li><\/ul>\n\n\n\n\n\n\n\nC\u1ea5u h\u00ecnh c\u00e1c rule edge<\/h2>\n\n\n\nBunnyCDN cung c\u1ea5p c\u00e1c rule edge \u0111\u1ec3 t\u00f9y bi\u1ebfn h\u00e0nh vi c\u1ee7a pull zone CDN. T\u1ea1i th\u1eddi \u0111i\u1ec3m n\u00e0y, kh\u00f4ng c\u00f3 t\u00ednh n\u0103ng \u01b0u ti\u00ean \u0111\u1ec3 th\u1ef1c hi\u1ec7n quy t\u1eafc (rule) theo th\u1ee9 t\u1ef1. Trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, \u0111i\u1ec1u ki\u1ec7n Match None s\u1ebd h\u1eefu d\u1ee5ng.<\/p>\n\n\n\nCase 1. \u00c9p hostname t\u00f9y ch\u1ec9nh v\u00e0 \u0111\u01b0\u1eddng d\u1eabn kh\u00f4ng-www<\/h3>\n\n\n\nTrang web c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp th\u00f4ng qua \u0111\u1ecba ch\u1ec9 BunnyCDN Pull Zone (ten-mien-cau-ban.b-cdn.net) c\u0169ng nh\u01b0 hostname t\u00f9y ch\u1ec9nh c\u1ee7a b\u1ea1n. V\u00ec ch\u00fang ta quan t\u00e2m \u0111\u1ebfn th\u01b0\u01a1ng hi\u1ec7u ri\u00eang, ph\u1ee5c v\u1ee5 t\u1ea5t c\u1ea3 c\u00e1c y\u00eau c\u1ea7u t\u1eeb m\u1ed9t \u0111\u1ecba ch\u1ec9 hostname duy nh\u1ea5t l\u00e0 \u0111i\u1ec1u c\u1ea7n thi\u1ebft:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL;<\/li>Description<\/strong>: \u0110\u1ed5i t\u00ean mi\u1ec1n t\u00f9y ch\u1ec9nh v\u00e0 kh\u00f4ng-www;<\/li>Redirect URL<\/strong>: https:\/\/ten-mien-cua-ban.com{{path}} – t\u1ee9c l\u00e0 c\u00e1c t\u00ean mi\u1ec1n d\u1ea1ng b-cdn.net v\u00e0 c\u00f3-www s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng v\u1ec1 d\u1ea1ng kh\u00f4ng-www;<\/li>Condition matching<\/strong>: Match any ngh\u0129a l\u00e0 kh\u1edbp trong m\u1ecdi t\u00ecnh hu\u1ed1ng;<\/li>Condition<\/strong>: If Request URL (match any) *:\/\/ten-mien-cua-ban.b-cdn.net\/*<\/code><\/li>Condition<\/strong>: If Request URL (match any) *:\/\/www.ten-mien-cua-ban.com\/*<\/code><\/li><\/ul>\n\n\n\nCase 2. Qu\u1ea3n l\u00fd c\u00e1c chuy\u1ec3n h\u01b0\u1edbng ho\u1eb7c ti\u1ebfp th\u1ecb li\u00ean k\u1ebft<\/h3>\n\n\n\nV\u00ed d\u1ee5 n\u1ebfu b\u1ea1n truy c\u1eadp v\u00e0o \u0111\u01b0\u1eddng d\u1eabn https:\/\/affiliate.gulshankumar.net\/bunnycdn\/<\/code> n\u00f3 s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn link ti\u1ebfp th\u1ecb li\u00ean k\u1ebft BunnyCDN c\u1ee7a t\u00e1c gi\u1ea3 g\u1ed1c ti\u1ebfng Anh c\u1ee7a b\u00e0i n\u00e0y.<\/p>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u m\u00e0 b\u1ea1n c\u1ea7n bi\u1ebft:<\/p>\n\n\n\nS\u1eed d\u1ee5ng Edge rule b\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp chuy\u1ec3n h\u01b0\u1edbng v\u1edbi ph\u1ea3n h\u1ed3i 301;<\/li>BunnyCDN ph\u1ee5c v\u1ee5 ph\u1ea3n h\u1ed3i HIT cho chuy\u1ec3n h\u01b0\u1edbng v\u1edbi no-cache cho tr\u00ecnh duy\u1ec7t. \u0110i\u1ec1u n\u00e0y gi\u00fap lo\u1ea1i b\u1ecf nguy c\u01a1 g\u1eedi cho ng\u01b0\u1eddi d\u00f9ng li\u00ean k\u1ebft c\u0169;<\/li>Tr\u01b0\u1edbc \u0111\u00f3, t\u00f4i \u0111\u00e3 c\u00f3 ph\u1ea3n h\u1ed3i ti\u00eau \u0111\u1ec1 x-robots: noindex, nofollow<\/code> v\u1edbi ph\u1ea3n h\u1ed3i 3XX. Hi\u1ec7n t\u1ea1i, kh\u00f4ng th\u1ec3 g\u00e1n nhi\u1ec1u h\u00e0nh \u0111\u1ed9ng nh\u01b0ng b\u1ea1n c\u00f3 th\u1ec3 gh\u00e9p nhi\u1ec1u th\u1ee9 v\u1edbi nhau. Gi\u1ea3i ph\u00e1p l\u00e0 t\u00f4i gi\u1eef th\u1ebb rel = \"nofollow\"<\/code> trong HTML b\u1ea5t c\u1ee9 khi n\u00e0o c\u00f3 th\u1ec3.<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL<\/li>Description<\/strong>: Affiliate: BunnyCDN<\/li>Redirect URL<\/strong>: https:\/\/bunnycdn.com\/?ref=uhs82glvx4<\/code><\/li>Condition matching<\/strong>: Match any<\/li>Condition<\/strong>: If Request URL (match any) *\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh.<\/p>\n\n\n\n
Nh\u00ecn b\u00ean tay tr\u00e1i b\u1ea1n, r\u1ed3i nh\u1ea5n v\u00e0o Storage, ti\u1ebfp \u0111\u00f3 nh\u1eadp t\u00ean v\u00e0 nh\u1ea5n Add storage zone.<\/p>\n\n\n\n
T\u1ea1i b\u01b0\u1edbc n\u00e0y b\u1ea1n s\u1ebd t\u00edch h\u1ee3p ch\u1eb7t ch\u1ebd storage c\u1ee7a b\u1ea1n v\u1edbi pull zone \u0111\u1ec3 ph\u1ee5c v\u1ee5 t\u1ea5t c\u1ea3 c\u00e1c y\u00eau c\u1ea7u t\u1eeb CDN.<\/p>\n\n\n\n
C\u00e1ch l\u00e0m: b\u1ea1n v\u1eabn \u1edf khu v\u1ef1c storage v\u00e0 nh\u1ea5n v\u00e0o t\u00f9y ch\u1ecdn Connected Pull Zones.<\/p>\n\n\n\n
Ti\u1ebfp \u0111\u00f3 b\u1ea1n thi\u1ebft l\u1eadp t\u00ean cho pull zone. V\u1edbi ng\u01b0\u1eddi d\u00f9ng Vi\u1ec7t Nam n\u00f3i chung n\u00ean t\u1eaft t\u00f9y ch\u1ecdn v\u1ecb tr\u00ed South America & South Africa \u0111\u1ec3 gi\u1ea3m c\u00e1c chi ph\u00ed kh\u00f4ng c\u1ea7n thi\u1ebft tr\u1eeb khi b\u1ea1n c\u00f3 kh\u00e1ch truy c\u1eadp t\u1eeb khu v\u1ef1c \u0111\u1ecba l\u00fd n\u00e0y.<\/p>\n\n\n\n
CNAME ---- @ ------- ten-cdn-cua-ban.b-cdn.net -- DNS only Mode\nCNAME --- www ------ @ --- DNS only Mode\nA ------- dev ------ LEMP Server IP ------- DNS and Proxy mode<\/code><\/pre>\n\n\n\nL\u01b0u \u00fd l\u00e0 b\u1ea1n \u0111\u1eebng s\u1eed d\u1ee5ng t\u00ednh n\u0103ng cache everything<\/strong> ho\u1eb7c rule Ignore Query String<\/strong> c\u1ee7a Cloudflare cho subdomain d\u1ea1ng dev. \u0110\u1ec3 an to\u00e0n, h\u00e3y th\u00eam quy t\u1eafc b\u1ecf qua b\u1ed9 nh\u1edb cache \u1edf \u0111\u1ea7u t\u1ea5t c\u1ea3 c\u00e1c quy t\u1eafc trang. URL ph\u00f9 h\u1ee3p ph\u1ea3i c\u00f3 d\u1ea1ng nh\u01b0 th\u1ebf n\u00e0y *ten-mien-cua-ban.com\/*<\/p>\n\n\n\nOK, ch\u00fang ta s\u1ebd chuy\u1ec3n sang b\u01b0\u1edbc k\u1ebf ti\u1ebfp.<\/p>\n\n\n\nB\u01b0\u1edbc 4. T\u1ed1i \u01b0u h\u00f3a pull zone cho caching<\/h3>\n\n\n\nCache expiration time<\/strong>: t\u00f4n tr\u1ecdng cache-control c\u1ee7a g\u1ed1c;<\/li>Browser cache expiration time<\/strong>: ghi \u0111\u00e8: kh\u00f4ng cache;<\/li>Query String Short<\/strong>: b\u1eadt;<\/li>Disable cookies (v\u00f4 hi\u1ec7u h\u00f3a cookies):<\/strong> gi\u1eef b\u1eadt cho cookieless cho t\u00ean mi\u1ec1n;<\/li>T\u1ed1i \u01b0u h\u00f3a cho t\u00e0i nguy\u00ean media<\/strong>: b\u1eadt (n\u00f3 c\u00f3 ph\u00ed cao, n\u00ean n\u1ebfu b\u1ea1n mu\u1ed1n ti\u1ebft ki\u1ec7m th\u00ec kh\u00f4ng n\u00ean b\u1eadt);<\/li>Vary cache<\/strong>: t\u1eaft ho\u00e0n to\u00e0n (quan tr\u1ecdng v\u1edbi k\u1ebft qu\u1ea3 t\u00ecm ki\u1ebfm, fbclid, utm v\u00e0 c\u00e1c query string t\u01b0\u01a1ng t\u1ef1 li\u00ean quan \u0111\u1ebfn trang);<\/li><\/ul>\n\n\n\nB\u01b0\u1edbc 5. B\u1ea3o m\u1eadt pull zone<\/h3>\n\n\n\nB\u1ea1n \u0111\u1eebng block root path access;<\/li>BunnyCDN c\u00f3 c\u00e1ch hay \u0111\u1ec3 hi\u1ec3n th\u1ecb chi ti\u1ebft logs. Keep Logging Enabled<\/strong> ngh\u0129a l\u00e0 b\u1ea1n b\u1eadt c\u00e1i n\u00e0y. N\u00f3 s\u1ebd c\u00f3 \u00edch trong vi\u1ec7c g\u1ee1 l\u1ed7i k\u1ef9 thu\u1eadt.<\/li><\/ul>\n\n\n\n\n\n\n\nC\u1ea5u h\u00ecnh c\u00e1c rule edge<\/h2>\n\n\n\nBunnyCDN cung c\u1ea5p c\u00e1c rule edge \u0111\u1ec3 t\u00f9y bi\u1ebfn h\u00e0nh vi c\u1ee7a pull zone CDN. T\u1ea1i th\u1eddi \u0111i\u1ec3m n\u00e0y, kh\u00f4ng c\u00f3 t\u00ednh n\u0103ng \u01b0u ti\u00ean \u0111\u1ec3 th\u1ef1c hi\u1ec7n quy t\u1eafc (rule) theo th\u1ee9 t\u1ef1. Trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, \u0111i\u1ec1u ki\u1ec7n Match None s\u1ebd h\u1eefu d\u1ee5ng.<\/p>\n\n\n\nCase 1. \u00c9p hostname t\u00f9y ch\u1ec9nh v\u00e0 \u0111\u01b0\u1eddng d\u1eabn kh\u00f4ng-www<\/h3>\n\n\n\nTrang web c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp th\u00f4ng qua \u0111\u1ecba ch\u1ec9 BunnyCDN Pull Zone (ten-mien-cau-ban.b-cdn.net) c\u0169ng nh\u01b0 hostname t\u00f9y ch\u1ec9nh c\u1ee7a b\u1ea1n. V\u00ec ch\u00fang ta quan t\u00e2m \u0111\u1ebfn th\u01b0\u01a1ng hi\u1ec7u ri\u00eang, ph\u1ee5c v\u1ee5 t\u1ea5t c\u1ea3 c\u00e1c y\u00eau c\u1ea7u t\u1eeb m\u1ed9t \u0111\u1ecba ch\u1ec9 hostname duy nh\u1ea5t l\u00e0 \u0111i\u1ec1u c\u1ea7n thi\u1ebft:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL;<\/li>Description<\/strong>: \u0110\u1ed5i t\u00ean mi\u1ec1n t\u00f9y ch\u1ec9nh v\u00e0 kh\u00f4ng-www;<\/li>Redirect URL<\/strong>: https:\/\/ten-mien-cua-ban.com{{path}} – t\u1ee9c l\u00e0 c\u00e1c t\u00ean mi\u1ec1n d\u1ea1ng b-cdn.net v\u00e0 c\u00f3-www s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng v\u1ec1 d\u1ea1ng kh\u00f4ng-www;<\/li>Condition matching<\/strong>: Match any ngh\u0129a l\u00e0 kh\u1edbp trong m\u1ecdi t\u00ecnh hu\u1ed1ng;<\/li>Condition<\/strong>: If Request URL (match any) *:\/\/ten-mien-cua-ban.b-cdn.net\/*<\/code><\/li>Condition<\/strong>: If Request URL (match any) *:\/\/www.ten-mien-cua-ban.com\/*<\/code><\/li><\/ul>\n\n\n\nCase 2. Qu\u1ea3n l\u00fd c\u00e1c chuy\u1ec3n h\u01b0\u1edbng ho\u1eb7c ti\u1ebfp th\u1ecb li\u00ean k\u1ebft<\/h3>\n\n\n\nV\u00ed d\u1ee5 n\u1ebfu b\u1ea1n truy c\u1eadp v\u00e0o \u0111\u01b0\u1eddng d\u1eabn https:\/\/affiliate.gulshankumar.net\/bunnycdn\/<\/code> n\u00f3 s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn link ti\u1ebfp th\u1ecb li\u00ean k\u1ebft BunnyCDN c\u1ee7a t\u00e1c gi\u1ea3 g\u1ed1c ti\u1ebfng Anh c\u1ee7a b\u00e0i n\u00e0y.<\/p>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u m\u00e0 b\u1ea1n c\u1ea7n bi\u1ebft:<\/p>\n\n\n\nS\u1eed d\u1ee5ng Edge rule b\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp chuy\u1ec3n h\u01b0\u1edbng v\u1edbi ph\u1ea3n h\u1ed3i 301;<\/li>BunnyCDN ph\u1ee5c v\u1ee5 ph\u1ea3n h\u1ed3i HIT cho chuy\u1ec3n h\u01b0\u1edbng v\u1edbi no-cache cho tr\u00ecnh duy\u1ec7t. \u0110i\u1ec1u n\u00e0y gi\u00fap lo\u1ea1i b\u1ecf nguy c\u01a1 g\u1eedi cho ng\u01b0\u1eddi d\u00f9ng li\u00ean k\u1ebft c\u0169;<\/li>Tr\u01b0\u1edbc \u0111\u00f3, t\u00f4i \u0111\u00e3 c\u00f3 ph\u1ea3n h\u1ed3i ti\u00eau \u0111\u1ec1 x-robots: noindex, nofollow<\/code> v\u1edbi ph\u1ea3n h\u1ed3i 3XX. Hi\u1ec7n t\u1ea1i, kh\u00f4ng th\u1ec3 g\u00e1n nhi\u1ec1u h\u00e0nh \u0111\u1ed9ng nh\u01b0ng b\u1ea1n c\u00f3 th\u1ec3 gh\u00e9p nhi\u1ec1u th\u1ee9 v\u1edbi nhau. Gi\u1ea3i ph\u00e1p l\u00e0 t\u00f4i gi\u1eef th\u1ebb rel = \"nofollow\"<\/code> trong HTML b\u1ea5t c\u1ee9 khi n\u00e0o c\u00f3 th\u1ec3.<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL<\/li>Description<\/strong>: Affiliate: BunnyCDN<\/li>Redirect URL<\/strong>: https:\/\/bunnycdn.com\/?ref=uhs82glvx4<\/code><\/li>Condition matching<\/strong>: Match any<\/li>Condition<\/strong>: If Request URL (match any) *\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
L\u01b0u \u00fd l\u00e0 b\u1ea1n \u0111\u1eebng s\u1eed d\u1ee5ng t\u00ednh n\u0103ng cache everything<\/strong> ho\u1eb7c rule Ignore Query String<\/strong> c\u1ee7a Cloudflare cho subdomain d\u1ea1ng dev. \u0110\u1ec3 an to\u00e0n, h\u00e3y th\u00eam quy t\u1eafc b\u1ecf qua b\u1ed9 nh\u1edb cache \u1edf \u0111\u1ea7u t\u1ea5t c\u1ea3 c\u00e1c quy t\u1eafc trang. URL ph\u00f9 h\u1ee3p ph\u1ea3i c\u00f3 d\u1ea1ng nh\u01b0 th\u1ebf n\u00e0y *ten-mien-cua-ban.com\/*<\/p>\n\n\n\nOK, ch\u00fang ta s\u1ebd chuy\u1ec3n sang b\u01b0\u1edbc k\u1ebf ti\u1ebfp.<\/p>\n\n\n\nB\u01b0\u1edbc 4. T\u1ed1i \u01b0u h\u00f3a pull zone cho caching<\/h3>\n\n\n\nCache expiration time<\/strong>: t\u00f4n tr\u1ecdng cache-control c\u1ee7a g\u1ed1c;<\/li>Browser cache expiration time<\/strong>: ghi \u0111\u00e8: kh\u00f4ng cache;<\/li>Query String Short<\/strong>: b\u1eadt;<\/li>Disable cookies (v\u00f4 hi\u1ec7u h\u00f3a cookies):<\/strong> gi\u1eef b\u1eadt cho cookieless cho t\u00ean mi\u1ec1n;<\/li>T\u1ed1i \u01b0u h\u00f3a cho t\u00e0i nguy\u00ean media<\/strong>: b\u1eadt (n\u00f3 c\u00f3 ph\u00ed cao, n\u00ean n\u1ebfu b\u1ea1n mu\u1ed1n ti\u1ebft ki\u1ec7m th\u00ec kh\u00f4ng n\u00ean b\u1eadt);<\/li>Vary cache<\/strong>: t\u1eaft ho\u00e0n to\u00e0n (quan tr\u1ecdng v\u1edbi k\u1ebft qu\u1ea3 t\u00ecm ki\u1ebfm, fbclid, utm v\u00e0 c\u00e1c query string t\u01b0\u01a1ng t\u1ef1 li\u00ean quan \u0111\u1ebfn trang);<\/li><\/ul>\n\n\n\nB\u01b0\u1edbc 5. B\u1ea3o m\u1eadt pull zone<\/h3>\n\n\n\nB\u1ea1n \u0111\u1eebng block root path access;<\/li>BunnyCDN c\u00f3 c\u00e1ch hay \u0111\u1ec3 hi\u1ec3n th\u1ecb chi ti\u1ebft logs. Keep Logging Enabled<\/strong> ngh\u0129a l\u00e0 b\u1ea1n b\u1eadt c\u00e1i n\u00e0y. N\u00f3 s\u1ebd c\u00f3 \u00edch trong vi\u1ec7c g\u1ee1 l\u1ed7i k\u1ef9 thu\u1eadt.<\/li><\/ul>\n\n\n\n\n\n\n\nC\u1ea5u h\u00ecnh c\u00e1c rule edge<\/h2>\n\n\n\nBunnyCDN cung c\u1ea5p c\u00e1c rule edge \u0111\u1ec3 t\u00f9y bi\u1ebfn h\u00e0nh vi c\u1ee7a pull zone CDN. T\u1ea1i th\u1eddi \u0111i\u1ec3m n\u00e0y, kh\u00f4ng c\u00f3 t\u00ednh n\u0103ng \u01b0u ti\u00ean \u0111\u1ec3 th\u1ef1c hi\u1ec7n quy t\u1eafc (rule) theo th\u1ee9 t\u1ef1. Trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, \u0111i\u1ec1u ki\u1ec7n Match None s\u1ebd h\u1eefu d\u1ee5ng.<\/p>\n\n\n\nCase 1. \u00c9p hostname t\u00f9y ch\u1ec9nh v\u00e0 \u0111\u01b0\u1eddng d\u1eabn kh\u00f4ng-www<\/h3>\n\n\n\nTrang web c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp th\u00f4ng qua \u0111\u1ecba ch\u1ec9 BunnyCDN Pull Zone (ten-mien-cau-ban.b-cdn.net) c\u0169ng nh\u01b0 hostname t\u00f9y ch\u1ec9nh c\u1ee7a b\u1ea1n. V\u00ec ch\u00fang ta quan t\u00e2m \u0111\u1ebfn th\u01b0\u01a1ng hi\u1ec7u ri\u00eang, ph\u1ee5c v\u1ee5 t\u1ea5t c\u1ea3 c\u00e1c y\u00eau c\u1ea7u t\u1eeb m\u1ed9t \u0111\u1ecba ch\u1ec9 hostname duy nh\u1ea5t l\u00e0 \u0111i\u1ec1u c\u1ea7n thi\u1ebft:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL;<\/li>Description<\/strong>: \u0110\u1ed5i t\u00ean mi\u1ec1n t\u00f9y ch\u1ec9nh v\u00e0 kh\u00f4ng-www;<\/li>Redirect URL<\/strong>: https:\/\/ten-mien-cua-ban.com{{path}} – t\u1ee9c l\u00e0 c\u00e1c t\u00ean mi\u1ec1n d\u1ea1ng b-cdn.net v\u00e0 c\u00f3-www s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng v\u1ec1 d\u1ea1ng kh\u00f4ng-www;<\/li>Condition matching<\/strong>: Match any ngh\u0129a l\u00e0 kh\u1edbp trong m\u1ecdi t\u00ecnh hu\u1ed1ng;<\/li>Condition<\/strong>: If Request URL (match any) *:\/\/ten-mien-cua-ban.b-cdn.net\/*<\/code><\/li>Condition<\/strong>: If Request URL (match any) *:\/\/www.ten-mien-cua-ban.com\/*<\/code><\/li><\/ul>\n\n\n\nCase 2. Qu\u1ea3n l\u00fd c\u00e1c chuy\u1ec3n h\u01b0\u1edbng ho\u1eb7c ti\u1ebfp th\u1ecb li\u00ean k\u1ebft<\/h3>\n\n\n\nV\u00ed d\u1ee5 n\u1ebfu b\u1ea1n truy c\u1eadp v\u00e0o \u0111\u01b0\u1eddng d\u1eabn https:\/\/affiliate.gulshankumar.net\/bunnycdn\/<\/code> n\u00f3 s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn link ti\u1ebfp th\u1ecb li\u00ean k\u1ebft BunnyCDN c\u1ee7a t\u00e1c gi\u1ea3 g\u1ed1c ti\u1ebfng Anh c\u1ee7a b\u00e0i n\u00e0y.<\/p>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u m\u00e0 b\u1ea1n c\u1ea7n bi\u1ebft:<\/p>\n\n\n\nS\u1eed d\u1ee5ng Edge rule b\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp chuy\u1ec3n h\u01b0\u1edbng v\u1edbi ph\u1ea3n h\u1ed3i 301;<\/li>BunnyCDN ph\u1ee5c v\u1ee5 ph\u1ea3n h\u1ed3i HIT cho chuy\u1ec3n h\u01b0\u1edbng v\u1edbi no-cache cho tr\u00ecnh duy\u1ec7t. \u0110i\u1ec1u n\u00e0y gi\u00fap lo\u1ea1i b\u1ecf nguy c\u01a1 g\u1eedi cho ng\u01b0\u1eddi d\u00f9ng li\u00ean k\u1ebft c\u0169;<\/li>Tr\u01b0\u1edbc \u0111\u00f3, t\u00f4i \u0111\u00e3 c\u00f3 ph\u1ea3n h\u1ed3i ti\u00eau \u0111\u1ec1 x-robots: noindex, nofollow<\/code> v\u1edbi ph\u1ea3n h\u1ed3i 3XX. Hi\u1ec7n t\u1ea1i, kh\u00f4ng th\u1ec3 g\u00e1n nhi\u1ec1u h\u00e0nh \u0111\u1ed9ng nh\u01b0ng b\u1ea1n c\u00f3 th\u1ec3 gh\u00e9p nhi\u1ec1u th\u1ee9 v\u1edbi nhau. Gi\u1ea3i ph\u00e1p l\u00e0 t\u00f4i gi\u1eef th\u1ebb rel = \"nofollow\"<\/code> trong HTML b\u1ea5t c\u1ee9 khi n\u00e0o c\u00f3 th\u1ec3.<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL<\/li>Description<\/strong>: Affiliate: BunnyCDN<\/li>Redirect URL<\/strong>: https:\/\/bunnycdn.com\/?ref=uhs82glvx4<\/code><\/li>Condition matching<\/strong>: Match any<\/li>Condition<\/strong>: If Request URL (match any) *\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
OK, ch\u00fang ta s\u1ebd chuy\u1ec3n sang b\u01b0\u1edbc k\u1ebf ti\u1ebfp.<\/p>\n\n\n\n
BunnyCDN cung c\u1ea5p c\u00e1c rule edge \u0111\u1ec3 t\u00f9y bi\u1ebfn h\u00e0nh vi c\u1ee7a pull zone CDN. T\u1ea1i th\u1eddi \u0111i\u1ec3m n\u00e0y, kh\u00f4ng c\u00f3 t\u00ednh n\u0103ng \u01b0u ti\u00ean \u0111\u1ec3 th\u1ef1c hi\u1ec7n quy t\u1eafc (rule) theo th\u1ee9 t\u1ef1. Trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, \u0111i\u1ec1u ki\u1ec7n Match None s\u1ebd h\u1eefu d\u1ee5ng.<\/p>\n\n\n\n
Trang web c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp th\u00f4ng qua \u0111\u1ecba ch\u1ec9 BunnyCDN Pull Zone (ten-mien-cau-ban.b-cdn.net) c\u0169ng nh\u01b0 hostname t\u00f9y ch\u1ec9nh c\u1ee7a b\u1ea1n. V\u00ec ch\u00fang ta quan t\u00e2m \u0111\u1ebfn th\u01b0\u01a1ng hi\u1ec7u ri\u00eang, ph\u1ee5c v\u1ee5 t\u1ea5t c\u1ea3 c\u00e1c y\u00eau c\u1ea7u t\u1eeb m\u1ed9t \u0111\u1ecba ch\u1ec9 hostname duy nh\u1ea5t l\u00e0 \u0111i\u1ec1u c\u1ea7n thi\u1ebft:<\/p>\n\n\n\n
*:\/\/ten-mien-cua-ban.b-cdn.net\/*<\/code><\/li>Condition<\/strong>: If Request URL (match any) *:\/\/www.ten-mien-cua-ban.com\/*<\/code><\/li><\/ul>\n\n\n\nCase 2. Qu\u1ea3n l\u00fd c\u00e1c chuy\u1ec3n h\u01b0\u1edbng ho\u1eb7c ti\u1ebfp th\u1ecb li\u00ean k\u1ebft<\/h3>\n\n\n\nV\u00ed d\u1ee5 n\u1ebfu b\u1ea1n truy c\u1eadp v\u00e0o \u0111\u01b0\u1eddng d\u1eabn https:\/\/affiliate.gulshankumar.net\/bunnycdn\/<\/code> n\u00f3 s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn link ti\u1ebfp th\u1ecb li\u00ean k\u1ebft BunnyCDN c\u1ee7a t\u00e1c gi\u1ea3 g\u1ed1c ti\u1ebfng Anh c\u1ee7a b\u00e0i n\u00e0y.<\/p>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u m\u00e0 b\u1ea1n c\u1ea7n bi\u1ebft:<\/p>\n\n\n\nS\u1eed d\u1ee5ng Edge rule b\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp chuy\u1ec3n h\u01b0\u1edbng v\u1edbi ph\u1ea3n h\u1ed3i 301;<\/li>BunnyCDN ph\u1ee5c v\u1ee5 ph\u1ea3n h\u1ed3i HIT cho chuy\u1ec3n h\u01b0\u1edbng v\u1edbi no-cache cho tr\u00ecnh duy\u1ec7t. \u0110i\u1ec1u n\u00e0y gi\u00fap lo\u1ea1i b\u1ecf nguy c\u01a1 g\u1eedi cho ng\u01b0\u1eddi d\u00f9ng li\u00ean k\u1ebft c\u0169;<\/li>Tr\u01b0\u1edbc \u0111\u00f3, t\u00f4i \u0111\u00e3 c\u00f3 ph\u1ea3n h\u1ed3i ti\u00eau \u0111\u1ec1 x-robots: noindex, nofollow<\/code> v\u1edbi ph\u1ea3n h\u1ed3i 3XX. Hi\u1ec7n t\u1ea1i, kh\u00f4ng th\u1ec3 g\u00e1n nhi\u1ec1u h\u00e0nh \u0111\u1ed9ng nh\u01b0ng b\u1ea1n c\u00f3 th\u1ec3 gh\u00e9p nhi\u1ec1u th\u1ee9 v\u1edbi nhau. Gi\u1ea3i ph\u00e1p l\u00e0 t\u00f4i gi\u1eef th\u1ebb rel = \"nofollow\"<\/code> trong HTML b\u1ea5t c\u1ee9 khi n\u00e0o c\u00f3 th\u1ec3.<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL<\/li>Description<\/strong>: Affiliate: BunnyCDN<\/li>Redirect URL<\/strong>: https:\/\/bunnycdn.com\/?ref=uhs82glvx4<\/code><\/li>Condition matching<\/strong>: Match any<\/li>Condition<\/strong>: If Request URL (match any) *\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
*:\/\/www.ten-mien-cua-ban.com\/*<\/code><\/li><\/ul>\n\n\n\nCase 2. Qu\u1ea3n l\u00fd c\u00e1c chuy\u1ec3n h\u01b0\u1edbng ho\u1eb7c ti\u1ebfp th\u1ecb li\u00ean k\u1ebft<\/h3>\n\n\n\nV\u00ed d\u1ee5 n\u1ebfu b\u1ea1n truy c\u1eadp v\u00e0o \u0111\u01b0\u1eddng d\u1eabn https:\/\/affiliate.gulshankumar.net\/bunnycdn\/<\/code> n\u00f3 s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn link ti\u1ebfp th\u1ecb li\u00ean k\u1ebft BunnyCDN c\u1ee7a t\u00e1c gi\u1ea3 g\u1ed1c ti\u1ebfng Anh c\u1ee7a b\u00e0i n\u00e0y.<\/p>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u m\u00e0 b\u1ea1n c\u1ea7n bi\u1ebft:<\/p>\n\n\n\nS\u1eed d\u1ee5ng Edge rule b\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp chuy\u1ec3n h\u01b0\u1edbng v\u1edbi ph\u1ea3n h\u1ed3i 301;<\/li>BunnyCDN ph\u1ee5c v\u1ee5 ph\u1ea3n h\u1ed3i HIT cho chuy\u1ec3n h\u01b0\u1edbng v\u1edbi no-cache cho tr\u00ecnh duy\u1ec7t. \u0110i\u1ec1u n\u00e0y gi\u00fap lo\u1ea1i b\u1ecf nguy c\u01a1 g\u1eedi cho ng\u01b0\u1eddi d\u00f9ng li\u00ean k\u1ebft c\u0169;<\/li>Tr\u01b0\u1edbc \u0111\u00f3, t\u00f4i \u0111\u00e3 c\u00f3 ph\u1ea3n h\u1ed3i ti\u00eau \u0111\u1ec1 x-robots: noindex, nofollow<\/code> v\u1edbi ph\u1ea3n h\u1ed3i 3XX. Hi\u1ec7n t\u1ea1i, kh\u00f4ng th\u1ec3 g\u00e1n nhi\u1ec1u h\u00e0nh \u0111\u1ed9ng nh\u01b0ng b\u1ea1n c\u00f3 th\u1ec3 gh\u00e9p nhi\u1ec1u th\u1ee9 v\u1edbi nhau. Gi\u1ea3i ph\u00e1p l\u00e0 t\u00f4i gi\u1eef th\u1ebb rel = \"nofollow\"<\/code> trong HTML b\u1ea5t c\u1ee9 khi n\u00e0o c\u00f3 th\u1ec3.<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL<\/li>Description<\/strong>: Affiliate: BunnyCDN<\/li>Redirect URL<\/strong>: https:\/\/bunnycdn.com\/?ref=uhs82glvx4<\/code><\/li>Condition matching<\/strong>: Match any<\/li>Condition<\/strong>: If Request URL (match any) *\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
V\u00ed d\u1ee5 n\u1ebfu b\u1ea1n truy c\u1eadp v\u00e0o \u0111\u01b0\u1eddng d\u1eabn https:\/\/affiliate.gulshankumar.net\/bunnycdn\/<\/code> n\u00f3 s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn link ti\u1ebfp th\u1ecb li\u00ean k\u1ebft BunnyCDN c\u1ee7a t\u00e1c gi\u1ea3 g\u1ed1c ti\u1ebfng Anh c\u1ee7a b\u00e0i n\u00e0y.<\/p>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u m\u00e0 b\u1ea1n c\u1ea7n bi\u1ebft:<\/p>\n\n\n\nS\u1eed d\u1ee5ng Edge rule b\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp chuy\u1ec3n h\u01b0\u1edbng v\u1edbi ph\u1ea3n h\u1ed3i 301;<\/li>BunnyCDN ph\u1ee5c v\u1ee5 ph\u1ea3n h\u1ed3i HIT cho chuy\u1ec3n h\u01b0\u1edbng v\u1edbi no-cache cho tr\u00ecnh duy\u1ec7t. \u0110i\u1ec1u n\u00e0y gi\u00fap lo\u1ea1i b\u1ecf nguy c\u01a1 g\u1eedi cho ng\u01b0\u1eddi d\u00f9ng li\u00ean k\u1ebft c\u0169;<\/li>Tr\u01b0\u1edbc \u0111\u00f3, t\u00f4i \u0111\u00e3 c\u00f3 ph\u1ea3n h\u1ed3i ti\u00eau \u0111\u1ec1 x-robots: noindex, nofollow<\/code> v\u1edbi ph\u1ea3n h\u1ed3i 3XX. Hi\u1ec7n t\u1ea1i, kh\u00f4ng th\u1ec3 g\u00e1n nhi\u1ec1u h\u00e0nh \u0111\u1ed9ng nh\u01b0ng b\u1ea1n c\u00f3 th\u1ec3 gh\u00e9p nhi\u1ec1u th\u1ee9 v\u1edbi nhau. Gi\u1ea3i ph\u00e1p l\u00e0 t\u00f4i gi\u1eef th\u1ebb rel = \"nofollow\"<\/code> trong HTML b\u1ea5t c\u1ee9 khi n\u00e0o c\u00f3 th\u1ec3.<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL<\/li>Description<\/strong>: Affiliate: BunnyCDN<\/li>Redirect URL<\/strong>: https:\/\/bunnycdn.com\/?ref=uhs82glvx4<\/code><\/li>Condition matching<\/strong>: Match any<\/li>Condition<\/strong>: If Request URL (match any) *\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
https:\/\/affiliate.gulshankumar.net\/bunnycdn\/<\/code> n\u00f3 s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn link ti\u1ebfp th\u1ecb li\u00ean k\u1ebft BunnyCDN c\u1ee7a t\u00e1c gi\u1ea3 g\u1ed1c ti\u1ebfng Anh c\u1ee7a b\u00e0i n\u00e0y.<\/p>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u m\u00e0 b\u1ea1n c\u1ea7n bi\u1ebft:<\/p>\n\n\n\nS\u1eed d\u1ee5ng Edge rule b\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp chuy\u1ec3n h\u01b0\u1edbng v\u1edbi ph\u1ea3n h\u1ed3i 301;<\/li>BunnyCDN ph\u1ee5c v\u1ee5 ph\u1ea3n h\u1ed3i HIT cho chuy\u1ec3n h\u01b0\u1edbng v\u1edbi no-cache cho tr\u00ecnh duy\u1ec7t. \u0110i\u1ec1u n\u00e0y gi\u00fap lo\u1ea1i b\u1ecf nguy c\u01a1 g\u1eedi cho ng\u01b0\u1eddi d\u00f9ng li\u00ean k\u1ebft c\u0169;<\/li>Tr\u01b0\u1edbc \u0111\u00f3, t\u00f4i \u0111\u00e3 c\u00f3 ph\u1ea3n h\u1ed3i ti\u00eau \u0111\u1ec1 x-robots: noindex, nofollow<\/code> v\u1edbi ph\u1ea3n h\u1ed3i 3XX. Hi\u1ec7n t\u1ea1i, kh\u00f4ng th\u1ec3 g\u00e1n nhi\u1ec1u h\u00e0nh \u0111\u1ed9ng nh\u01b0ng b\u1ea1n c\u00f3 th\u1ec3 gh\u00e9p nhi\u1ec1u th\u1ee9 v\u1edbi nhau. Gi\u1ea3i ph\u00e1p l\u00e0 t\u00f4i gi\u1eef th\u1ebb rel = \"nofollow\"<\/code> trong HTML b\u1ea5t c\u1ee9 khi n\u00e0o c\u00f3 th\u1ec3.<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL<\/li>Description<\/strong>: Affiliate: BunnyCDN<\/li>Redirect URL<\/strong>: https:\/\/bunnycdn.com\/?ref=uhs82glvx4<\/code><\/li>Condition matching<\/strong>: Match any<\/li>Condition<\/strong>: If Request URL (match any) *\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
M\u1ed9t s\u1ed1 \u0111i\u1ec1u m\u00e0 b\u1ea1n c\u1ea7n bi\u1ebft:<\/p>\n\n\n\n
x-robots: noindex, nofollow<\/code> v\u1edbi ph\u1ea3n h\u1ed3i 3XX. Hi\u1ec7n t\u1ea1i, kh\u00f4ng th\u1ec3 g\u00e1n nhi\u1ec1u h\u00e0nh \u0111\u1ed9ng nh\u01b0ng b\u1ea1n c\u00f3 th\u1ec3 gh\u00e9p nhi\u1ec1u th\u1ee9 v\u1edbi nhau. Gi\u1ea3i ph\u00e1p l\u00e0 t\u00f4i gi\u1eef th\u1ebb rel = \"nofollow\"<\/code> trong HTML b\u1ea5t c\u1ee9 khi n\u00e0o c\u00f3 th\u1ec3.<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL<\/li>Description<\/strong>: Affiliate: BunnyCDN<\/li>Redirect URL<\/strong>: https:\/\/bunnycdn.com\/?ref=uhs82glvx4<\/code><\/li>Condition matching<\/strong>: Match any<\/li>Condition<\/strong>: If Request URL (match any) *\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
rel = \"nofollow\"<\/code> trong HTML b\u1ea5t c\u1ee9 khi n\u00e0o c\u00f3 th\u1ec3.<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Redirect URL<\/li>Description<\/strong>: Affiliate: BunnyCDN<\/li>Redirect URL<\/strong>: https:\/\/bunnycdn.com\/?ref=uhs82glvx4<\/code><\/li>Condition matching<\/strong>: Match any<\/li>Condition<\/strong>: If Request URL (match any) *\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
https:\/\/bunnycdn.com\/?ref=uhs82glvx4<\/code><\/li>Condition matching<\/strong>: Match any<\/li>Condition<\/strong>: If Request URL (match any) *\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
*\/go\/bunnycdn\/*<\/code><\/li><\/ul>\n\n\n\nPh\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
Ph\u01b0\u01a1ng ph\u00e1p thay th\u1ebf: Chuy\u1ec3n h\u01b0\u1edbng 302 v\u1edbi ph\u1ea3n h\u1ed3i HTTP t\u00f9y ch\u1ec9nh <\/strong><\/p>\n\n\n\n\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
\u0110i\u1ec1u n\u00e0y s\u1ebd y\u00eau c\u1ea7u hai y\u00eau c\u1ea7u HTTP. HTTP 200 \u0111\u1ea7u ti\u00ean cho \/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
\/go\/bunnycdn\/<\/code> v\u00e0 302 kh\u00e1c cho trang \u0111\u00edch. T\u00f4i c\u1ea3m th\u1ea5y c\u00e1ch ti\u1ebfp c\u1eadn n\u00e0y c\u00f3 th\u1ec3 h\u1ee3p l\u00fd n\u1ebfu quy t\u1eafc Edge tr\u1edf th\u00e0nh m\u1ed9t t\u00ednh n\u0103ng cao c\u1ea5p sau m\u1ed9t gi\u1edbi h\u1ea1n nh\u1ea5t \u0111\u1ecbnh trong t\u01b0\u01a1ng lai! <\/p>\n\n\n\nT\u1ea1o m\u1ed9t t\u1ec7p \/go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
go\/bunnycdn\/index.html<\/code> trong Storage nh\u01b0 th\u1ebf n\u00e0y<\/a>. <\/li>Sau \u0111\u00f3, \u0111\u1eb7t m\u1ed9t ti\u00eau \u0111\u1ec1 ph\u1ea3n h\u1ed3i x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
x-robots<\/code> v\u1edbi gi\u00e1 tr\u1ecb noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
noindex, nofollow<\/code><\/li><\/ul>\n\n\n\nCase 3. S\u1eed d\u1ee5ng b\u00ecnh lu\u1eadn & contact form 7 v\u1edbi website t\u0129nh<\/h3>\n\n\n\n\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\nKh\u00f4ng y\u00eau c\u1ea7u th\u00eam t\u00ecm ki\u1ebfm DNS ho\u1eb7c c\u00e1c y\u00eau c\u1ea7u HTTP;<\/li>Th\u00e2n thi\u1ec7n v\u1edbi quy\u1ec1n ri\u00eang t\u01b0;<\/li>R\u1ea5t nhanh;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nAction<\/strong>: Override origin<\/li>Description<\/strong>: b\u00ecnh lu\u1eadn & contact form 7<\/li>Origin URL<\/strong>: nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u00f4ng khai c\u1ee7a m\u00e1y ch\u1ee7 g\u1ed1c LEMP trong trong HTTPS scheme URL form c\u1ee7a b\u1ea1n;<\/li>Condition matching<\/strong>: ANY;<\/li>Conditions<\/strong>: If request URL (match any) ;<\/li>Trigger<\/strong>: https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
\u0110\u1ec3 x\u1eed l\u00fd b\u00ecnh lu\u1eadn WordPress v\u00e0 Contact Form 7 trong website t\u0129nh, b\u1ea1n d\u00f9ng request proxy v\u1edbi \u0111\u1ecba ch\u1ec9 c\u1ee7a IP server g\u1ed1c b\u1eb1ng c\u00e1ch kh\u1edbp (match) URL. BunnyCDN x\u1eed l\u00fd ph\u01b0\u01a1ng th\u1ee9c “POST” r\u1ea5t \u1ed5n.<\/p>\n\n\n\n
\u01afu \u0111i\u1ec3m:<\/p>\n\n\n\n
https:\/\/example.com\/wp-comments-post.php<\/code><\/li>Trigger<\/strong>: https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback<\/code><\/li><\/ul>\n\n\n\nM\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\nB\u1ea1n thay th\u1ebf 1478 l\u00e0 ID c\u1ee7a form trong m\u1eabu tr\u00ean b\u1eb1ng ID c\u1ee5 th\u1ec3 c\u1ee7a b\u1ea1n trong Contact Form 7, th\u00f4ng tin n\u00e0y d\u1ec5 d\u00e0ng t\u00ecm th\u1ea5y b\u00ean trong trang qu\u1ea3n tr\u1ecb c\u1ee7a WordPress;<\/li>Thi\u1ebft l\u1eadp response header Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
M\u1ed9t s\u1ed1 \u0111i\u1ec1u c\u1ea7n quan t\u00e2m…<\/p>\n\n\n\n
Cache-Control: no-cache, no-store<\/code>;<\/li><\/ul>\n\n\n\nL\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nContact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
L\u01b0u \u00fd: max-age=0 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 tr\u00ecnh duy\u1ec7t kh\u00f4ng h\u1ed7 tr\u1ee3 cache.<\/p>\n\n\n\n
Contact form 7 s\u1eed d\u1ee5ng content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
content-type: application\/json; charset=UTF-8<\/code> MIME type \u0111\u1ec3 \u0111\u00e1nh d\u1ea5u request POST trong submission message n\u01a1i m\u00e0 wp-comments-post.php s\u1eed d\u1ee5ng text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
text\/html; charset=UTF-8<\/code> v\u00e0 n\u00f3 kh\u00f4ng n\u00ean \u0111\u01b0\u1ee3c di\u1ec5n gi\u1ea3i nh\u01b0 type text\/html. N\u1ebfu b\u1ea1n th\u00eam c\u00e1c rule t\u01b0\u01a1ng t\u1ef1 d\u1ef1a tr\u00ean MIME type th\u00ec h\u00e3y \u0111\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n lo\u1ea1i tr\u1eeb c\u00e1c \u0111\u01b0\u1eddng d\u1eabn n\u00e0y s\u1eed d\u1ee5ng \u0111i\u1ec1u ki\u1ec7n MATCH NONE.<\/p>\n\n\n\nCase 4. S\u1eeda c\u00e1c ph\u1ea7n t\u1eed background b\u1ecb v\u1ee1<\/h3>\n\n\n\nPlugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
Plugin WP2Static<\/a> m\u00e0 t\u00f4i s\u1eed d\u1ee5ng trong h\u01b0\u1edbng d\u1eabn n\u00e0y c\u00f3 m\u1ed9t l\u1ed7i nh\u1ecf. \u0110\u00f4i khi n\u00f3 kh\u00f4ng t\u00ecm n\u1ea1p file background t\u1eeb CSS<\/a>.<\/p>\n\n\n\nC\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 5. L\u00e0m trang WordPress nhanh h\u01a1n v\u1edbi HTML caching<\/h3>\n\n\n\nBunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
C\u00e1ch s\u1eeda: b\u1ea1n s\u1eed d\u1ee5ng t\u00ednh n\u0103ng include additional URLs \u0111i k\u00e8m v\u1edbi plugin n\u00e0y.<\/p>\n\n\n\n
BunnyCDN r\u1ea5t linh ho\u1ea1t khi ch\u00fang ta mu\u1ed1n c\u00e0i \u0111\u1eb7t HTML caching<\/a>. H\u1ecd h\u1ed7 tr\u1ee3 nhi\u1ec1u chu\u1ed7i \u0111\u1ec3 kh\u1edbp request v\u00e0 thi\u1ebft l\u1eadp rule (quy t\u1eafc) t\u00f9y ch\u1ec9nh ph\u00f9 h\u1ee3p.<\/p>\n\n\n\nN\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
N\u00f3i m\u1ed9t d\u00e2n d\u00e3 th\u00ec khi b\u1ea1n m\u1edf b\u1ea5t k\u1ef3 trang web n\u00e0o, tr\u00ecnh duy\u1ec7t s\u1ebd g\u1eedi m\u1ed9t s\u1ed1 th\u00f4ng tin nh\u01b0 user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
user-agent, accept type, hostname<\/code> cho m\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng Request Header v\u00e0 tr\u1ea3 v\u1ec1 m\u1ed9t s\u1ed1 th\u00f4ng tin s\u1eed d\u1ee5ng Header Response cho l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 tr\u00ecnh duy\u1ec7t x\u1eed l\u00fd n\u00f3. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 HTTP header Response.<\/p>\n\n\n\nCache-Control<\/strong>: header n\u00e0y \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 thi\u1ebft l\u1eadp h\u01b0\u1edbng d\u1eabn caching cho tr\u00ecnh duy\u1ec7t ho\u1eb7c proxy;<\/li>max-age<\/strong>: g\u1ee3i \u00fd cho ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c proxy c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng n\u1ed9i dung ph\u1ea3n h\u1ed3i tr\u01b0\u1edbc \u0111\u00f3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea5t c\u1ee9 x\u00e1c th\u1ef1c n\u00e0o trong kho\u1ea3ng th\u1eddi gian c\u1ed1 \u0111\u1ecbnh;<\/li>s-maxage<\/strong>: c\u00e1i n\u00e0y \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n max-age \u0111\u1ec3 g\u1ee3i \u00fd kho\u1ea3ng th\u1eddi gian m\u00e0 m\u1ed9t CDN \/ Proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u00e1t ph\u1ea3n h\u1ed3i \u0111\u01b0\u1ee3c l\u01b0u trong b\u1ed9 nh\u1edb cache.<\/li><\/ul>\n\n\n\nN\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\nBunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCh\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\nAction<\/strong>: Set Response Header;<\/li>Description<\/strong>: HTML CDN Cache Excluding POST request path;<\/li>Header name<\/strong>: Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
N\u1ed9i dung HTML th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt m\u1edbi, v\u00ec th\u1ebf t\u1ed1t h\u01a1n h\u1ebft l\u00e0 b\u1ea1n n\u00ean \u0111\u1ec3 th\u1eddi gian ph\u1ea3n h\u1ed3i ng\u1eafn.<\/p>\n\n\n\n
BunnyCDN h\u1ed7 tr\u1ee3 header last modified (ch\u1ec9nh s\u1eeda l\u1ea7n cu\u1ed1i). B\u1ea1n c\u00f3 th\u1ec3 gi\u1eef max-age=0 \u0111\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3 ph\u1ea3n h\u1ed3i 304. Tr\u00ecnh duy\u1ec7t kh\u00f4ng c\u1ea7n t\u1ea3i to\u00e0n b\u1ed9 n\u1ed9i dung ph\u1ea3n h\u1ed3i cho c\u00e1c request gi\u1ed1ng y trong l\u1ea7n k\u1ebf ti\u1ebfp, thay v\u00e0o \u0111\u00f3 ch\u1ec9 ph\u1ea3n h\u1ed3i HTTP m\u1ed7i khi ki\u1ec3m tra xem tr\u00ecnh duy\u1ec7t c\u00f3 th\u1ec3 x\u1eed l\u00fd ph\u1ea3n h\u1ed3i cache hay l\u00e0 kh\u00f4ng. N\u1ebfu n\u00f3 kh\u00f4ng kh\u1edbp, th\u00ec n\u00f3 s\u1ebd t\u1ea3i n\u1ed9i dung m\u1edbi nh\u1ea5t v\u1edbi m\u00e3 status HTTP l\u00e0 200.<\/p>\n\n\n\n
Ch\u00fang ta s\u1ebd kh\u00f4ng cache t\u1ea5t c\u1ea3 c\u00e1c request POST nh\u01b0ng b\u1ea5t c\u1ee9 c\u00e1i n\u00e0o kh\u1edbp v\u1edbi ki\u1ec3u n\u1ed9i dung text\/html s\u1ebd \u0111\u01b0\u1ee3c cache.<\/p>\n\n\n\n
Cache-Control<\/code>;<\/li>Condition Matching<\/strong>: Match All;<\/li>Header value<\/strong>: max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
max-age=0, s-maxage=25920000<\/code>;<\/li>Conditions<\/strong>: If Response Header (Any): Content-type<\/strong>: Trigger: text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
text\/html<\/code> v\u00e0 text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
text\/xml<\/code> cho Sitemap;<\/li>Conditions<\/strong>: If Request URL (Match None) : Trigger: https:\/\/example.com\/wp-comments-post.php or https:\/\/example.com\/wp-json\/contact-form-7\/v1\/contact-forms\/1478\/feedback;<\/li><\/ol>\n\n\n\nCase 6. Thi\u1ebft l\u1eadp caching ph\u00eda tr\u00ecnh duy\u1ec7t<\/h3>\n\n\n\nC\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\nTrong b\u01b0\u1edbc tr\u01b0\u1edbc (C\u00e0i \u0111\u1eb7t Pull zone), li\u00ean quan \u0111\u1ebfn chu\u1ed7i truy v\u1ea5n t\u00e0i li\u1ec7u HTML nh\u01b0 fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
C\u00e1c t\u00e0i nguy\u00ean t\u0129nh nh\u01b0 CSS, JS, \u1ea3nh, v\u00e2n v\u00e2n kh\u00f4ng thay \u0111\u1ed5i n\u1ed9i dung th\u01b0\u1eddng xuy\u00ean (th\u1eadm ch\u00ed \u1ea3nh g\u1ea7n nh\u01b0 ch\u1eafc ch\u1eafn kh\u00f4ng thay \u0111\u1ed5i, th\u01b0\u1eddng l\u00e0 ch\u00fang ta thay \u1ea3nh m\u1edbi). Nh\u01b0ng \u0111i\u1ec1u \u0111\u00f3 kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n n\u00ean thi\u1ebft l\u1eadp th\u1eddi gian cache m\u1ed9t n\u0103m. 7 – 8 ng\u00e0y l\u00e0 \u0111\u1ee7 r\u1ed3i. C\u0169ng v\u1eady, c\u00f3 m\u1ed9t v\u00e0i l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao b\u1ea1n n\u00ean tr\u00e1nh th\u1eddi gian caching m\u1ed9t n\u0103m:<\/p>\n\n\n\n
fbclid, utm, q<\/code>, v.v. – ch\u00fang ta \u0111\u00e3 thi\u1ebft l\u1eadp BunnyCDN \u0111\u1ec3 ph\u00e2n ph\u00e1t b\u1ed9 nh\u1edb cache b\u1eb1ng c\u00e1ch b\u1ecf qua t\u1ea5t c\u1ea3 chu\u1ed7i truy v\u1ea5n. <\/li>Tuy nhi\u00ean, \u0111\u1ed1i v\u1edbi \u201cn\u1ed9i dung t\u0129nh\u201d th\u00ec vi\u1ec7c t\u00f4n tr\u1ecdng Query String t\u1ed1t h\u01a1n l\u00e0 l\u00e0m m\u1ea5t hi\u1ec7u l\u1ef1c b\u1ed9 nh\u1edb cache, \u0111\u00e2y l\u00e0 \u0111i\u1ec1u c\u01a1 b\u1ea3n trong WordPress. <\/li>Th\u1eadt kh\u00f4ng may, \u0111i\u1ec1u n\u00e0y hi\u1ec7n kh\u00f4ng th\u1ec3 v\u1edbi BunnyCDN \u0111\u1ec3 c\u00f3 kh\u1ea3 n\u0103ng cung c\u1ea5p c\u00e1c ph\u1ea3n h\u1ed3i kh\u00e1c nhau theo Query String d\u00e0nh ri\u00eang cho n\u1ed9i dung t\u0129nh. Do \u0111\u00f3, t\u00f4i c\u1ea3m th\u1ea5y t\u1ed1t h\u01a1n l\u00e0 b\u1ea1n n\u00ean \u0111\u1eb7t b\u1ed9 nh\u1edb \u0111\u1ec7m ng\u1eafn h\u1ea1n cho n\u1ed9i dung t\u0129nh.;<\/li>\u0110\u1eebng lo l\u1eafng v\u1ec1 c\u00f4ng c\u1ee5. C\u00e1ch l\u00e0m \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn ngay d\u01b0\u1edbi \u0111\u00e2y;<\/li><\/ul>\n\n\n\nNghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
Nghi\u00ean c\u1ee9u c\u1ee7a Facebook ch\u1ec9 ra r\u1eb1ng trong 42% tr\u01b0\u1eddng h\u1ee3p, th\u1eddi gian cache kh\u00f4ng l\u1edbn h\u01a1n 47 ti\u1ebfng.<\/p>Ngu\u1ed3n: code.fb.com<\/a><\/cite><\/blockquote>\n\n\n\nD\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 7. B\u1eadt HSTS<\/h3>\n\n\n\nN\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
D\u01b0\u1edbi \u0111\u00e2y l\u00e0 h\u01b0\u1edbng d\u1eabn:<\/p>\n\n\n\n
N\u1ebfu tr\u01b0\u1edbc \u0111\u00f3 b\u1ea1n s\u1eed d\u1ee5ng HSTS (b\u1ea1n c\u00f3 th\u1ec3 v\u00e0o \u0111\u00e2y \u0111\u1ec3 ki\u1ec3m tra<\/a> xem trang web g\u1ed1c c\u00f3 \u0111ang d\u00f9ng hay kh\u00f4ng), b\u1ea1n n\u00ean ti\u1ebfp t\u1ee5c s\u1eed d\u1ee5ng th\u00f4ng qua BunnyCDN. HSTS header h\u01b0\u1edbng d\u1eabn tr\u00ecnh duy\u1ec7t lu\u00f4n t\u1ea3i request t\u1eeb ch\u1ec9 \u0111\u01b0\u1eddng d\u1eabn HTTPS. B\u1ea1n c\u00f3 th\u1ec3 thi\u1ebft l\u1eadp n\u00f3 cho request text\/html. Kh\u00f4ng c\u1ea7n l\u00e0m \u0111i\u1ec1u n\u00e0y cho c\u00e1c t\u00e0i nguy\u00ean t\u0129nh (\u1ea3nh, css, js).<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\nThi\u1ebft l\u1eadp responese header Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
Strict-Transport-Security:<\/code> max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
max-age=63072000; includeSubDomains; preload<\/code> cho ch\u1ec9 request HTML;<\/li><\/ul>\n\n\n\nCase 8. Thi\u1ebft l\u1eadp trang 404 t\u00f9y ch\u1ec9nh<\/h3>\n\n\n\nB\u1ea1n v\u00e0o ph\u1ea7n Storage zone (file manager);<\/li>B\u1ea1n thi\u1ebft l\u1eadp th\u01b0 m\u1ee5c m\u1edbi v\u1edbi t\u00ean bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
bunnycdn_errors<\/code> v\u00e0 th\u00eam trang 404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
404.html<\/code> t\u00f9y ch\u1ec9nh v\u00e0o trong \u0111\u00f3. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o th\u00eam t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn ch\u00ednh th\u1ee9c t\u1eeb Bunny<\/a>;<\/li><\/ul>\n\n\n\n<\/figure><\/div>\n\n\n\nCase 9. Th\u1ef1c thi b\u1ed9 m\u00e3 UTF-8<\/strong><\/h3>\n\n\n\nTrong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n<\/figure><\/div>\n\n\n\n(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
Trong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p, BunnyCDN g\u1eedi trang HTML m\u00e0 kh\u00f4ng c\u00f3 th\u00f4ng tin b\u1ed9 m\u00e3, do v\u1eady t\u1ed1t h\u01a1n l\u00e0 ch\u00fang ta n\u00ean chuy\u1ec3n k\u00fd t\u1ef1 UTF-8 cho trang HTML \u0111\u1ec3 tr\u00e1nh tr\u01b0\u1eddng h\u1ee3p l\u1ed7i font ch\u1eef.<\/p>\n\n\n\n
(D\u1ecbch t\u1eeb b\u00e0i vi\u1ebft: Host Static WordPress at BunnyCDN With WP2Static without Losing Comment, Search, Contact Form 7, t\u00e1c gi\u1ea3: Gulshan Kumar)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\nHost website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng<\/title>\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n\t\n\n\n\n\t\n\t\n\t\n","yoast_head_json":{"title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_locale":"vi_VN","og_type":"article","og_title":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","og_description":"Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …","og_url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","og_site_name":"Ki\u1ebfn c\u00e0ng","article_author":"https:\/\/www.facebook.com\/anhducnguyen87\/","article_published_time":"2021-03-01T18:10:21+00:00","article_modified_time":"2022-02-11T10:40:56+00:00","og_image":[{"width":676,"height":272,"url":"https:\/\/kiencang.net\/wp-content\/uploads\/2021\/03\/wp2static.png","type":"image\/png"}],"author":"Nguy\u1ec5n \u0110\u1ee9c Anh","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Nguy\u1ec5n \u0110\u1ee9c Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"11 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","url":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/","name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2) • Ki\u1ebfn c\u00e0ng","isPartOf":{"@id":"https:\/\/kiencang.net\/#website"},"datePublished":"2021-03-01T18:10:21+00:00","dateModified":"2022-02-11T10:40:56+00:00","author":{"@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16"},"breadcrumb":{"@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kiencang.net\/wp-static-bunnycdn-p2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kiencang.net\/"},{"@type":"ListItem","position":2,"name":"Host website WordPress t\u0129nh t\u1ea1i BunnyCDN b\u1eb1ng WP2Static m\u00e0 kh\u00f4ng m\u1ea5t b\u00ecnh lu\u1eadn, t\u00ecm ki\u1ebfm v\u00e0 contact form 7 (Ph\u1ea7n 2)"}]},{"@type":"WebSite","@id":"https:\/\/kiencang.net\/#website","url":"https:\/\/kiencang.net\/","name":"Ki\u1ebfn c\u00e0ng","description":"\u00d4m l\u00fd thuy\u1ebft, h\u00f4n th\u1ef1c h\u00e0nh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kiencang.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/kiencang.net\/#\/schema\/person\/5e7e1a04d8d1218ad8c421ba43d25c16","name":"Nguy\u1ec5n \u0110\u1ee9c Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/kiencang.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d71f9b89393952a8382e30dad26c1ec?s=96&d=monsterid&r=g","caption":"Nguy\u1ec5n \u0110\u1ee9c Anh"},"description":"Sinh n\u0103m 1987, t\u1ed1t nghi\u1ec7p Cao \u0111\u1eb3ng th\u1ef1c h\u00e0nh FPT qu\u00e3ng 2014, chuy\u00ean ng\u00e0nh Thi\u1ebft k\u1ebf website. T\u00f4i th\u00edch Content, SEO, Ads, T\u0103ng t\u1ed1c website v\u00e0 Th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed. B\u00ean c\u1ea1nh b\u00e0i t\u1ef1 vi\u1ebft, t\u00f4i c\u0169ng d\u1ecbch nhi\u1ec1u n\u1ed9i dung th\u00fa v\u1ecb c\u1ee7a c\u00e1c t\u00e1c gi\u1ea3 kh\u00e1c nhau. FB c\u00e1 nh\u00e2n: facebook.com\/anhducnguyen87. Email li\u00ean h\u1ec7: guiemailchotoi@gmail.com","sameAs":["https:\/\/www.facebook.com\/anhducnguyen87\/"],"url":"https:\/\/kiencang.net\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295"}],"collection":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/comments?post=18295"}],"version-history":[{"count":0,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/posts\/18295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media\/19747"}],"wp:attachment":[{"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/media?parent=18295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/categories?post=18295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiencang.net\/wp-json\/wp\/v2\/tags?post=18295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
Ph\u1ea7n 1 c\u1ee7a b\u00e0i vi\u1ebft n\u00e0y \u1edf \u0111\u00e2y. 6. C\u00e0i \u0111\u1eb7t t\u1ea1i BunnyCDN BunnyCDN l\u00e0 d\u1ecbch v\u1ee5 CDN c\u00f3 latency (\u0111\u1ed9 tr\u1ec5) th\u1ea5p nh\u1ea5t tr\u00ean th\u1ebf gi\u1edbi, \u0111i\u1ec1u \u0111\u00f3 gi\u00fap cho website c\u1ee7a b\u1ea1n c\u00f3 t\u1ed1c \u0111\u1ed9 cao nh\u1ea5t c\u00f3 th\u1ec3. Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 n\u00e0y \u0111\u1ec3 c\u00e0i \u0111\u1eb7t website t\u0129nh. B\u01b0\u1edbc …<\/p>\n","protected":false},"author":1,"featured_media":19747,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"yoast_head":"\n