{"id":1540,"date":"2026-04-29T19:51:07","date_gmt":"2026-04-29T10:51:07","guid":{"rendered":"https:\/\/www.zanzanweb.com\/?p=1540"},"modified":"2026-04-29T19:51:07","modified_gmt":"2026-04-29T10:51:07","slug":"experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft","status":"publish","type":"post","link":"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/","title":{"rendered":"[Experience] I Built a Blog Auto-Generation System with Claude Code | Honest Report: From Setup to WordPress Auto-Draft"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u76ee\u6b21<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#Why_I_Wanted_to_Automate_My_Blog_Before_Things_Got_Too_Busy\" >Why I Wanted to Automate My Blog Before Things Got Too Busy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#I_Asked_ChatGPT_How_to_Design_the_System_One_Time\" >I Asked ChatGPT How to Design the System (One Time)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#The_Automation_Blueprint_ChatGPT_Produced\" >The Automation Blueprint ChatGPT Produced<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#Role-Based_%E2%80%9CSubagents%E2%80%9D\" >Role-Based &#8220;Subagents&#8221;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#%E2%80%9CSkills%E2%80%9D_to_Standardize_Repetitive_Tasks\" >&#8220;Skills&#8221; to Standardize Repetitive Tasks<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#%E2%80%9CHooks%E2%80%9D_for_Automatic_Quality_Checks\" >&#8220;Hooks&#8221; for Automatic Quality Checks<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#The_Overall_Flow\" >The Overall Flow<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#What_Is_Claude_Code_How_Is_It_Different_from_ChatGPT\" >What Is Claude Code? How Is It Different from ChatGPT?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#How_to_Subscribe_to_Claude_Code\" >How to Subscribe to Claude Code<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#WordPress_Prep_Getting_Tripped_Up_by_HTTPS\" >WordPress Prep: Getting Tripped Up by HTTPS<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#First_HTTPS_Attempt_Failed\" >First HTTPS Attempt (Failed)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#Second_Attempt_Success\" >Second Attempt: Success<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#Getting_the_Application_Password\" >Getting the Application Password<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#Claude_Code_Setup_Everything_I_Did\" >Claude Code Setup: Everything I Did<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#Folder_Structure\" >Folder Structure<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#WordPress_Credentials_in_env\" >WordPress Credentials in .env<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#Automated_Quality_Checks_via_Hooks\" >Automated Quality Checks via Hooks<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#My_Honest_Impressions_After_Using_It\" >My Honest Impressions After Using It<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#Who_Its_For_Who_Its_Not_For\" >Who It&#8217;s For \/ Who It&#8217;s Not For<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.zanzanweb.com\/en\/2026\/04\/29\/experience-i-built-a-blog-auto-generation-system-with-claude-code-honest-report-from-setup-to-wordpress-auto-draft\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Why_I_Wanted_to_Automate_My_Blog_Before_Things_Got_Too_Busy\"><\/span>Why I Wanted to Automate My Blog Before Things Got Too Busy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Honestly, there was a sense of urgency. Even if I have time now, I can feel things getting busier ahead. The last thing I want is to end up with &#8220;I want to write, but I can&#8217;t move&#8221; paralysis.<\/p>\n<p>I keep this blog because I want to put my experiences and thoughts out into the world. So the idea came naturally: &#8220;What if I could focus just on the experience itself, and let AI handle the rest?&#8221;<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"I_Asked_ChatGPT_How_to_Design_the_System_One_Time\"><\/span>I Asked ChatGPT How to Design the System (One Time)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The first step was a single consultation with ChatGPT. Here&#8217;s roughly what I asked:<\/p>\n<p>&#8220;I&#8217;ve installed Claude Code. I want to automatically produce high-quality, SEO-optimized articles. If I give it a rough idea and some photos, I want it to run on its own after that. How should I design the system?&#8221;<\/p>\n<p>The key takeaway from the response:<\/p>\n<blockquote>\n<p>&#8220;Rather than cramming everything into one agent, it&#8217;s more stable to assign roles by stage. For a blog, splitting into planning, SEO research, writing, image curation, quality checking, and publishing prep works well.&#8221;<\/p>\n<\/blockquote>\n<p>That made sense. I&#8217;d had plenty of experiences where dumping everything into one ChatGPT conversation produced inconsistent results.<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"The_Automation_Blueprint_ChatGPT_Produced\"><\/span>The Automation Blueprint ChatGPT Produced<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The design that came out of that one consultation looked like this:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Role-Based_%E2%80%9CSubagents%E2%80%9D\"><\/span>Role-Based &#8220;Subagents&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<table>\n<thead>\n<tr>\n<th>Agent<\/th>\n<th>Role<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>planner<\/td>\n<td>Defines search intent, target reader, and monetization angle from the article topic<\/td>\n<\/tr>\n<tr>\n<td>seo-researcher<\/td>\n<td>Generates keyword candidates, related headings, FAQ ideas<\/td>\n<\/tr>\n<tr>\n<td>writer<\/td>\n<td>Writes the body content<\/td>\n<\/tr>\n<tr>\n<td>photo-curator<\/td>\n<td>Reviews photos, creates caption and alt text candidates<\/td>\n<\/tr>\n<tr>\n<td>editor<\/td>\n<td>Fixes verbose phrasing, logic gaps, and readability<\/td>\n<\/tr>\n<tr>\n<td>publisher<\/td>\n<td>Formats data for WordPress posting<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><span class=\"ez-toc-section\" id=\"%E2%80%9CSkills%E2%80%9D_to_Standardize_Repetitive_Tasks\"><\/span>&#8220;Skills&#8221; to Standardize Repetitive Tasks<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Commands like <code>\/blog-idea<\/code>, <code>\/outline-seo<\/code>, <code>\/draft-article<\/code>, <code>\/prepublish-check<\/code>\u2014preset commands so I don&#8217;t have to type long instructions every time.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E2%80%9CHooks%E2%80%9D_for_Automatic_Quality_Checks\"><\/span>&#8220;Hooks&#8221; for Automatic Quality Checks<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>A system that automatically checks &#8220;word count, heading structure, meta description, CTA, internal links&#8221; every time an article is saved. The idea: stop hoping for quality, and enforce it.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_Overall_Flow\"><\/span>The Overall Flow<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><code>You provide the topic, photos, and monetization angle\n    \u2193\nAI generates structure, body, SEO elements, image plan, CTA\n    \u2193\nHooks run quality checks\n    \u2193\nWordPress auto-saves as draft\n    \u2193\nYou review and publish\n<\/code><\/pre>\n<p>ChatGPT&#8217;s conclusion: if the final review stays with a human, 80\u201390% of the work can be automated. It also generated the full initial file set for zanzanweb.com, which I used as the base to implement everything in Claude Code.<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"What_Is_Claude_Code_How_Is_It_Different_from_ChatGPT\"><\/span>What Is Claude Code? How Is It Different from ChatGPT?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Claude Code is a tool that brings Anthropic&#8217;s AI &#8220;Claude&#8221; into VS Code and the terminal.<\/p>\n<p>The big difference from ChatGPT: <strong>it can directly manipulate local files and automatically execute multi-step tasks<\/strong>.<\/p>\n<table>\n<thead>\n<tr>\n<th>Feature<\/th>\n<th>ChatGPT<\/th>\n<th>Claude Code<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Interface<\/td>\n<td>Browser \/ app<\/td>\n<td>VS Code \/ terminal<\/td>\n<\/tr>\n<tr>\n<td>File operations<\/td>\n<td>Limited<\/td>\n<td>Directly edits local files<\/td>\n<\/tr>\n<tr>\n<td>Multi-step automation<\/td>\n<td>Plugins \/ GPTs<\/td>\n<td>Agents + scripts<\/td>\n<\/tr>\n<tr>\n<td>WordPress integration<\/td>\n<td>Mostly manual copy-paste<\/td>\n<td>Script-based auto-draft posting<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>ChatGPT is great at &#8220;organizing thoughts through conversation.&#8221; Claude Code is great at &#8220;automatically executing a defined workflow.&#8221; I consulted ChatGPT once for the initial design. After that, the daily workflow runs entirely through Claude Code.<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"How_to_Subscribe_to_Claude_Code\"><\/span>How to Subscribe to Claude Code<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Using Claude Code requires an Anthropic paid plan.<\/p>\n<p>You can check plans and subscribe at the <a href=\"https:\/\/claude.com\/pricing\">pricing page<\/a>.<\/p>\n<table>\n<thead>\n<tr>\n<th>Plan<\/th>\n<th>Monthly<\/th>\n<th>Best for<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Pro<\/td>\n<td>$20<\/td>\n<td>Getting started. Claude Code access included, but with daily usage limits<\/td>\n<\/tr>\n<tr>\n<td>Max<\/td>\n<td>$100+<\/td>\n<td>Heavy users. Good for long article generation and repeated agent tasks<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>I started with the Pro plan. It was more than enough for testing 1\u20132 articles.<\/p>\n<p>After subscribing, just install the VS Code extension and you&#8217;re ready to go.<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"WordPress_Prep_Getting_Tripped_Up_by_HTTPS\"><\/span>WordPress Prep: Getting Tripped Up by HTTPS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>To send drafts from Claude Code to WordPress, you need to generate an &#8220;Application Password&#8221; on the WordPress side. But there&#8217;s a catch: <strong>Application Passwords only work over HTTPS<\/strong>.<\/p>\n<p>&#8220;I thought I&#8217;d set up HTTPS already.&#8221; Turned out I hadn&#8217;t.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"First_HTTPS_Attempt_Failed\"><\/span>First HTTPS Attempt (Failed)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>On a Bitnami WordPress (AWS EC2) setup, I tried using <code>bncert-tool<\/code> to get a Let&#8217;s Encrypt certificate. First attempt failed.<\/p>\n<pre><code>[www.zanzanweb.com] acme: error: 400 :: DNS problem:\nNXDOMAIN looking up A for www.zanzanweb.com\n<\/code><\/pre>\n<p>The cause: no DNS record for <code>www.zanzanweb.com<\/code>. I was trying to get a certificate for the <code>www<\/code> subdomain, which didn&#8217;t exist in DNS.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Second_Attempt_Success\"><\/span>Second Attempt: Success<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>After checking the DNS situation and re-running the tool, it displayed &#8220;Success.&#8221; HTTPS redirect and <code>www<\/code> canonicalization were configured at the same time.<\/p>\n<p>&#8220;I thought it was already done, but it wasn&#8217;t.&#8221; A little embarrassing\u2014but catching it before starting with Claude Code was the right call.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Getting_the_Application_Password\"><\/span>Getting the Application Password<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>After HTTPS was set up, I generated an Application Password from the WordPress admin panel.<\/p>\n<ol>\n<li>WordPress Admin \u2192 Users \u2192 Profile<\/li>\n<li>Scroll to &#8220;Application Passwords&#8221; section at the bottom<\/li>\n<li>Enter a name (e.g. <code>claude-code<\/code>) \u2192 &#8220;Add New Application Password&#8221;<\/li>\n<li>Copy the displayed password (space-separated format) as-is<\/li>\n<\/ol>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"Claude_Code_Setup_Everything_I_Did\"><\/span>Claude Code Setup: Everything I Did<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Using the <code>zanzan_claude_starter<\/code> file set from that initial ChatGPT consultation as the base, I configured the following:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Folder_Structure\"><\/span>Folder Structure<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><code>D:\\ClaudeCode\\\n  \u251c CLAUDE.md           \u2190 Blog operation rules (loads zanzan_claude_starter config)\n  \u251c .env                \u2190 WordPress connection info\n  \u251c .claude\\\n  \u2502   \u2514 settings.json  \u2190 Hooks configuration\n  \u2514 content\\\n      \u2514 drafts\\         \u2190 Generated article draft storage\n<\/code><\/pre>\n<p><code>CLAUDE.md<\/code> contains the article template, writing style rules, SEO rules, monetization rules, and prohibited content. Claude Code reads this and operates accordingly. Think of it as a &#8220;constitution for writing.&#8221;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"WordPress_Credentials_in_env\"><\/span>WordPress Credentials in .env<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<pre><code>WP_BASE_URL=https:\/\/www.zanzanweb.com\/\nWP_USERNAME=(your username)\nWP_APP_PASSWORD=(your application password)\n<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Automated_Quality_Checks_via_Hooks\"><\/span>Automated Quality Checks via Hooks<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Every time an article file is saved, the following are automatically verified:<\/p>\n<ul>\n<li>Body text is at least 2,000 characters<\/li>\n<li>H2 headings exist<\/li>\n<li>Meta description is present<\/li>\n<li>CTA is included<\/li>\n<li>Internal links are configured<\/li>\n<\/ul>\n<p>Problems trigger a warning in the terminal. Pass everything and it shows &#8220;OK.&#8221;<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"My_Honest_Impressions_After_Using_It\"><\/span>My Honest Impressions After Using It<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>It was genuinely useful.<\/strong><\/p>\n<p>I expected the setup to be a pain. But Claude Code itself guides you through configuration, so it was much smoother than I anticipated.<\/p>\n<p>What stood out most was the <strong>feeling that Claude Code thinks for itself and gets things done<\/strong>. Tell it what you want, and it reads files, makes edits, checks its work\u2014and pushes forward autonomously. A large chunk of the work can be handed off entirely.<\/p>\n<p>On the flip side, the HTTPS discovery showed that <strong>you still need to verify your own environment<\/strong>. There&#8217;s a clear boundary between what AI can cover and what you need to check yourself\u2014and staying aware of that matters.<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"Who_Its_For_Who_Its_Not_For\"><\/span>Who It&#8217;s For \/ Who It&#8217;s Not For<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>It&#8217;s for you if:<\/strong><br \/>\n&#8211; You have content ideas and experiences but struggle to find time to write<br \/>\n&#8211; Building SEO structure from scratch every time feels like a burden<br \/>\n&#8211; You&#8217;re comfortable with VS Code and the terminal<br \/>\n&#8211; You want to &#8220;build the system before life gets too busy&#8221;<\/p>\n<p><strong>It&#8217;s not for you if:<\/strong><br \/>\n&#8211; You want to mass-produce articles with zero input (you still need to provide the first-hand experience)<br \/>\n&#8211; You&#8217;re not on WordPress (integration requires some effort)<br \/>\n&#8211; You&#8217;re not comfortable with basic PC operations (initial setup has some technical steps)<\/p>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>&#8220;Hand everything to AI&#8221; isn&#8217;t realistic\u2014and probably shouldn&#8217;t be the goal anyway.<\/p>\n<p>The first-hand experience, the feelings, the information that only exists in your life\u2014none of that makes it into an article unless you put it there. AI&#8217;s role is to take that raw material and shape it into something well-structured and readable.<\/p>\n<p>ChatGPT helped me design the system once. That&#8217;s it. The day-to-day workflow is now: <strong>you provide the topic and photos \u2192 Claude Code \u2192 WordPress<\/strong>. That pipeline is in place.<\/p>\n<p>With life getting busier, having a system that lets me &#8220;actually get my experiences out into the world&#8221; is the biggest win from this whole project.<\/p>\n<hr \/>\n","protected":false},"excerpt":{"rendered":"<p>An honest account of building a blog auto-generation system with Claude Code. From SSL setup struggles to WordPress draft automation\u2014including who it&#8217;s for and who it&#8217;s not.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","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,"footnotes":"","_locale":"en_US","_original_post":"https:\/\/www.zanzanweb.com\/?p=1494"},"categories":[9],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.zanzanweb.com\/wp-json\/wp\/v2\/posts\/1540"}],"collection":[{"href":"https:\/\/www.zanzanweb.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zanzanweb.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zanzanweb.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zanzanweb.com\/wp-json\/wp\/v2\/comments?post=1540"}],"version-history":[{"count":1,"href":"https:\/\/www.zanzanweb.com\/wp-json\/wp\/v2\/posts\/1540\/revisions"}],"predecessor-version":[{"id":1545,"href":"https:\/\/www.zanzanweb.com\/wp-json\/wp\/v2\/posts\/1540\/revisions\/1545"}],"wp:attachment":[{"href":"https:\/\/www.zanzanweb.com\/wp-json\/wp\/v2\/media?parent=1540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zanzanweb.com\/wp-json\/wp\/v2\/categories?post=1540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zanzanweb.com\/wp-json\/wp\/v2\/tags?post=1540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}