<br />
<b>Warning</b>:  unlink(/home/losta/withcode.tech/public_html/media/wp-content/plugins/wp-scss/cache/addstyle.css): No such file or directory in <b>/home/losta/withcode.tech/public_html/media/wp-content/plugins/wp-scss/class/class-wp-scss.php</b> on line <b>123</b><br />
{"id":12624,"date":"2026-02-24T17:36:18","date_gmt":"2026-02-24T17:36:18","guid":{"rendered":"https:\/\/withcode.tech\/media\/?p=12624"},"modified":"2026-07-06T14:37:29","modified_gmt":"2026-07-06T14:37:29","slug":"lighthouse-score-100-guide","status":"publish","type":"post","link":"https:\/\/withcode.tech\/media\/lighthouse-score-100-guide\/","title":{"rendered":"\u3010\u5b8c\u5168\u7248\u3011Lighthouse\u30b9\u30b3\u30a2100\u9054\u6210\u306e\u5177\u4f53\u7684\u624b\u6cd5\uff01\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u304b\u3089\u5b9f\u88c5\u307e\u3067\u8a73\u3057\u304f\u89e3\u8aac"},"content":{"rendered":"<div class=\"swell-block-balloon\"><div class=\"c-balloon -bln-left\" data-col=\"gray\"><div class=\"c-balloon__icon -square\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/withcode.tech\/media\/wp-content\/uploads\/2025\/06\/\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8-2025-06-15-14.48.08.jpg\" alt=\"\" class=\"c-balloon__iconImg\" width=\"80px\" height=\"80px\"><span class=\"c-balloon__iconName\">\u751f\u5f92<\/span><\/div><div class=\"c-balloon__body -speaking -border-none\"><div class=\"c-balloon__text\">\n<p><strong>Web\u30b5\u30a4\u30c8\u306eLighthouse\u30b9\u30b3\u30a2\u3092100\u70b9\u306b\u3057\u305f\u3044\u3093\u3067\u3059\u304c\u3001\u3069\u3046\u3059\u308c\u3070\u826f\u3044\u3067\u3057\u3087\u3046\u304b\uff1f<\/strong><\/p>\n<span class=\"c-balloon__shapes\"><span class=\"c-balloon__before\"><\/span><span class=\"c-balloon__after\"><\/span><\/span><\/div><\/div><\/div><\/div>\n\n<div class=\"swell-block-balloon\"><div class=\"c-balloon -bln-right\" data-col=\"gray\"><div class=\"c-balloon__icon -square\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/withcode.tech\/media\/wp-content\/uploads\/2025\/06\/\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8-2025-06-15-15.11.23.jpg\" alt=\"\" class=\"c-balloon__iconImg\" width=\"80px\" height=\"80px\"><span class=\"c-balloon__iconName\">\u30da\u30f3\u535a\u58eb<\/span><\/div><div class=\"c-balloon__body -speaking -border-none\"><div class=\"c-balloon__text\">\n<p><strong>\u3088\u30fc\u304f\u805e\u304f\u3093\u3060\u305e\uff01Lighthouse\u30b9\u30b3\u30a2100\u70b9\u306f\u7c21\u5358\u3067\u306f\u306a\u3044\u304c\u3001\u6b63\u3057\u3044\u624b\u6cd5\u3092\u5b9f\u8df5\u3059\u308c\u3070\u9054\u6210\u3067\u304d\u308b\u3093\u3058\u3083\u3002\u4eca\u65e5\u306f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u5177\u4f53\u7684\u306a\u65b9\u6cd5\u3092\u8a73\u3057\u304f\u89e3\u8aac\u3059\u308b\u305e\u3044\uff01<\/strong><\/p>\n<span class=\"c-balloon__shapes\"><span class=\"c-balloon__before\"><\/span><span class=\"c-balloon__after\"><\/span><\/span><\/div><\/div><\/div><\/div>\n\n\n<div class=\"wp-block-group swl-box\"><div class=\"wp-block-group__inner-container\">\n\n<h3 class=\"wp-block-heading\">\u3053\u306e\u8a18\u4e8b\u3067\u308f\u304b\u308b\u3053\u3068<\/h3>\n\n\n<ul class=\"wp-block-list\">\n  <li>Lighthouse\u306e5\u3064\u306e\u8a55\u4fa1\u30ab\u30c6\u30b4\u30ea\u30fc\u3068Core Web Vitals\uff08LCP\u30fbINP\u30fbCLS\uff09\u306e\u76ee\u6a19\u5024<\/li>\n  <li>\u753b\u50cf\u30fbJavaScript\u30fbCSS\u30fb\u30d5\u30a9\u30f3\u30c8\u306e\u5177\u4f53\u7684\u306a\u6700\u9069\u5316\u624b\u6cd5\u3068\u30b3\u30fc\u30c9\u4f8b<\/li>\n  <li>Core Web Vitals\uff08LCP\u30fbFID\/INP\u30fbCLS\uff09\u3092\u6539\u5584\u3059\u308b\u5b9f\u88c5\u65b9\u6cd5<\/li>\n  <li>\u30b5\u30fc\u30d0\u30fc\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6700\u9069\u5316\uff08HTTP\/2\u30fbGzip\/Brotli\u30fbCDN\u30fb\u30ad\u30e3\u30c3\u30b7\u30e5\u8a2d\u5b9a\uff09<\/li>\n  <li>SEO\u30fb\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u30b9\u30b3\u30a2100\u9054\u6210\u306e\u305f\u3081\u306eHTML\u5b9f\u88c5\u3068Lighthouse CI\u306b\u3088\u308b\u7d99\u7d9a\u76e3\u8996<\/li>\n<\/ul>\n\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Web\u30b5\u30a4\u30c8\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u4f53\u9a13\u3068SEO\u306e\u4e21\u65b9\u306b\u76f4\u63a5\u5f71\u97ff\u3092\u4e0e\u3048\u308b\u91cd\u8981\u306a\u8981\u7d20\u3067\u3059\u3002Google\u304c\u63d0\u4f9b\u3059\u308bLighthouse\u306f\u3001\u30b5\u30a4\u30c8\u306e\u54c1\u8cea\u3092\u6e2c\u5b9a\u3059\u308b\u6a19\u6e96\u7684\u306a\u30c4\u30fc\u30eb\u3068\u3057\u3066\u5e83\u304f\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u30b9\u30b3\u30a2100\u70b9\u3092\u9054\u6210\u3057\u7dad\u6301\u3059\u308b\u3053\u3068\u306f\u6c7a\u3057\u3066\u7c21\u5358\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u8a18\u4e8b\u3067\u306f\u3001<strong><span class=\"swl-marker mark_yellow\">Lighthouse\u30b9\u30b3\u30a2100\u70b9\u3092\u9054\u6210\u3059\u308b\u305f\u3081\u306e\u5177\u4f53\u7684\u306a\u624b\u6cd5\u3092\u3001\u57fa\u790e\u304b\u3089\u5b9f\u88c5\u307e\u3067<\/span><\/strong>\u3001\u5b9f\u8df5\u7684\u306a\u4f8b\u3092\u4ea4\u3048\u3066\u5fb9\u5e95\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Lighthouse\u3068\u306f\uff1f\u57fa\u672c\u6982\u5ff5\u3068\u8a55\u4fa1\u30ab\u30c6\u30b4\u30ea\u30fc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lighthouse\uff08\u30e9\u30a4\u30c8\u30cf\u30a6\u30b9\uff09\u306f\u3001<strong>Google\u304c\u958b\u767a\u3057\u305fWeb\u30b5\u30a4\u30c8\u306e\u54c1\u8cea\u3092\u6e2c\u5b9a\u3059\u308b\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e\u30c4\u30fc\u30eb<\/strong>\u3067\u3059\u3002Chrome DevTools\u306b\u7d71\u5408\u3055\u308c\u3066\u304a\u308a\u3001\u8ab0\u3067\u3082\u7121\u6599\u3067\u5229\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lighthouse\u306e5\u3064\u306e\u8a55\u4fa1\u30ab\u30c6\u30b4\u30ea\u30fc<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u30ab\u30c6\u30b4\u30ea\u30fc<\/th><th>\u8a55\u4fa1\u5185\u5bb9<\/th><th>\u91cd\u8981\u6027<\/th><\/tr><\/thead><tbody>\n<tr><td>Performance\uff08\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\uff09<\/td><td>\u8aad\u307f\u8fbc\u307f\u901f\u5ea6\u3001\u30ec\u30b9\u30dd\u30f3\u30b9\u6027<\/td><td>\u2605\u2605\u2605\u2605\u2605<\/td><\/tr>\n<tr><td>Accessibility\uff08\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\uff09<\/td><td>\u8ab0\u3067\u3082\u4f7f\u3048\u308b\u304b\u3001\u8aad\u307f\u3084\u3059\u3055<\/td><td>\u2605\u2605\u2605\u2605\u2605<\/td><\/tr>\n<tr><td>Best Practices\uff08\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff09<\/td><td>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3001\u30e2\u30c0\u30f3\u306a\u6280\u8853<\/td><td>\u2605\u2605\u2605\u2605\u2606<\/td><\/tr>\n<tr><td>SEO<\/td><td>\u691c\u7d22\u30a8\u30f3\u30b8\u30f3\u6700\u9069\u5316<\/td><td>\u2605\u2605\u2605\u2605\u2605<\/td><\/tr>\n<tr><td>PWA\uff08Progressive Web App\uff09<\/td><td>\u30a2\u30d7\u30ea\u30e9\u30a4\u30af\u306a\u4f53\u9a13<\/td><td>\u2605\u2605\u2605\u2606\u2606<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Core Web Vitals\uff08\u30b3\u30a2\u30a6\u30a7\u30d6\u30d0\u30a4\u30bf\u30eb\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lighthouse\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30b9\u30b3\u30a2\u306b\u306f\u3001Google\u304c\u5b9a\u3081\u305f<strong>Core Web Vitals<\/strong>\u304c\u5927\u304d\u304f\u5f71\u97ff\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>LCP\uff08Largest Contentful Paint\uff09<\/strong>\uff1a\u6700\u5927\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u63cf\u753b\u6642\u9593\u3002\u30da\u30fc\u30b8\u306e\u4e3b\u8981\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u8868\u793a\u3055\u308c\u308b\u307e\u3067\u306e\u6642\u9593\u3002\u76ee\u6a19\uff1a2.5\u79d2\u4ee5\u5185<\/li>\n\n\n<li><strong>FID\uff08First Input Delay\uff09\/ INP\uff08Interaction to Next Paint\uff09<\/strong>\uff1a\u521d\u56de\u5165\u529b\u9045\u5ef6\u3068\u30e6\u30fc\u30b6\u30fc\u64cd\u4f5c\u3078\u306e\u5fdc\u7b54\u901f\u5ea6\u3002\u76ee\u6a19\uff1a100\u30df\u30ea\u79d2\u4ee5\u5185\uff08FID\uff09\/ 200\u30df\u30ea\u79d2\u4ee5\u5185\uff08INP\uff09<\/li>\n\n\n<li><strong>CLS\uff08Cumulative Layout Shift\uff09<\/strong>\uff1a\u7d2f\u7a4d\u30ec\u30a4\u30a2\u30a6\u30c8\u30b7\u30d5\u30c8\u3002\u8996\u899a\u7684\u306a\u5b89\u5b9a\u6027\u3002\u76ee\u6a19\uff1a0.1\u4ee5\u4e0b<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Lighthouse\u30b9\u30b3\u30a2\u306e\u6e2c\u5b9a\u65b9\u6cd5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. Chrome DevTools\u3067\u6e2c\u5b9a<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Chrome \u3067\u6e2c\u5b9a\u3057\u305f\u3044\u30da\u30fc\u30b8\u3092\u958b\u304f<\/li>\n\n\n<li>F12\u30ad\u30fc\u3067DevTools\u3092\u958b\u304f<\/li>\n\n\n<li>\u300cLighthouse\u300d\u30bf\u30d6\u3092\u9078\u629e<\/li>\n\n\n<li>\u6e2c\u5b9a\u30ab\u30c6\u30b4\u30ea\u30fc\u3068\u30c7\u30d0\u30a4\u30b9\uff08Mobile\/Desktop\uff09\u3092\u9078\u629e<\/li>\n\n\n<li>\u300cAnalyze page load\u300d\u3092\u30af\u30ea\u30c3\u30af<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">2. PageSpeed Insights\u3067\u6e2c\u5b9a<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u30aa\u30f3\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb\uff1ahttps:\/\/pagespeed.web.dev\/<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3. Lighthouse CI\uff08\u7d99\u7d9a\u7684\u6e2c\u5b9a\uff09<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code># Lighthouse CI\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\nnpm install -g @lhci\/cli\n\n# \u6e2c\u5b9a\u306e\u5b9f\u884c\nlhci autorun --collect.url=https:\/\/example.com<\/code><\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u30b9\u30b3\u30a2100\u9054\u6210\u306e\u305f\u3081\u306e\u6539\u5584\u512a\u5148\u9806\u4f4d<\/h2>\n\n\n<div class=\"swell-block-balloon\"><div class=\"c-balloon -bln-left\" data-col=\"gray\"><div class=\"c-balloon__icon -square\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/withcode.tech\/media\/wp-content\/uploads\/2025\/06\/\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8-2025-06-15-14.48.08.jpg\" alt=\"\" class=\"c-balloon__iconImg\" width=\"80px\" height=\"80px\"><span class=\"c-balloon__iconName\">\u751f\u5f92<\/span><\/div><div class=\"c-balloon__body -speaking -border-none\"><div class=\"c-balloon__text\">\n<p><strong>\u3069\u3053\u304b\u3089\u624b\u3092\u4ed8\u3051\u308c\u3070\u826f\u3044\u3067\u3059\u304b\uff1f<\/strong><\/p>\n<span class=\"c-balloon__shapes\"><span class=\"c-balloon__before\"><\/span><span class=\"c-balloon__after\"><\/span><\/span><\/div><\/div><\/div><\/div>\n\n<div class=\"swell-block-balloon\"><div class=\"c-balloon -bln-right\" data-col=\"gray\"><div class=\"c-balloon__icon -square\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/withcode.tech\/media\/wp-content\/uploads\/2025\/06\/\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8-2025-06-15-15.11.23.jpg\" alt=\"\" class=\"c-balloon__iconImg\" width=\"80px\" height=\"80px\"><span class=\"c-balloon__iconName\">\u30da\u30f3\u535a\u58eb<\/span><\/div><div class=\"c-balloon__body -speaking -border-none\"><div class=\"c-balloon__text\">\n<p><strong>\u307e\u305a\u306f\u73fe\u72b6\u3092\u6e2c\u5b9a\u3057\u3001\u30b9\u30b3\u30a2\u304c\u4f4e\u3044\u30ab\u30c6\u30b4\u30ea\u30fc\u304b\u3089\u512a\u5148\u7684\u306b\u6539\u5584\u3057\u3066\u3044\u304f\u3093\u3058\u3083\u3002\u7279\u306b\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306f\u6700\u3082\u96e3\u3057\u304f\u3001\u6700\u3082\u91cd\u8981\u3058\u3083\u305e<\/strong><\/p>\n<span class=\"c-balloon__shapes\"><span class=\"c-balloon__before\"><\/span><span class=\"c-balloon__after\"><\/span><\/span><\/div><\/div><\/div><\/div>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Performance\uff08\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\uff09<\/strong> &#8211; \u6700\u3082\u96e3\u3057\u3044\u304c\u6700\u3082\u91cd\u8981<\/li>\n\n\n<li><strong>SEO<\/strong> &#8211; \u6bd4\u8f03\u7684\u6539\u5584\u3057\u3084\u3059\u3044<\/li>\n\n\n<li><strong>Accessibility\uff08\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\uff09<\/strong> &#8211; HTML\u69cb\u9020\u3067\u5bfe\u5fdc\u53ef\u80fd<\/li>\n\n\n<li><strong>Best Practices\uff08\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\uff09<\/strong> &#8211; \u6280\u8853\u7684\u306a\u8a2d\u5b9a<\/li>\n\n\n<li><strong>PWA<\/strong> &#8211; \u5fc5\u8981\u306b\u5fdc\u3058\u3066\u5bfe\u5fdc<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u5177\u4f53\u7684\u624b\u6cd5<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. \u753b\u50cf\u6700\u9069\u5316<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u753b\u50cf\u306f\u6700\u3082\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u304c\u5927\u304d\u304f\u3001\u6700\u9069\u5316\u306e\u52b9\u679c\u304c\u9ad8\u3044\u8981\u7d20\u3067\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u6b21\u4e16\u4ee3\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\uff08WebP\/AVIF\uff09\u3078\u306e\u5909\u63db<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">WebP\u306fJPEG\/PNG\u3088\u308a25\u301c35%\u5c0f\u3055\u304f\u3001AVIF\u306f\u3055\u3089\u306b\u9ad8\u5727\u7e2e\u7387\u3092\u5b9f\u73fe\u3057\u307e\u3059\u3002<\/p>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-markup\" data-lang=\"HTML\"><code>&lt;!-- picture\u30bf\u30b0\u3067\u8907\u6570\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3092\u63d0\u4f9b --&gt;\n&lt;picture&gt;\n  &lt;source srcset=\"image.avif\" type=\"image\/avif\"&gt;\n  &lt;source srcset=\"image.webp\" type=\"image\/webp\"&gt;\n  &lt;img src=\"image.jpg\" alt=\"\u8aac\u660e\u6587\" loading=\"lazy\" decoding=\"async\"&gt;\n&lt;\/picture&gt;<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u30ec\u30b9\u30dd\u30f3\u30b7\u30d6\u753b\u50cf\u306e\u5b9f\u88c5<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-none\" data-lang=\"Code\"><code>&lt;img\n  src=\"image-800.jpg\"\n  srcset=\"\n    image-400.jpg 400w,\n    image-800.jpg 800w,\n    image-1200.jpg 1200w,\n    image-1600.jpg 1600w\n  \"\n  sizes=\"\n    (max-width: 600px) 400px,\n    (max-width: 1200px) 800px,\n    1200px\n  \"\n  alt=\"\u8aac\u660e\u6587\"\n  loading=\"lazy\"\n  decoding=\"async\"\n  width=\"800\"\n  height=\"600\"\n\/&gt;<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u9045\u5ef6\u8aad\u307f\u8fbc\u307f\uff08Lazy Loading\uff09<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-markup\" data-lang=\"HTML\"><code>&lt;!-- \u30cd\u30a4\u30c6\u30a3\u30d6Lazy Loading --&gt;\n&lt;img src=\"image.jpg\" alt=\"\u8aac\u660e\u6587\" loading=\"lazy\" decoding=\"async\"&gt;\n\n&lt;!-- iframe\u306b\u3082\u9069\u7528\u53ef\u80fd --&gt;\n&lt;iframe src=\"https:\/\/example.com\" loading=\"lazy\"&gt;&lt;\/iframe&gt;<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u753b\u50cf\u30b5\u30a4\u30ba\u306e\u6307\u5b9a\uff08CLS\u5bfe\u7b56\uff09<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-markup\" data-lang=\"HTML\"><code>&lt;!-- width\u3068height\u3092\u5fc5\u305a\u6307\u5b9a --&gt;\n&lt;img\n  src=\"image.jpg\"\n  alt=\"\u8aac\u660e\u6587\"\n  width=\"800\"\n  height=\"600\"\n  loading=\"lazy\"\n\/&gt;\n\n&lt;!-- CSS\u3067\u30a2\u30b9\u30da\u30af\u30c8\u6bd4\u3092\u7dad\u6301 --&gt;\n&lt;style&gt;\n  img {\n    max-width: 100%;\n    height: auto;\n  }\n&lt;\/style&gt;<\/code><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">2. JavaScript\u6700\u9069\u5316<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u672a\u4f7f\u7528JavaScript\u306e\u524a\u9664<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-javascript\" data-lang=\"JavaScript\"><code>\/\/ \u274c \u60aa\u3044\u4f8b\uff1a\u5168\u3066\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\nimport _ from 'lodash';\n\n\/\/ \u2705 \u826f\u3044\u4f8b\uff1a\u5fc5\u8981\u306a\u95a2\u6570\u306e\u307f\u30a4\u30f3\u30dd\u30fc\u30c8\nimport debounce from 'lodash\/debounce';\n\n\/\/ \u307e\u305f\u306f\u3001Tree Shaking\u304c\u6709\u52b9\u306a\u66f8\u304d\u65b9\nimport { debounce } from 'lodash-es';<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u30b3\u30fc\u30c9\u5206\u5272\uff08Code Splitting\uff09<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-markup\" data-lang=\"HTML\"><code>\/\/ Next.js\u3067\u306e\u52d5\u7684\u30a4\u30f3\u30dd\u30fc\u30c8\nimport dynamic from 'next\/dynamic';\n\n\/\/ \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u52d5\u7684\u306b\u8aad\u307f\u8fbc\u3080\nconst DynamicComponent = dynamic(() =&gt; import('.\/HeavyComponent'), {\n  loading: () =&gt; &lt;p&gt;\u8aad\u307f\u8fbc\u307f\u4e2d...&lt;\/p&gt;,\n  ssr: false \/\/ \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5074\u3067\u306e\u307f\u8aad\u307f\u8fbc\u3080\n});\n\n\/\/ React\u6a19\u6e96\u306e\u52d5\u7684\u30a4\u30f3\u30dd\u30fc\u30c8\nconst LazyComponent = React.lazy(() =&gt; import('.\/LazyComponent'));\n\nfunction App() {\n  return (\n    &lt;Suspense fallback={&lt;div&gt;Loading...&lt;\/div&gt;}&gt;\n      &lt;LazyComponent \/&gt;\n    &lt;\/Suspense&gt;\n  );\n}<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u6700\u9069\u306a\u8aad\u307f\u8fbc\u307f<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-none\" data-lang=\"Code\"><code>&lt;!-- defer: DOM\u304c\u5b8c\u5168\u306b\u30d1\u30fc\u30b9\u3055\u308c\u305f\u5f8c\u306b\u5b9f\u884c --&gt;\n&lt;script src=\"script.js\" defer&gt;&lt;\/script&gt;\n\n&lt;!-- async: \u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5b8c\u4e86\u6b21\u7b2c\u5b9f\u884c\uff08\u9806\u5e8f\u4fdd\u8a3c\u306a\u3057\uff09 --&gt;\n&lt;script src=\"analytics.js\" async&gt;&lt;\/script&gt;\n\n&lt;!-- type=\"module\": ES Modules\u3068\u3057\u3066\u8aad\u307f\u8fbc\u307f\uff08\u81ea\u52d5\u3067defer\uff09 --&gt;\n&lt;script type=\"module\" src=\"app.js\"&gt;&lt;\/script&gt;<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u91cd\u8981\u306aJavaScript\u306e\u30a4\u30f3\u30e9\u30a4\u30f3\u5316<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-javascript\" data-lang=\"JavaScript\"><code>&lt;!-- \u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u306a\u30b9\u30af\u30ea\u30d7\u30c8\u306f\u30a4\u30f3\u30e9\u30a4\u30f3\u5316 --&gt;\n&lt;script&gt;\n  \/\/ \u30c0\u30fc\u30af\u30e2\u30fc\u30c9\u5207\u308a\u66ff\u3048\u306a\u3069\u3001\u5373\u5ea7\u306b\u5b9f\u884c\u3057\u305f\u3044\u30b3\u30fc\u30c9\n  (function() {\n    const theme = localStorage.getItem('theme');\n    if (theme === 'dark') {\n      document.documentElement.classList.add('dark');\n    }\n  })();\n&lt;\/script&gt;<\/code><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">3. CSS\u6700\u9069\u5316<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u672a\u4f7f\u7528CSS\u306e\u524a\u9664<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>\/\/ PurgeCSS\u306e\u8a2d\u5b9a\uff08Tailwind CSS\u4f7f\u7528\u6642\uff09\n\/\/ tailwind.config.js\nmodule.exports = {\n  content: [\n    '.\/pages\/**\/*.{js,ts,jsx,tsx}',\n    '.\/components\/**\/*.{js,ts,jsx,tsx}',\n  ],\n  \/\/ \u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u30af\u30e9\u30b9\u306e\u307f\u30d3\u30eb\u30c9\u306b\u542b\u307e\u308c\u308b\n}<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u30af\u30ea\u30c6\u30a3\u30ab\u30ebCSS\u306e\u30a4\u30f3\u30e9\u30a4\u30f3\u5316<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>&lt;!-- \u30d5\u30a1\u30fc\u30b9\u30c8\u30d3\u30e5\u30fc\u306b\u5fc5\u8981\u306aCSS\u3092\u30a4\u30f3\u30e9\u30a4\u30f3\u5316 --&gt;\n&lt;style&gt;\n  \/* \u30af\u30ea\u30c6\u30a3\u30ab\u30ebCSS\uff08Above the Fold\uff09 *\/\n  body {\n    margin: 0;\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n  }\n\n  .header {\n    background: #fff;\n    padding: 1rem;\n    box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n  }\n&lt;\/style&gt;\n\n&lt;!-- \u6b8b\u308a\u306eCSS\u306f\u975e\u540c\u671f\u3067\u8aad\u307f\u8fbc\u3080 --&gt;\n&lt;link rel=\"preload\" href=\"styles.css\" as=\"style\" onload=\"this.onload=null;this.rel='stylesheet'\"&gt;\n&lt;noscript&gt;&lt;link rel=\"stylesheet\" href=\"styles.css\"&gt;&lt;\/noscript&gt;<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">CSS Minification\uff08\u5727\u7e2e\uff09<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-none\" data-lang=\"Code\"><code>\/\/ Next.js\u306f\u81ea\u52d5\u3067\u5727\u7e2e\u3055\u308c\u308b\u304c\u3001\u624b\u52d5\u306e\u5834\u5408\uff1a\n\/\/ package.json\n{\n  \"scripts\": {\n    \"build:css\": \"postcss src\/styles.css -o dist\/styles.min.css\"\n  },\n  \"devDependencies\": {\n    \"postcss\": \"^8.4.0\",\n    \"postcss-cli\": \"^10.0.0\",\n    \"cssnano\": \"^6.0.0\"\n  }\n}<\/code><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">4. \u30d5\u30a9\u30f3\u30c8\u6700\u9069\u5316<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u30d5\u30a9\u30f3\u30c8\u306e\u6700\u9069\u306a\u8aad\u307f\u8fbc\u307f<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>&lt;!-- Google Fonts\u306e\u6700\u9069\u306a\u8aad\u307f\u8fbc\u307f --&gt;\n&lt;link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"&gt;\n&lt;link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin&gt;\n&lt;link\n  href=\"https:\/\/fonts.googleapis.com\/css2?family=Noto+Sans+JP:wght@400;700&amp;display=swap\"\n  rel=\"stylesheet\"\n&gt;\n\n&lt;style&gt;\n  \/* \u30d5\u30a9\u30f3\u30c8\u8aad\u307f\u8fbc\u307f\u4e2d\u306e\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af *\/\n  body {\n    font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, sans-serif;\n  }\n&lt;\/style&gt;<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">Next.js Font Optimization\u306e\u6d3b\u7528<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-markup\" data-lang=\"HTML\"><code>\/\/ app\/layout.tsx\nimport { Noto_Sans_JP } from 'next\/font\/google';\n\nconst notoSansJP = Noto_Sans_JP({\n  weight: ['400', '700'],\n  subsets: ['latin'],\n  display: 'swap',\n  preload: true,\n});\n\nexport default function RootLayout({ children }) {\n  return (\n    &lt;html lang=\"ja\" className={notoSansJP.className}&gt;\n      &lt;body&gt;{children}&lt;\/body&gt;\n    &lt;\/html&gt;\n  );\n}<\/code><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">5. \u30b5\u30fc\u30d0\u30fc\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6700\u9069\u5316<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP\/2\u306e\u6709\u52b9\u5316<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">HTTP\/2\u306f\u8907\u6570\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u4e26\u5217\u51e6\u7406\u3067\u304d\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u5927\u5e45\u306b\u5411\u4e0a\u3057\u307e\u3059\u3002<\/p>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-none\" data-lang=\"Code\"><code># Nginx\u306e\u8a2d\u5b9a\u4f8b\nserver {\n    listen 443 ssl http2;\n    server_name example.com;\n\n    ssl_certificate \/path\/to\/cert.pem;\n    ssl_certificate_key \/path\/to\/key.pem;\n\n    # \u305d\u306e\u4ed6\u306e\u8a2d\u5b9a...\n}<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">Gzip\/Brotli\u5727\u7e2e<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-none\" data-lang=\"Code\"><code># Nginx\u306e\u8a2d\u5b9a\u4f8b\ngzip on;\ngzip_vary on;\ngzip_min_length 1024;\ngzip_types\n  text\/plain\n  text\/css\n  text\/xml\n  text\/javascript\n  application\/javascript\n  application\/json\n  application\/xml+rss\n  image\/svg+xml;\n\n# Brotli\u5727\u7e2e\uff08\u3088\u308a\u9ad8\u5727\u7e2e\u7387\uff09\nbrotli on;\nbrotli_types\n  text\/plain\n  text\/css\n  text\/xml\n  text\/javascript\n  application\/javascript\n  application\/json;<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u8a2d\u5b9a<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code># Nginx\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u8a2d\u5b9a\nlocation ~* \\.(jpg|jpeg|png|gif|ico|css|js|woff|woff2)$ {\n    expires 1y;\n    add_header Cache-Control \"public, immutable\";\n}\n\n# HTML\u306f\u77ed\u3081\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\nlocation ~* \\.html$ {\n    expires 1h;\n    add_header Cache-Control \"public, must-revalidate\";\n}<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">CDN\u306e\u6d3b\u7528<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u9759\u7684\u30d5\u30a1\u30a4\u30eb\u3092CDN\u304b\u3089\u914d\u4fe1\u3059\u308b\u3053\u3068\u3067\u3001\u4e16\u754c\u4e2d\u3069\u3053\u304b\u3089\u3067\u3082\u9ad8\u901f\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cloudflare<\/strong>\uff1a\u7121\u6599\u30d7\u30e9\u30f3\u3042\u308a\u3001\u7c21\u5358\u306b\u5c0e\u5165\u53ef\u80fd<\/li>\n\n\n<li><strong>AWS CloudFront<\/strong>\uff1aAWS\u3068\u306e\u7d71\u5408\u304c\u5bb9\u6613<\/li>\n\n\n<li><strong>Vercel\/Netlify<\/strong>\uff1aNext.js\u7b49\u306e\u30c7\u30d7\u30ed\u30a4\u6642\u306b\u81ea\u52d5\u3067CDN\u914d\u4fe1<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Core Web Vitals\u6700\u9069\u5316<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">LCP\uff08Largest Contentful Paint\uff09\u306e\u6539\u5584<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">LCP\u306f\u6700\u5927\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u63cf\u753b\u6642\u9593\u3067\u30012.5\u79d2\u4ee5\u5185\u304c\u76ee\u6a19\u3067\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>LCP\u8981\u7d20\u306e\u7279\u5b9a<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-javascript\" data-lang=\"JavaScript\"><code>\/\/ LCP\u8981\u7d20\u3092\u7279\u5b9a\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\nnew PerformanceObserver((list) =&gt; {\n  const entries = list.getEntries();\n  const lastEntry = entries[entries.length - 1];\n  console.log('LCP element:', lastEntry.element);\n  console.log('LCP time:', lastEntry.startTime);\n}).observe({ entryTypes: ['largest-contentful-paint'] });<\/code><\/pre><\/div>\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u91cd\u8981\u306a\u30ea\u30bd\u30fc\u30b9\u306e\u30d7\u30ea\u30ed\u30fc\u30c9<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-none\" data-lang=\"Code\"><code>&lt;!-- \u30d2\u30fc\u30ed\u30fc\u753b\u50cf\u3092\u30d7\u30ea\u30ed\u30fc\u30c9 --&gt;\n&lt;link rel=\"preload\" as=\"image\" href=\"hero.jpg\" fetchpriority=\"high\"&gt;\n\n&lt;!-- \u91cd\u8981\u306a\u30d5\u30a9\u30f3\u30c8\u3092\u30d7\u30ea\u30ed\u30fc\u30c9 --&gt;\n&lt;link rel=\"preload\" as=\"font\" href=\"font.woff2\" type=\"font\/woff2\" crossorigin&gt;<\/code><\/pre><\/div>\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u30b5\u30fc\u30d0\u30fc\u5fdc\u7b54\u6642\u9593\u306e\u77ed\u7e2e\uff08TTFB\uff09<\/strong>\uff1aCDN\u3092\u4f7f\u7528\u30fb\u30b5\u30fc\u30d0\u30fc\u30b5\u30a4\u30c9\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u5b9f\u88c5\u30fb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30af\u30a8\u30ea\u3092\u6700\u9069\u5316<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">FID\/INP\uff08First Input Delay \/ Interaction to Next Paint\uff09\u306e\u6539\u5584<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30e1\u30a4\u30f3\u30b9\u30ec\u30c3\u30c9\u306e\u30d6\u30ed\u30c3\u30ad\u30f3\u30b0\u3092\u524a\u6e1b<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-javascript\" data-lang=\"JavaScript\"><code>\/\/ \u274c \u60aa\u3044\u4f8b\uff1a\u91cd\u3044\u51e6\u7406\u3092\u30e1\u30a4\u30f3\u30b9\u30ec\u30c3\u30c9\u3067\u5b9f\u884c\nfunction heavyCalculation() {\n  for (let i = 0; i &lt; 1000000; i++) {\n    \/\/ \u91cd\u3044\u51e6\u7406\n  }\n}\n\n\/\/ \u2705 \u826f\u3044\u4f8b\uff1aWeb Worker\u3067\u5b9f\u884c\n\/\/ worker.js\nself.addEventListener('message', (e) =&gt; {\n  const result = heavyCalculation(e.data);\n  self.postMessage(result);\n});\n\n\/\/ main.js\nconst worker = new Worker('worker.js');\nworker.postMessage(data);\nworker.addEventListener('message', (e) =&gt; {\n  console.log('Result:', e.data);\n});<\/code><\/pre><\/div>\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u9577\u3044\u30bf\u30b9\u30af\u306e\u5206\u5272<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-javascript\" data-lang=\"JavaScript\"><code>\/\/ \u30bf\u30b9\u30af\u3092\u7d30\u304b\u304f\u5206\u5272\u3057\u3066\u30d6\u30e9\u30a6\u30b6\u306b\u5236\u5fa1\u3092\u8fd4\u3059\nasync function processLargeArray(array) {\n  const chunkSize = 100;\n\n  for (let i = 0; i &lt; array.length; i += chunkSize) {\n    const chunk = array.slice(i, i + chunkSize);\n\n    \/\/ \u30c1\u30e3\u30f3\u30af\u3092\u51e6\u7406\n    await processChunk(chunk);\n\n    \/\/ \u30d6\u30e9\u30a6\u30b6\u306b\u5236\u5fa1\u3092\u8fd4\u3059\n    await new Promise(resolve =&gt; setTimeout(resolve, 0));\n  }\n}<\/code><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">CLS\uff08Cumulative Layout Shift\uff09\u306e\u6539\u5584<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><span class=\"swl-marker mark_yellow\">CLS\u306f\u8996\u899a\u7684\u306a\u5b89\u5b9a\u6027\u3092\u6e2c\u308b\u6307\u6a19\u3067\u30010.1\u4ee5\u4e0b\u304c\u76ee\u6a19\u3067\u3059<\/span><\/strong>\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u753b\u50cf\u30fb\u52d5\u753b\u306e\u30b5\u30a4\u30ba\u6307\u5b9a<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-markup\" data-lang=\"HTML\"><code>&lt;!-- \u5fc5\u305awidth\/height\u3092\u6307\u5b9a --&gt;\n&lt;img src=\"image.jpg\" width=\"800\" height=\"600\" alt=\"\u8aac\u660e\"&gt;\n\n&lt;!-- aspect-ratio\u3092\u4f7f\u7528 --&gt;\n&lt;style&gt;\n  .image-container {\n    aspect-ratio: 16 \/ 9;\n  }\n&lt;\/style&gt;<\/code><\/pre><\/div>\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u5e83\u544a\u30fbiframe\u7528\u306e\u30b9\u30da\u30fc\u30b9\u78ba\u4fdd<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-markup\" data-lang=\"HTML\"><code>&lt;!-- \u5e83\u544a\u7528\u306e\u30d7\u30ec\u30fc\u30b9\u30db\u30eb\u30c0\u30fc --&gt;\n&lt;div style=\"min-height: 250px;\"&gt;\n  &lt;!-- \u5e83\u544a\u30b9\u30af\u30ea\u30d7\u30c8 --&gt;\n&lt;\/div&gt;<\/code><\/pre><\/div>\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u30d5\u30a9\u30f3\u30c8\u8aad\u307f\u8fbc\u307f\u306e\u6700\u9069\u5316<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-css\" data-lang=\"CSS\"><code>@font-face {\n  font-family: 'CustomFont';\n  src: url('font.woff2') format('woff2');\n  \/* \u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u30d5\u30a9\u30f3\u30c8\u3068\u306e\u30b5\u30a4\u30ba\u5dee\u3092\u8abf\u6574 *\/\n  font-display: swap;\n  size-adjust: 100%;\n}<\/code><\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">SEO\u30fb\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u30fb\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">SEO\u30b9\u30b3\u30a2100\u9054\u6210<\/h3>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-markup\" data-lang=\"HTML\"><code>&lt;!DOCTYPE html&gt;\n&lt;html lang=\"ja\"&gt;\n&lt;head&gt;\n  &lt;meta charset=\"UTF-8\"&gt;\n  &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n\n  &lt;!-- \u30bf\u30a4\u30c8\u30eb\uff0860\u6587\u5b57\u4ee5\u5185\uff09 --&gt;\n  &lt;title&gt;\u30da\u30fc\u30b8\u30bf\u30a4\u30c8\u30eb | \u30b5\u30a4\u30c8\u540d&lt;\/title&gt;\n\n  &lt;!-- \u30e1\u30bf\u30c7\u30a3\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\uff08160\u6587\u5b57\u4ee5\u5185\uff09 --&gt;\n  &lt;meta name=\"description\" content=\"\u30da\u30fc\u30b8\u306e\u8aac\u660e\u6587\"&gt;\n\n  &lt;!-- OGP --&gt;\n  &lt;meta property=\"og:title\" content=\"\u30da\u30fc\u30b8\u30bf\u30a4\u30c8\u30eb\"&gt;\n  &lt;meta property=\"og:description\" content=\"\u30da\u30fc\u30b8\u306e\u8aac\u660e\u6587\"&gt;\n  &lt;meta property=\"og:image\" content=\"https:\/\/example.com\/ogp.jpg\"&gt;\n  &lt;meta property=\"og:url\" content=\"https:\/\/example.com\/page\"&gt;\n\n  &lt;!-- Twitter Card --&gt;\n  &lt;meta name=\"twitter:card\" content=\"summary_large_image\"&gt;\n\n  &lt;!-- Canonical URL --&gt;\n  &lt;link rel=\"canonical\" href=\"https:\/\/example.com\/page\"&gt;\n\n  &lt;!-- robots --&gt;\n  &lt;meta name=\"robots\" content=\"index, follow\"&gt;\n&lt;\/head&gt;<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u69cb\u9020\u5316\u30c7\u30fc\u30bf\uff08JSON-LD\uff09<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-none\" data-lang=\"Code\"><code>&lt;script type=\"application\/ld+json\"&gt;\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Article\",\n  \"headline\": \"\u8a18\u4e8b\u306e\u30bf\u30a4\u30c8\u30eb\",\n  \"author\": {\n    \"@type\": \"Person\",\n    \"name\": \"\u8457\u8005\u540d\"\n  },\n  \"datePublished\": \"2026-02-25\",\n  \"image\": \"https:\/\/example.com\/article-image.jpg\"\n}\n&lt;\/script&gt;<\/code><\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u30b9\u30b3\u30a2100\u9054\u6210<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u30bb\u30de\u30f3\u30c6\u30a3\u30c3\u30afHTML<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-markup\" data-lang=\"HTML\"><code>&lt;!-- \u2705 \u826f\u3044\u4f8b\uff1a\u30bb\u30de\u30f3\u30c6\u30a3\u30c3\u30af\u306a\u69cb\u9020 --&gt;\n&lt;header&gt;\n  &lt;nav aria-label=\"\u30e1\u30a4\u30f3\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\"&gt;\n    &lt;ul&gt;\n      &lt;li&gt;&lt;a href=\"\/\"&gt;\u30db\u30fc\u30e0&lt;\/a&gt;&lt;\/li&gt;\n      &lt;li&gt;&lt;a href=\"\/about\"&gt;\u6982\u8981&lt;\/a&gt;&lt;\/li&gt;\n    &lt;\/ul&gt;\n  &lt;\/nav&gt;\n&lt;\/header&gt;\n\n&lt;main&gt;\n  &lt;article&gt;\n    &lt;h1&gt;\u8a18\u4e8b\u30bf\u30a4\u30c8\u30eb&lt;\/h1&gt;\n    &lt;p&gt;\u672c\u6587...&lt;\/p&gt;\n  &lt;\/article&gt;\n&lt;\/main&gt;\n\n&lt;footer&gt;\n  &lt;p&gt;\u00a9 2026 \u30b5\u30a4\u30c8\u540d&lt;\/p&gt;\n&lt;\/footer&gt;<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">ARIA\u5c5e\u6027\u306e\u9069\u5207\u306a\u4f7f\u7528<\/h4>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-markup\" data-lang=\"HTML\"><code>&lt;!-- \u30dc\u30bf\u30f3 --&gt;\n&lt;button aria-label=\"\u30e1\u30cb\u30e5\u30fc\u3092\u958b\u304f\"&gt;\n  &lt;svg&gt;...&lt;\/svg&gt;\n&lt;\/button&gt;\n\n&lt;!-- \u30d5\u30a9\u30fc\u30e0 --&gt;\n&lt;form&gt;\n  &lt;label for=\"email\"&gt;\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9&lt;\/label&gt;\n  &lt;input\n    type=\"email\"\n    id=\"email\"\n    name=\"email\"\n    aria-required=\"true\"\n    aria-describedby=\"email-help\"\n  &gt;\n  &lt;span id=\"email-help\"&gt;example@domain.com\u306e\u5f62\u5f0f\u3067\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044&lt;\/span&gt;\n&lt;\/form&gt;\n\n&lt;!-- \u30ea\u30f3\u30af --&gt;\n&lt;a href=\"\/article\" aria-label=\"\u8a18\u4e8b\u30bf\u30a4\u30c8\u30eb - \u7d9a\u304d\u3092\u8aad\u3080\"&gt;\n  \u7d9a\u304d\u3092\u8aad\u3080\n&lt;\/a&gt;<\/code><\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">\u8272\u306e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">WCAG AA\u57fa\u6e96\uff1a\u901a\u5e38\u30c6\u30ad\u30b9\u30c8\u306f4.5:1\u4ee5\u4e0a\u3001\u5927\u304d\u3044\u30c6\u30ad\u30b9\u30c8\uff0818pt\u4ee5\u4e0a\uff09\u306f3:1\u4ee5\u4e0a\u306e\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u7d99\u7d9a\u7684\u306a\u76e3\u8996\u3068\u6539\u5584\uff5cLighthouse CI\u306e\u5c0e\u5165<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lighthouse\u30b9\u30b3\u30a2100\u70b9\u306f\u9054\u6210\u3057\u3066\u7d42\u308f\u308a\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30b3\u30fc\u30c9\u306e\u5909\u66f4\u3084\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u8ffd\u52a0\u3067\u30b9\u30b3\u30a2\u306f\u5909\u52d5\u3059\u308b\u305f\u3081\u3001\u7d99\u7d9a\u7684\u306a\u76e3\u8996\u304c\u91cd\u8981\u3067\u3059\u3002<\/p>\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-yaml\" data-lang=\"YAML\"><code># GitHub Actions\u306e\u8a2d\u5b9a\u4f8b\n# .github\/workflows\/lighthouse.yml\nname: Lighthouse CI\n\non:\n  push:\n    branches:\n      - main\n  pull_request:\n\njobs:\n  lighthouse:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v4\n\n      - name: Setup Node.js\n        uses: actions\/setup-node@v4\n        with:\n          node-version: '20'\n\n      - name: Install dependencies\n        run: npm ci\n\n      - name: Build\n        run: npm run build\n\n      - name: Run Lighthouse CI\n        run: |\n          npm install -g @lhci\/cli\n          lhci autorun\n\n# lighthouserc.json\n{\n  \"ci\": {\n    \"collect\": {\n      \"staticDistDir\": \".\/dist\",\n      \"url\": [\n        \"http:\/\/localhost\/index.html\",\n        \"http:\/\/localhost\/about.html\"\n      ]\n    },\n    \"assert\": {\n      \"preset\": \"lighthouse:recommended\",\n      \"assertions\": {\n        \"categories:performance\": [\"error\", {\"minScore\": 0.9}],\n        \"categories:accessibility\": [\"error\", {\"minScore\": 0.9}],\n        \"categories:best-practices\": [\"error\", {\"minScore\": 0.9}],\n        \"categories:seo\": [\"error\", {\"minScore\": 0.9}]\n      }\n    }\n  }\n}<\/code><\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"swell-block-balloon\"><div class=\"c-balloon -bln-left\" data-col=\"gray\"><div class=\"c-balloon__icon -square\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/withcode.tech\/media\/wp-content\/uploads\/2025\/06\/\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8-2025-06-15-15.06.05.jpg\" alt=\"\" class=\"c-balloon__iconImg\" width=\"80px\" height=\"80px\"><span class=\"c-balloon__iconName\">\u751f\u5f92<\/span><\/div><div class=\"c-balloon__body -speaking -border-none\"><div class=\"c-balloon__text\">\n<p><strong>Lighthouse\u30b9\u30b3\u30a2100\u70b9\u3001\u9054\u6210\u3067\u304d\u305d\u3046\u306a\u6c17\u304c\u3057\u3066\u304d\u307e\u3057\u305f\uff01<\/strong><\/p>\n<span class=\"c-balloon__shapes\"><span class=\"c-balloon__before\"><\/span><span class=\"c-balloon__after\"><\/span><\/span><\/div><\/div><\/div><\/div>\n\n<div class=\"swell-block-balloon\"><div class=\"c-balloon -bln-right\" data-col=\"gray\"><div class=\"c-balloon__icon -square\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/withcode.tech\/media\/wp-content\/uploads\/2025\/06\/\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8-2025-06-15-15.12.07.jpg\" alt=\"\" class=\"c-balloon__iconImg\" width=\"80px\" height=\"80px\"><span class=\"c-balloon__iconName\">\u30da\u30f3\u535a\u58eb<\/span><\/div><div class=\"c-balloon__body -speaking -border-none\"><div class=\"c-balloon__text\">\n<p><strong>\u305d\u306e\u610f\u6c17\u3058\u3083\uff01\u305f\u3060\u3057\u3001\u30b9\u30b3\u30a2100\u70b9\u306f\u300c\u4eca\u65e5\u9054\u6210\u3057\u3066\u3082\u660e\u65e5\u304c\u540c\u3058\u3068\u306f\u9650\u3089\u306a\u3044\u300d\u3053\u3068\u3092\u5fd8\u308c\u305a\u306b\u3002\u7d99\u7d9a\u7684\u306a\u76e3\u8996\u3068\u6539\u5584\u304c\u4f55\u3088\u308a\u5927\u5207\u306a\u3093\u3058\u3083\u305e\uff01<\/strong><\/p>\n<span class=\"c-balloon__shapes\"><span class=\"c-balloon__before\"><\/span><span class=\"c-balloon__after\"><\/span><\/span><\/div><\/div><\/div><\/div>\n\n<div class=\"swell-block-balloon\"><div class=\"c-balloon -bln-left\" data-col=\"gray\"><div class=\"c-balloon__icon -square\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/withcode.tech\/media\/wp-content\/uploads\/2025\/06\/\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8-2025-06-15-14.48.08.jpg\" alt=\"\" class=\"c-balloon__iconImg\" width=\"80px\" height=\"80px\"><span class=\"c-balloon__iconName\">\u751f\u5f92<\/span><\/div><div class=\"c-balloon__body -speaking -border-none\"><div class=\"c-balloon__text\">\n<p><strong>\u308f\u304b\u308a\u307e\u3057\u305f\uff01\u307e\u305a\u306f\u753b\u50cf\u6700\u9069\u5316\u304b\u3089\u59cb\u3081\u3066\u307f\u307e\u3059\uff01<\/strong><\/p>\n<span class=\"c-balloon__shapes\"><span class=\"c-balloon__before\"><\/span><span class=\"c-balloon__after\"><\/span><\/span><\/div><\/div><\/div><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u3088\u304f\u3042\u308b\u8cea\u554f<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Q1. Lighthouse\u30b9\u30b3\u30a2100\u70b9\u3092\u76ee\u6307\u3059\u3046\u3048\u3067\u3001\u6700\u521d\u306b\u3084\u308b\u3079\u304d\u3053\u3068\u306f\u4f55\u3067\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A.<\/strong> \u307e\u305a\u73fe\u72b6\u306e\u30b9\u30b3\u30a2\u3092Chrome DevTools\u307e\u305f\u306fPageSpeed Insights\u3067\u6e2c\u5b9a\u3057\u3001\u6700\u3082\u4f4e\u3044\u30ab\u30c6\u30b4\u30ea\u30fc\u3092\u7279\u5b9a\u3059\u308b\u3053\u3068\u304b\u3089\u59cb\u3081\u3066\u304f\u3060\u3055\u3044\u3002\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u4f4e\u3044\u5834\u5408\u306f\u753b\u50cf\u6700\u9069\u5316\uff08WebP\u5909\u63db\u30fb\u9045\u5ef6\u8aad\u307f\u8fbc\u307f\u30fb\u30b5\u30a4\u30ba\u6307\u5b9a\uff09\u304c\u6700\u3082\u30b3\u30b9\u30c8\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u9ad8\u3044\u6539\u5584\u7b56\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Q2. \u30e2\u30d0\u30a4\u30eb\u3068\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u3067\u30b9\u30b3\u30a2\u304c\u5927\u304d\u304f\u9055\u3046\u306e\u306f\u306a\u305c\u3067\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A.<\/strong> Lighthouse\u306e\u30e2\u30d0\u30a4\u30eb\u30b9\u30b3\u30a2\u306fCPU\u30924\u500d\u30fb\u901a\u4fe1\u901f\u5ea6\u3092\u9045\u304f\u30b7\u30df\u30e5\u30ec\u30fc\u30c8\u3057\u3066\u8a08\u6e2c\u3059\u308b\u305f\u3081\u3001\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u3088\u308a\u53b3\u3057\u3044\u6761\u4ef6\u306b\u306a\u308a\u307e\u3059\u3002\u30e2\u30d0\u30a4\u30eb\u30b9\u30b3\u30a2\u304c\u4f4e\u3044\u5834\u5408\u306f\u3001JavaScript\u306e\u30b3\u30fc\u30c9\u5206\u5272\u30fb\u672a\u4f7f\u7528\u30b3\u30fc\u30c9\u524a\u9664\u30fbCritical CSS \u306e\u9069\u7528\u304c\u52b9\u679c\u7684\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Q3. \u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b9\u30af\u30ea\u30d7\u30c8\uff08Google\u30bf\u30b0\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u3084\u30c1\u30e3\u30c3\u30c8\u30c4\u30fc\u30eb\u306a\u3069\u306eJS\uff09\u304c\u30b9\u30b3\u30a2\u3092\u4e0b\u3052\u3066\u3057\u307e\u3044\u307e\u3059\u3002\u3069\u3046\u5bfe\u51e6\u3059\u308c\u3070\u3044\u3044\u3067\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A.<\/strong> \u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b9\u30af\u30ea\u30d7\u30c8\u306f<code>async<\/code>\u307e\u305f\u306f<code>defer<\/code>\u5c5e\u6027\u3092\u4ed8\u3051\u3066\u8aad\u307f\u8fbc\u307f\u9045\u5ef6\u3055\u305b\u308b\u306e\u304c\u57fa\u672c\u3067\u3059\u3002\u3055\u3089\u306b\u5fc5\u8981\u306a\u3044\u30da\u30fc\u30b8\u3067\u306f\u8aad\u307f\u8fbc\u307e\u306a\u3044\u3088\u3046\u6761\u4ef6\u5206\u5c90\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3069\u3046\u3057\u3066\u3082\u5f71\u97ff\u3092\u907f\u3051\u3089\u308c\u306a\u3044\u5834\u5408\u306f\u3001Lighthouse CI\u306e\u95be\u5024\u3092\u305d\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5f71\u97ff\u3092\u8003\u616e\u3057\u305f\u73fe\u5b9f\u7684\u306a\u5024\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Q4. CLS\u304c0\u3092\u9054\u6210\u3067\u304d\u307e\u305b\u3093\u3002\u539f\u56e0\u306e\u8abf\u3079\u65b9\u3092\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A.<\/strong> Chrome DevTools\u306e\u300cPerformance\u300d\u30bf\u30d6\u3067\u9332\u753b\u3057\u3001\u300cLayout Shift\u300d\u30a4\u30d9\u30f3\u30c8\u3092\u63a2\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3088\u304f\u3042\u308b\u539f\u56e0\u306f\u753b\u50cf\u30fb\u5e83\u544a\u306e\u30b5\u30a4\u30ba\u672a\u6307\u5b9a\u3001\u30d5\u30a9\u30f3\u30c8\u306eFOUT\uff08\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u30d5\u30a9\u30f3\u30c8\u3068\u8aad\u307f\u8fbc\u307f\u5f8c\u30d5\u30a9\u30f3\u30c8\u306e\u30b5\u30a4\u30ba\u5dee\uff09\u3001\u52d5\u7684\u306b\u633f\u5165\u3055\u308c\u308b\u30b3\u30f3\u30c6\u30f3\u30c4\u3067\u3059\u3002<code>aspect-ratio<\/code>\u30d7\u30ed\u30d1\u30c6\u30a3\u3068<code>font-display: swap<\/code>+<code>size-adjust<\/code>\u306e\u7d44\u307f\u5408\u308f\u305b\u304c\u52b9\u679c\u7684\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Q5. Lighthouse CI\u3092GitHub Actions\u3067\u8a2d\u5b9a\u3059\u308b\u5229\u70b9\u306f\u4f55\u3067\u3059\u304b\uff1f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A.<\/strong> PR\u3054\u3068\u306b\u30b9\u30b3\u30a2\u3092\u81ea\u52d5\u8a08\u6e2c\u3057\u3001\u95be\u5024\u3092\u4e0b\u56de\u3063\u305f\u5909\u66f4\u3092\u30de\u30fc\u30b8\u524d\u306b\u30d6\u30ed\u30c3\u30af\u3067\u304d\u307e\u3059\u3002\u300c\u30b9\u30b3\u30a2\u3092\u4e0a\u3052\u305f\u5f8c\u306b\u5225\u306e\u5909\u66f4\u3067\u4e0b\u304c\u3063\u3066\u3044\u305f\u300d\u3068\u3044\u3046\u72b6\u6cc1\u3092\u9632\u304e\u3001\u30b9\u30b3\u30a2\u306e\u7d99\u7d9a\u7684\u306a\u7dad\u6301\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<code>assertions<\/code>\u3067\u30ab\u30c6\u30b4\u30ea\u30fc\u3054\u3068\u306b\u6700\u4f4e\u30b9\u30b3\u30a2\u3092\u8a2d\u5b9a\u3067\u304d\u308b\u305f\u3081\u3001\u30c1\u30fc\u30e0\u3067\u54c1\u8cea\u57fa\u6e96\u3092\u7d71\u4e00\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u307e\u3068\u3081<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u753b\u50cf\u6700\u9069\u5316<\/strong>\uff1aWebP\/AVIF\u5909\u63db\u30fb\u30ec\u30b9\u30dd\u30f3\u30b7\u30d6\u753b\u50cf\u30fb\u9045\u5ef6\u8aad\u307f\u8fbc\u307f\u30fbwidth\/height\u6307\u5b9a\u306e4\u30bb\u30c3\u30c8\u304c\u57fa\u672c<\/li>\n\n\n<li><strong>JavaScript\u6700\u9069\u5316<\/strong>\uff1a\u30b3\u30fc\u30c9\u5206\u5272\u30fb\u672a\u4f7f\u7528\u30b3\u30fc\u30c9\u524a\u9664\u30fbdefer\/async\u5c5e\u6027\u306e\u4f7f\u3044\u5206\u3051<\/li>\n\n\n<li><strong>CSS\u6700\u9069\u5316<\/strong>\uff1a\u672a\u4f7f\u7528CSS\u524a\u9664\u30fb\u30af\u30ea\u30c6\u30a3\u30ab\u30ebCSS\u306e\u30a4\u30f3\u30e9\u30a4\u30f3\u5316\u30fb\u5727\u7e2e<\/li>\n\n<li><strong>Core Web Vitals<\/strong>\uff1aLCP\uff082.5\u79d2\u4ee5\u5185\uff09\u30fbINP\uff08200ms\u4ee5\u5185\uff09\u30fbCLS\uff080.1\u4ee5\u4e0b\uff09\u306e\u5404\u76ee\u6a19\u5024\u3092\u9054\u6210\u3059\u308b<\/li>\n\n\n<li><strong>\u30b5\u30fc\u30d0\u30fc\u6700\u9069\u5316<\/strong>\uff1aHTTP\/2\u6709\u52b9\u5316\u30fbGzip\/Brotli\u5727\u7e2e\u30fb\u9577\u671f\u30ad\u30e3\u30c3\u30b7\u30e5\u30fbCDN\u6d3b\u7528<\/li>\n\n\n<li><strong>SEO\u30fb\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3<\/strong>\uff1a\u9069\u5207\u306a\u30e1\u30bf\u30bf\u30b0\u30fb\u69cb\u9020\u5316\u30c7\u30fc\u30bf\u30fb\u30bb\u30de\u30f3\u30c6\u30a3\u30c3\u30afHTML\u30fbARIA\u5c5e\u6027\u30fb\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8\u6bd4<\/li>\n\n\n<li><strong>\u7d99\u7d9a\u7684\u76e3\u8996<\/strong>\uff1aLighthouse CI\u3092GitHub Actions\u306b\u7d44\u307f\u8fbc\u3093\u3067PR\u3054\u3068\u306b\u81ea\u52d5\u8a08\u6e2c\u30fb\u54c1\u8cea\u7dad\u6301<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><span class=\"swl-marker mark_yellow\">WithCode\u3067\u5b66\u3093\u3060Web\u5236\u4f5c\u306e\u57fa\u790e\u77e5\u8b58\u306b\u3001\u3053\u308c\u3089\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u6280\u8853\u3092\u7d44\u307f\u5408\u308f\u305b\u308c\u3070\u3001\u9ad8\u901f\u3067\u9ad8\u54c1\u8cea\u306aWeb\u30b5\u30a4\u30c8\u3092\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002<\/span><\/strong>Lighthouse\u30b9\u30b3\u30a2100\u70b9\u306f\u6c7a\u3057\u3066\u30b4\u30fc\u30eb\u3067\u306f\u306a\u304f\u3001\u30e6\u30fc\u30b6\u30fc\u306b\u5feb\u9069\u306a\u4f53\u9a13\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306e\u624b\u6bb5\u3067\u3059\u3002\u307e\u305a\u306f\u753b\u50cf\u6700\u9069\u5316\u304b\u3089\u59cb\u3081\u3001\u7d99\u7d9a\u7684\u306a\u6539\u5584\u3092\u7a4d\u307f\u91cd\u306d\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<!-- withmedia-related -->\n<h2 class=\"wp-block-heading\">\u95a2\u9023\u8a18\u4e8b<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/withcode.tech\/media\/multilingual-seo-hreflang-guide\/\">\u591a\u8a00\u8a9e\u30b5\u30a4\u30c8\u306eSEO\u5bfe\u7b56\u5b8c\u5168\u30ac\u30a4\u30c9\uff5chreflang\u5c5e\u6027\u306e\u8a2d\u5b9a\u65b9\u6cd5\u30fbURL\u69cb\u9020\u8a2d\u8a08\u30fb\u30ed\u30fc\u30ab\u30e9\u30a4\u30bc\u30fc\u30b7\u30e7\u30f3\u307e\u3067\u5fb9\u5e95\u89e3\u8aac<\/a><\/li>\n<li><a href=\"https:\/\/withcode.tech\/media\/ga4-bigquery-user-analysis\/\">GA4\u30c7\u30fc\u30bf\u3092BigQuery\u306b\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3057\u3066SQL\u3067\u30e6\u30fc\u30b6\u30fc\u884c\u52d5\u3092\u5206\u6790\u3059\u308b\u65b9\u6cd5\u3010\u5b8c\u5168\u30ac\u30a4\u30c9\u3011\uff5c\u5b9f\u8df5SQL\u30af\u30a8\u30ea15\u9078\u4ed8\u304d<\/a><\/li>\n<li><a href=\"https:\/\/withcode.tech\/media\/301-redirect-seo-guide\/\">301\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u306e\u8a2d\u5b9a\u65b9\u6cd5\u3010WordPress\u30fb.htaccess\u5bfe\u5fdc\u3011\uff5cSEO\u8a55\u4fa1\u3092\u5f15\u304d\u7d99\u3050\u5b8c\u5168\u30ac\u30a4\u30c9<\/a><\/li>\n<li><a href=\"https:\/\/withcode.tech\/media\/website-renewal-seo-protection\/\">\u3010\u5b8c\u5168\u4fdd\u5b58\u7248\u3011\u30b5\u30a4\u30c8\u30ea\u30cb\u30e5\u30fc\u30a2\u30eb\u3067SEO\u9806\u4f4d\u3092\u4e0b\u3052\u306a\u304412\u306e\u9632\u6b62\u7b56<\/a><\/li>\n<li><a href=\"https:\/\/withcode.tech\/media\/ga4-exploration-report-templates\/\">\u3010\u5b8c\u5168\u4fdd\u5b58\u7248\u3011GA4\u63a2\u7d22\u30ec\u30dd\u30fc\u30c8\u6d3b\u7528\u4e8b\u4f8b\uff5c7\u3064\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3067\u5b9f\u73fe\u3059\u308b\u30c7\u30fc\u30bf\u5206\u6790<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<!-- withmedia-references -->\n<h2 class=\"wp-block-heading\">\u53c2\u8003\u30ea\u30f3\u30af\uff08\u516c\u5f0f\u30fb\u4e00\u6b21\u60c5\u5831\uff09<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/developer.mozilla.org\/ja\/docs\/Web\/HTML\" target=\"_blank\" rel=\"noopener noreferrer\">MDN Web Docs \u2014 HTML<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/ja\/docs\/Web\/CSS\" target=\"_blank\" rel=\"noopener noreferrer\">MDN Web Docs \u2014 CSS<\/a><\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/ja\/docs\/Web\/JavaScript\" target=\"_blank\" rel=\"noopener noreferrer\">MDN Web Docs \u2014 JavaScript<\/a><\/li>\n<li><a href=\"https:\/\/git-scm.com\/doc\" target=\"_blank\" rel=\"noopener noreferrer\">Git \u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">WithCode\u3092\u4f53\u9a13\u3067\u304d\u308b\u521d\u7d1a\u30b3\u30fc\u30b9\u516c\u958b\u4e2d\uff01<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full\"><img decoding=\"async\" src=\"https:\/\/withcode.tech\/media\/wp-content\/uploads\/2024\/01\/withcode-beginner-course.jpg\" alt=\"WithCode\u521d\u7d1a\u30b3\u30fc\u30b9\" class=\"wp-image-12345\"\/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">\u521d\u7d1a\u30b3\u30fc\u30b9\uff08\u00a549,800\uff09\u304c\u5b8c\u5168\u7121\u6599\u306b\uff01<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u671f\u9593\uff1a<\/strong>1\u9031\u9593<\/li>\n\n\n<li><strong>\u5b66\u7fd2\u5185\u5bb9\uff1a<\/strong>\u30ed\u30fc\u30c9\u30de\u30c3\u30d7\/\u57fa\u790e\u77e5\u8b58\/\u74b0\u5883\u69cb\u7bc9\/HTML\/CSS\/LP\u30fb\u30dd\u30fc\u30c8\u30d5\u30a9\u30ea\u30aa\u4f5c\u6210<br><strong><span class=\"swl-marker mark_yellow\">\u2192 \u6b63\u3057\u3044\u5b66\u7fd2\u65b9\u6cd5\u3067\u300c\u78ba\u304b\u306a\u6210\u9577\u300d\u3092\u5b9f\u611f\u3067\u304d\u308b\u30ab\u30ea\u30ad\u30e5\u30e9\u30e0<\/span><\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u526f\u696d\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u304c\u4e3b\u6d41\u306b\u306a\u3063\u3066\u3044\u308b\u4eca\u3053\u305d\u3001\u81ea\u3089\u306e\u30b9\u30ad\u30eb\u3067\u7a3c\u3052\u308b\u4eba\u6750\u3092\u76ee\u6307\u3057\u3066\u307f\u307e\u305b\u3093\u304b\uff1f\u672a\u7d4c\u9a13\u3067\u3082\u5fc3\u914d\u3059\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u521d\u7d1a\u30b3\u30fc\u30b9\u3092\u53d7\u8b1b\u3055\u308c\u308b\u65b9\u306e\u5927\u591a\u6570\u306f\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u672a\u7d4c\u9a13\u3067\u3059\u3002\u307e\u305a\u306f\u7121\u6599\u30ab\u30a6\u30f3\u30bb\u30ea\u30f3\u30b0\u3067\u3001\u60a9\u307f\u3084\u4e0d\u5b89\u3092\u304a\u805e\u304b\u305b\u304f\u3060\u3055\u3044\uff01<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-white-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/withcode.tech\/reservation\/\" style=\"background-color:#ffbf00\"><strong>\u516c\u5f0f\u30b5\u30a4\u30c8\u304b\u3089\u7121\u6599\u30ab\u30a6\u30f3\u30bb\u30ea\u30f3\u30b0\u306b\u7533\u3057\u8fbc\u3080 \u2192<\/strong><\/a><\/div>\n<\/div>\n\n\n\n\n<!-- withmedia-faq-schema -->\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Lighthouse\u30b9\u30b3\u30a2100\u70b9\u3092\u76ee\u6307\u3059\u3046\u3048\u3067\u3001\u6700\u521d\u306b\u3084\u308b\u3079\u304d\u3053\u3068\u306f\u4f55\u3067\u3059\u304b\uff1f\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"\u307e\u305a\u73fe\u72b6\u306e\u30b9\u30b3\u30a2\u3092Chrome DevTools\u307e\u305f\u306fPageSpeed Insights\u3067\u6e2c\u5b9a\u3057\u3001\u6700\u3082\u4f4e\u3044\u30ab\u30c6\u30b4\u30ea\u30fc\u3092\u7279\u5b9a\u3059\u308b\u3053\u3068\u304b\u3089\u59cb\u3081\u3066\u304f\u3060\u3055\u3044\u3002\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u4f4e\u3044\u5834\u5408\u306f\u753b\u50cf\u6700\u9069\u5316\uff08WebP\u5909\u63db\u30fb\u9045\u5ef6\u8aad\u307f\u8fbc\u307f\u30fb\u30b5\u30a4\u30ba\u6307\u5b9a\uff09\u304c\u6700\u3082\u30b3\u30b9\u30c8\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u9ad8\u3044\u6539\u5584\u7b56\u3067\u3059\u3002\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u30e2\u30d0\u30a4\u30eb\u3068\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u3067\u30b9\u30b3\u30a2\u304c\u5927\u304d\u304f\u9055\u3046\u306e\u306f\u306a\u305c\u3067\u3059\u304b\uff1f\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Lighthouse\u306e\u30e2\u30d0\u30a4\u30eb\u30b9\u30b3\u30a2\u306fCPU\u30924\u500d\u30fb\u901a\u4fe1\u901f\u5ea6\u3092\u9045\u304f\u30b7\u30df\u30e5\u30ec\u30fc\u30c8\u3057\u3066\u8a08\u6e2c\u3059\u308b\u305f\u3081\u3001\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u3088\u308a\u53b3\u3057\u3044\u6761\u4ef6\u306b\u306a\u308a\u307e\u3059\u3002\u30e2\u30d0\u30a4\u30eb\u30b9\u30b3\u30a2\u304c\u4f4e\u3044\u5834\u5408\u306f\u3001JavaScript\u306e\u30b3\u30fc\u30c9\u5206\u5272\u30fb\u672a\u4f7f\u7528\u30b3\u30fc\u30c9\u524a\u9664\u30fbCritical CSS \u306e\u9069\u7528\u304c\u52b9\u679c\u7684\u3067\u3059\u3002\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b9\u30af\u30ea\u30d7\u30c8\uff08Google\u30bf\u30b0\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u3084\u30c1\u30e3\u30c3\u30c8\u30c4\u30fc\u30eb\u306a\u3069\u306eJS\uff09\u304c\u30b9\u30b3\u30a2\u3092\u4e0b\u3052\u3066\u3057\u307e\u3044\u307e\u3059\u3002\u3069\u3046\u5bfe\u51e6\u3059\u308c\u3070\u3044\u3044\u3067\u3059\u304b\uff1f\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b9\u30af\u30ea\u30d7\u30c8\u306fasync\u307e\u305f\u306fdefer\u5c5e\u6027\u3092\u4ed8\u3051\u3066\u8aad\u307f\u8fbc\u307f\u9045\u5ef6\u3055\u305b\u308b\u306e\u304c\u57fa\u672c\u3067\u3059\u3002\u3055\u3089\u306b\u5fc5\u8981\u306a\u3044\u30da\u30fc\u30b8\u3067\u306f\u8aad\u307f\u8fbc\u307e\u306a\u3044\u3088\u3046\u6761\u4ef6\u5206\u5c90\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3069\u3046\u3057\u3066\u3082\u5f71\u97ff\u3092\u907f\u3051\u3089\u308c\u306a\u3044\u5834\u5408\u306f\u3001Lighthouse CI\u306e\u95be\u5024\u3092\u305d\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5f71\u97ff\u3092\u8003\u616e\u3057\u305f\u73fe\u5b9f\u7684\u306a\u5024\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"CLS\u304c0\u3092\u9054\u6210\u3067\u304d\u307e\u305b\u3093\u3002\u539f\u56e0\u306e\u8abf\u3079\u65b9\u3092\u6559\u3048\u3066\u304f\u3060\u3055\u3044\u3002\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Chrome DevTools\u306e\u300cPerformance\u300d\u30bf\u30d6\u3067\u9332\u753b\u3057\u3001\u300cLayout Shift\u300d\u30a4\u30d9\u30f3\u30c8\u3092\u63a2\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3088\u304f\u3042\u308b\u539f\u56e0\u306f\u753b\u50cf\u30fb\u5e83\u544a\u306e\u30b5\u30a4\u30ba\u672a\u6307\u5b9a\u3001\u30d5\u30a9\u30f3\u30c8\u306eFOUT\uff08\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u30d5\u30a9\u30f3\u30c8\u3068\u8aad\u307f\u8fbc\u307f\u5f8c\u30d5\u30a9\u30f3\u30c8\u306e\u30b5\u30a4\u30ba\u5dee\uff09\u3001\u52d5\u7684\u306b\u633f\u5165\u3055\u308c\u308b\u30b3\u30f3\u30c6\u30f3\u30c4\u3067\u3059\u3002aspect-ratio\u30d7\u30ed\u30d1\u30c6\u30a3\u3068font-display: swap+size-adjust\u306e\u7d44\u307f\u5408\u308f\u305b\u304c\u52b9\u679c\u7684\u3067\u3059\u3002\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Lighthouse CI\u3092GitHub Actions\u3067\u8a2d\u5b9a\u3059\u308b\u5229\u70b9\u306f\u4f55\u3067\u3059\u304b\uff1f\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"PR\u3054\u3068\u306b\u30b9\u30b3\u30a2\u3092\u81ea\u52d5\u8a08\u6e2c\u3057\u3001\u95be\u5024\u3092\u4e0b\u56de\u3063\u305f\u5909\u66f4\u3092\u30de\u30fc\u30b8\u524d\u306b\u30d6\u30ed\u30c3\u30af\u3067\u304d\u307e\u3059\u3002\u300c\u30b9\u30b3\u30a2\u3092\u4e0a\u3052\u305f\u5f8c\u306b\u5225\u306e\u5909\u66f4\u3067\u4e0b\u304c\u3063\u3066\u3044\u305f\u300d\u3068\u3044\u3046\u72b6\u6cc1\u3092\u9632\u304e\u3001\u30b9\u30b3\u30a2\u306e\u7d99\u7d9a\u7684\u306a\u7dad\u6301\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002assertions\u3067\u30ab\u30c6\u30b4\u30ea\u30fc\u3054\u3068\u306b\u6700\u4f4e\u30b9\u30b3\u30a2\u3092\u8a2d\u5b9a\u3067\u304d\u308b\u305f\u3081\u3001\u30c1\u30fc\u30e0\u3067\u54c1\u8cea\u57fa\u6e96\u3092\u7d71\u4e00\u3067\u304d\u307e\u3059\u3002\"\n      }\n    }\n  ]\n}\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Lighthouse\u30b9\u30b3\u30a2\u3092All100\u70b9\u306b\u5f15\u304d\u4e0a\u3052\u308b\u5177\u4f53\u7684\u306a\u624b\u6cd5\u3092\u89e3\u8aac\u3002\u753b\u50cf\uff08WebP\/AVIF\u30fb\u9045\u5ef6\u8aad\u307f\u8fbc\u307f\uff09\u30fbJS\u30fbCSS\u30fb\u30d5\u30a9\u30f3\u30c8\u6700\u9069\u5316\u304b\u3089Core Web Vitals\u6539\u5584\u3001Nginx\u8a2d\u5b9a\u3001CDN\u6d3b\u7528\u3001Lighthouse CI\u306b\u3088\u308b\u7d99\u7d9a\u76e3\u8996\u307e\u3067\u5b9f\u88c5\u30b3\u30fc\u30c9\u4ed8\u304d\u3067\u5fb9\u5e95\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n","protected":false},"author":2,"featured_media":14494,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"swell_btn_cv_data":"","footnotes":"","vk-ltc-link":"","vk-ltc-target":"0"},"categories":[9,370],"tags":[],"class_list":["post-12624","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-learning-content","category-seo"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/posts\/12624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/comments?post=12624"}],"version-history":[{"count":9,"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/posts\/12624\/revisions"}],"predecessor-version":[{"id":16250,"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/posts\/12624\/revisions\/16250"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/media\/14494"}],"wp:attachment":[{"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/media?parent=12624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/categories?post=12624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/withcode.tech\/media\/wp-json\/wp\/v2\/tags?post=12624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}