<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Kerf Blog]]></title><description><![CDATA[Kerf Blog]]></description><link>https://kerf.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6adb7ad6613dfce455237108/9f4dd26e-cd99-4b00-894f-e7f7fcba806a.png</url><title>Kerf Blog</title><link>https://kerf.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 25 Oct 2026 19:11:59 GMT</lastBuildDate><atom:link href="https://kerf.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Changed the Design After Launch? How to Update an AI-Made WordPress Site Without Losing Your Edits]]></title><description><![CDATA[Here is a situation every designer meets sooner or later. The site is live on WordPress. The client has already rewritten the hero, swapped the team photos…]]></description><link>https://kerf.hashnode.dev/update-ai-website-without-losing-edits</link><guid isPermaLink="true">https://kerf.hashnode.dev/update-ai-website-without-losing-edits</guid><category><![CDATA[WordPress]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[Freelancing]]></category><dc:creator><![CDATA[Kerf]]></dc:creator><pubDate>Fri, 23 Oct 2026 16:00:09 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adb7ad6613dfce455237108/fc1fd8ac-0558-4992-aec8-135d43018468.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here is a situation every designer meets sooner or later. The site is live on WordPress. The client has already rewritten the hero, swapped the team photos and added a paragraph to services. And now they want a new testimonials section and a different pricing layout.</p>
<p>You can ask your AI tool for the new design in minutes. The hard part is getting it onto the live site <strong>without wiping out everything that was edited in WordPress</strong>.</p>
<h2>Why Re-Importing Everything Is Risky</h2>
<p>If you simply import the whole new design over the old one, every page goes back to the words and pictures in the ZIP. The client’s edits disappear. Copying sections across by hand avoids that, but it’s slow and easy to get wrong.</p>
<h2>How Kerf Updates a Design Section by Section</h2>
<p>When <a href="https://kerf.site/">Kerf</a> imports a design, it remembers where each top-level section came from. When you upload a newer ZIP (or paste updated HTML) under <strong>Kerf → Update design</strong>, it lines up the old sections with the new ones and sorts every section:</p>
<table>
<thead>
<tr>
<th>Section is…</th>
<th>What Kerf does</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Unchanged</strong></td>
<td>Leaves it alone.</td>
</tr>
<tr>
<td><strong>Changed in the new design</strong> (not edited in WordPress)</td>
<td>Ticked, ready to apply.</td>
</tr>
<tr>
<td><strong>Added or removed</strong></td>
<td>Listed with its own checkbox.</td>
</tr>
<tr>
<td><strong>Edited in WordPress</strong> and changed in the design</td>
<td><strong>Unticked by default</strong>, with a clear warning—so live edits aren’t overwritten by accident.</td>
</tr>
</tbody></table>
<p>You tick or untick what you want, choose whether to update stylesheets, scripts and new pictures too, and click <strong>Apply selected changes</strong>.</p>
<h2>A Workflow That Works</h2>
<ol>
<li><strong>Keep the files you imported.</strong> Ask your AI tool to change the design in those same files, keeping file names and the sections you’re not changing as they are.</li>
<li><strong>Ask for one change at a time</strong> when you can—“add a testimonials section after services”—so the comparison shows only what you meant to change.</li>
<li><strong>Zip the whole site again</strong> and upload it under <strong>Kerf → Update design</strong>.</li>
<li><strong>Read the list before applying.</strong> Anything marked as edited in WordPress deserves a look: apply it only if the new design should win.</li>
</ol>
<h2>And If You Change Your Mind: Undo</h2>
<p>Every import and every design update can be undone. <strong>Undo last import / update</strong> restores the pages, header and footer, templates and asset settings to how they were just before. <a href="https://kerf.site/docs/updating-a-design/">Read the Update design documentation →</a></p>
<blockquote>
<h4>For Client Sites: Client Mode</h4>
<p>Fewer surprises start with fewer accidents. Give your client an Editor account and <a href="https://kerf.site/docs/client-mode-and-settings/">client mode</a> keeps the layout locked—blocks can’t be moved, added or deleted—while words, pictures and links stay editable.</p>
</blockquote>
<p>See it for yourself: <a href="https://kerf.site/demo/">try Kerf free in your browser</a>, import a design, edit a section, then upload a changed version under Update design.</p>
<hr />
<p><em>Originally published on <a href="https://kerf.site/blog/update-ai-website-without-losing-edits/">kerf.site</a>. Try Kerf free in your browser — a private WordPress with Kerf installed, no sign-up: <a href="https://kerf.site/demo/">https://kerf.site/demo/</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Your AI-Made Website’s Contact Form Doesn’t Send? How to Make It Work on WordPress]]></title><description><![CDATA[AI tools are very good at drawing contact forms: tidy labels, rounded inputs, a confident Send message button. Then a visitor fills it in, presses the…]]></description><link>https://kerf.hashnode.dev/ai-website-contact-form-wordpress</link><guid isPermaLink="true">https://kerf.hashnode.dev/ai-website-contact-form-wordpress</guid><category><![CDATA[WordPress]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[HTML]]></category><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Kerf]]></dc:creator><pubDate>Fri, 23 Oct 2026 15:58:24 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adb7ad6613dfce455237108/b0cfde56-e390-47f8-a8fb-71f791284fee.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>AI tools are very good at drawing contact forms: tidy labels, rounded inputs, a confident <em>Send message</em> button. Then a visitor fills it in, presses the button—and nothing reaches anyone.</p>
<p>That isn’t the AI’s mistake. A form in plain HTML only <em>describes</em> the fields; something on a server has to receive the message and deliver it. Static HTML has no such server. Here’s how to fix that without giving up the design.</p>
<h2>Why the Form Does Nothing</h2>
<p>An HTML <code>&lt;form&gt;</code> sends its fields to the address in its <code>action</code> attribute. AI-generated pages usually leave that empty, point it at <code>#</code>, or attach a small script that shows “Thanks!” without sending anything. Either way, the message goes nowhere.</p>
<h2>The Usual Fixes</h2>
<ul>
<li><strong>A third-party form endpoint:</strong> point the form’s <code>action</code> at a hosted form service. It works on static hosting, but it’s one more account, often a monthly plan, and your messages live outside your site.</li>
<li><strong>Rebuild the form with a WordPress form plugin:</strong> reliable, but the plugin outputs its own markup and classes, so the form stops looking like the design.</li>
<li><strong>Write a handler yourself:</strong> fine if you’re a developer and want to maintain it—including spam protection.</li>
</ul>
<h2>How Kerf Makes the Same Form Work</h2>
<p>When <a href="https://kerf.site/">Kerf</a> imports a page with a form—other than a search form or one that already posts to an outside address—it keeps every <code>&lt;input&gt;</code>, <code>&lt;textarea&gt;</code>, <code>&lt;select&gt;</code> and button exactly as styled, and turns on <strong>Send this form with Kerf</strong>:</p>
<ul>
<li>Visitors submit the form on the page and see a clear status message.</li>
<li>Kerf emails the submission to your site’s recipient address, with any uploaded files attached.</li>
<li>Every submission is also saved under <strong>Kerf → Form entries</strong>, so a message isn’t lost if an email goes astray.</li>
</ul>
<p>Block Editor — Contact form settings</p>
<p><img src="https://kerf.site/assets/img/screenshot-8.png" alt="A contact form selected in the WordPress block editor with the Send this form with Kerf setting turned on" /></p>
<p><em>Select the form in the editor to change its confirmation message or turn Kerf’s handling off.</em></p>
<h3>Spam Protection Included</h3>
<p>Forms on a public site attract bots. Kerf adds an invisible honeypot field and a timing check, limits how often one address can submit, and keeps suspected spam in its own <strong>Spam</strong> folder under Form entries instead of your inbox.</p>
<h3>A Tip on Email Delivery</h3>
<p>Like any email a WordPress site sends, delivery depends on how your host handles mail. If messages land in spam or don’t arrive, a standard SMTP plugin connected to a proper mail service usually fixes it—and in the meantime every message is still waiting under Form entries.</p>
<blockquote>
<h4>Business Details, Too</h4>
<p>The phone number and email next to the form usually appear in the header and footer as well. Kerf links them to <strong>Kerf → Site details</strong>, so changing them once updates every page—including the <code>tel:</code> and <code>mailto:</code> links. <a href="https://kerf.site/docs/forms-and-site-details/">Read the forms documentation →</a></p>
</blockquote>
<p>Want to see it with your own design? <a href="https://kerf.site/demo/">Try Kerf free in your browser</a>—drop in your ZIP and open the contact page in the editor.</p>
<hr />
<p><em>Originally published on <a href="https://kerf.site/blog/ai-website-contact-form-wordpress/">kerf.site</a>. Try Kerf free in your browser — a private WordPress with Kerf installed, no sign-up: <a href="https://kerf.site/demo/">https://kerf.site/demo/</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Lovable, Bolt or v0 Site to WordPress? An Honest Guide to What Works Today]]></title><description><![CDATA[We make Kerf, a WordPress theme that imports websites made by AI tools. One question comes up again and again: “I built my site with Lovable (or Bolt, or…]]></description><link>https://kerf.hashnode.dev/lovable-bolt-v0-to-wordpress</link><guid isPermaLink="true">https://kerf.hashnode.dev/lovable-bolt-v0-to-wordpress</guid><category><![CDATA[WordPress]]></category><category><![CDATA[React]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[Web Development]]></category><dc:creator><![CDATA[Kerf]]></dc:creator><pubDate>Fri, 23 Oct 2026 15:56:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adb7ad6613dfce455237108/4ca3741c-3b6f-48cd-a0c2-e5a5cf5b3526.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We make <a href="https://kerf.site/">Kerf</a>, a WordPress theme that imports websites made by AI tools. One question comes up again and again: <em>“I built my site with Lovable (or Bolt, or v0). Can I put it on WordPress?”</em></p>
<p>The honest answer is: not by importing it—not with Kerf, and not with any tool that works from HTML. Here’s why, and what you can do instead.</p>
<h2>Why a React App Is Different from an HTML Website</h2>
<p>Tools like ChatGPT, Claude, Gemini and Google Stitch can give you <strong>HTML files</strong>: open <code>index.html</code> and the whole page is there—every heading, paragraph and picture written out in the file.</p>
<p>Lovable, Bolt and v0 typically build <strong>React apps</strong>. Their source is components and a <code>package.json</code>; a build step bundles it into JavaScript, and the page is assembled in the visitor’s browser when that JavaScript runs. Open the built <code>index.html</code> and you’ll mostly find an empty container like <code>&lt;div id="root"&gt;&lt;/div&gt;</code>.</p>
<p>An HTML importer turns the elements in the HTML into editable blocks. When the elements only exist after a script builds them, there is nothing in the file to turn into blocks. That’s why Kerf doesn’t import these apps yet—and why its pre-import check tells you so before anything changes on your site.</p>
<h2>Your Real Options</h2>
<h3>1. Keep the App Where It Is, and Add WordPress Next to It</h3>
<p>If the site is mostly an app—logins, dashboards, live data—keep hosting it where it runs well today (for example Netlify or Vercel). If you also want a blog or editable marketing pages, run WordPress alongside it, for example on a subdomain, and link between the two.</p>
<h3>2. Use WordPress as the Content Source (Headless)</h3>
<p>A developer can keep the React front end and have it fetch posts and pages from WordPress’s REST API. Editors write in WordPress; the app shows the content. It’s flexible, but it is a development project, not a one-click move, and the WordPress block editor won’t show your app’s design while you edit.</p>
<h3>3. Rebuild the Pages in WordPress</h3>
<p>For a simple marketing site, rebuilding by hand in a page builder or block theme works. It takes time, and the result is a look-alike rather than the same design.</p>
<h3>4. Recreate the Design as Plain HTML, Then Import It</h3>
<p>If what you love is the <em>look</em>, not the app logic, you can ask an AI tool to recreate the pages as plain HTML, CSS and JavaScript—no React, no build step. That version is a normal website, and an HTML website can be imported into WordPress as editable blocks. Our <a href="https://kerf.site/blog/claude-chatgpt-gemini-to-wordpress/">prompt brief for WordPress-ready AI HTML</a> lists what to ask for.</p>
<blockquote>
<h4>How to Tell Which Kind You Have</h4>
<p>If your project has a <code>package.json</code> and you need to run something like <code>npm run build</code> to see it, it’s an app. If you can double-click <code>index.html</code> and see the full page with its words in the file, it’s HTML—and that’s the kind Kerf imports.</p>
</blockquote>
<h2>What Kerf Is For</h2>
<p>Kerf is built for HTML websites: the ZIP you get from ChatGPT, Claude, Gemini or Google Stitch, or from a designer. It keeps the same tags, classes, stylesheets and scripts, and makes every word, picture and menu editable in WordPress. If that’s what you have, you can <a href="https://kerf.site/demo/">try it free in your browser</a>—a private WordPress with Kerf installed, no sign-up.</p>
<hr />
<p><em>Originally published on <a href="https://kerf.site/blog/lovable-bolt-v0-to-wordpress/">kerf.site</a>. Try Kerf free in your browser — a private WordPress with Kerf installed, no sign-up: <a href="https://kerf.site/demo/">https://kerf.site/demo/</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Google Stitch to WordPress: How to Turn a Stitch Design into an Editable WordPress Site]]></title><description><![CDATA[Google Stitch is one of the quickest ways to get from an idea to a polished set of screens: describe the site, refine it in a few prompts, and you have a…]]></description><link>https://kerf.hashnode.dev/google-stitch-to-wordpress</link><guid isPermaLink="true">https://kerf.hashnode.dev/google-stitch-to-wordpress</guid><category><![CDATA[WordPress]]></category><category><![CDATA[Tailwind CSS]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Kerf]]></dc:creator><pubDate>Fri, 23 Oct 2026 15:54:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adb7ad6613dfce455237108/636e7bba-97f0-4301-9021-f03c3f18bc45.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Google Stitch is one of the quickest ways to get from an idea to a polished set of screens: describe the site, refine it in a few prompts, and you have a home page, an about page and a contact page that look like a studio designed them.</p>
<p>Then the practical question arrives: <strong>where does it live?</strong> If you or your client want to change words, swap photos, publish posts and read form messages without touching code, the answer is usually WordPress. This guide shows how to get a Stitch design there with the design intact.</p>
<h2>What Stitch Actually Gives You</h2>
<p>Stitch can export a screen’s code: an HTML page styled with Tailwind CSS utility classes. That matters, because HTML is exactly what a browser—and WordPress—can show without a build step. Unlike a React app, there is nothing to compile: the page you see is the page in the file.</p>
<p>Before you export, check three things:</p>
<ol>
<li><strong>Export every screen you want as a page</strong>—home, about, services, contact—not just the first one.</li>
<li><strong>Name the files after the pages</strong> (<code>index.html</code> for the home page, then <code>about.html</code>, <code>contact.html</code> and so on) and put them in one folder.</li>
<li><strong>Keep any pictures you downloaded next to the HTML</strong> (an <code>images/</code> folder is fine), then zip the folder.</li>
</ol>
<h2>The Usual Ways to Put It on WordPress</h2>
<table>
<thead>
<tr>
<th>Approach</th>
<th>What you get</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Paste it into a Custom HTML block</strong></td>
<td>The page shows, but every word and picture is locked inside code. Fine for a quick test, not for a site someone edits.</td>
</tr>
<tr>
<td><strong>Rebuild it in a page builder</strong></td>
<td>Editable, but you recreate every section by eye. Tailwind’s utility classes don’t map onto builder widgets, so spacing and type drift.</td>
</tr>
<tr>
<td><strong>Have a developer write a theme</strong></td>
<td>Faithful if done well, but slow and expensive for a design that already exists.</td>
</tr>
<tr>
<td><strong>Import it with <a href="https://kerf.site/">Kerf</a></strong></td>
<td>The same HTML, the same Tailwind classes and the same scripts, as blocks you edit in WordPress’s own editor.</td>
</tr>
</tbody></table>
<h2>Importing a Stitch Export with Kerf</h2>
<p>Kerf is a WordPress theme with an importer built in. It doesn’t translate your design into its own widgets: almost every element becomes one block that renders exactly that element, with its own tag, classes and attributes.</p>
<h3>Step 1: Drop in the ZIP and Read the Check</h3>
<p>Open <strong>Kerf → Import design</strong> and drop in your ZIP. Before anything is written to your site, Kerf counts the pages, stylesheets, scripts and pictures it found and flags any file the HTML refers to that isn’t in the ZIP—so a missing picture shows up here, not after launch.</p>
<p>Kerf → Import design — the check before importing</p>
<p><img src="https://kerf.site/assets/img/screenshot-3.png" alt="Kerf's pre-import check listing the pages, stylesheets, scripts and pictures found in a ZIP" /></p>
<p><em>The check runs before anything changes on your site. (Shown with our Copperline Studio sample.)</em></p>
<h3>Step 2: Import the Whole Site</h3>
<p>With the default scope, <strong>Whole site</strong>, the header and footer of <code>index.html</code> become your site’s shared header and footer, <code>index.html</code> becomes the front page, and each other HTML file becomes a WordPress page (or a template, if it is a blog or post layout). Stylesheets and scripts—including a Tailwind script tag, if your export uses one—load in the same order the HTML gave them.</p>
<h3>Step 3: Point the Menu at the Right Pages</h3>
<p>Screens designed one at a time often have menu links that go nowhere (<code>href="#"</code>). Kerf leaves <code>#</code> links alone, so after the import select the header, open the <strong>Menu</strong> panel in the editor sidebar and point each item at its page. Links written as file names (<code>about.html</code>) are matched to pages automatically, and <strong>Kerf → Links</strong> lists any that still need a destination—with a <strong>Create page</strong> button for each.</p>
<h3>Step 4: Edit It Like Any WordPress Site</h3>
<p>Open a page in the block editor and you see your Stitch design, with its stylesheets loaded in the editor canvas. Click a heading to retype it, click a picture to swap it from the Media Library, and a contact form already sends email and saves each message under <strong>Kerf → Form entries</strong>.</p>
<blockquote>
<h4>Tip: One Header for Every Screen</h4>
<p>Because the home page’s header and footer become the shared ones, the import is cleanest when every Stitch screen uses the same header and footer. If Stitch varied them, ask it to make them identical before you export.</p>
</blockquote>
<h2>Try Your Own Stitch Export, Free</h2>
<p>You can test this with your own design before deciding anything: <a href="https://kerf.site/demo/">Try it free in your browser</a> opens a private WordPress with Kerf installed—no sign-up, nothing to install. Drop in your Stitch ZIP, then close the tab and it’s gone.</p>
<hr />
<p><em>Originally published on <a href="https://kerf.site/blog/google-stitch-to-wordpress/">kerf.site</a>. Try Kerf free in your browser — a private WordPress with Kerf installed, no sign-up: <a href="https://kerf.site/demo/">https://kerf.site/demo/</a></em></p>
]]></content:encoded></item><item><title><![CDATA[How to Turn an AI-Generated HTML Website into a WordPress Site in One Click (Without Elementor or Rebuilding)]]></title><description><![CDATA[Building a custom website used to take three weeks of wireframing. Today, you can open Claude, ChatGPT, Gemini, or Google Stitch, describe your business…]]></description><link>https://kerf.hashnode.dev/html-to-wordpress-without-rebuilding</link><guid isPermaLink="true">https://kerf.hashnode.dev/html-to-wordpress-without-rebuilding</guid><category><![CDATA[WordPress]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Kerf]]></dc:creator><pubDate>Fri, 23 Oct 2026 15:52:11 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adb7ad6613dfce455237108/f19a8808-5065-430f-8bb1-695286da6684.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Building a custom website used to take three weeks of wireframing. Today, you can open Claude, ChatGPT, Gemini, or Google Stitch, describe your business, and get back a genuinely great multi-page website in twenty minutes—complete with custom typography, responsive CSS Grid layouts, smooth scroll animations, and interactive scripts.</p>
<p>And then comes the moment every founder, freelancer, and agency hits the wall: <strong>“How do I put this on WordPress so my team or client can actually edit it?”</strong></p>
<p>Until now, every answer to that question was painful. In this guide, we’ll compare the traditional ways people bring HTML into WordPress—and walk through how <a href="https://kerf.site/">Kerf</a> imports an AI tool's or a designer's HTML ZIP into a real, editable WordPress site in one click. (Not yet: React apps that need a build step, such as Lovable, Bolt or v0 — Kerf's check tells you before anything changes.)</p>
<h2>Why the 3 Traditional Ways Break Your AI Design</h2>
<p>When you download a <code>.zip</code> folder of HTML, CSS, and JavaScript from an AI tool, you have a finished front-end design. Look at what happens when you try to move it into WordPress the old-fashioned way:</p>
<table>
<thead>
<tr>
<th>Approach</th>
<th>Time Required</th>
<th>What Happens to Your Design</th>
</tr>
</thead>
<tbody><tr>
<td><strong>1. Rebuild by hand in Elementor / Divi</strong></td>
<td>1–3 days per site</td>
<td>You recreate every section by eye inside a proprietary widget tree. Spacing shifts, custom CSS animations disappear, the page fills with the builder's wrappers, and you pay an annual plugin subscription forever.</td>
</tr>
<tr>
<td><strong>2. Convert to core Gutenberg blocks</strong></td>
<td>4–8 hours of fixing CSS</td>
<td>Standard block converters normalize your markup—wrapping tables in <code>&lt;figure class="wp-block-table"&gt;</code> and replacing your <code>&lt;nav&gt;</code> with <code>wp_nav_menu()</code>. Suddenly stylesheet selectors written for your original markup stop matching.</td>
</tr>
<tr>
<td><strong>3. Hand-code a custom PHP theme</strong></td>
<td>Days of PHP, or a developer's bill</td>
<td>Splitting <code>header.php</code>, <code>footer.php</code>, <code>functions.php</code>, and registering editable fields in ACF works—but the moment you want to edit a section visually, you’re back in code.</td>
</tr>
</tbody></table>
<blockquote>
<h4>The Root Cause</h4>
<p>The usual HTML-to-WordPress routes convert your design <em>into</em> their own widget or block vocabulary. Every wrapper element or renamed class is a markup decision your designer didn’t make—and the cost shows up as CSS that quietly breaks.</p>
</blockquote>
<h2>How Kerf Imports HTML into WordPress Without Rewriting Your Markup</h2>
<p>We built <strong>Kerf</strong> around a simple rule: <em>the mockup is the design, and the theme’s job is to get out of its way</em>. Instead of forcing your HTML into opinionated widgets, Kerf is a WordPress full-site-editing theme with a deterministic DOM converter and asset pipeline built inside.</p>
<p>Here is the entire workflow from AI ZIP to live WordPress site:</p>
<h3>Step 1: Drop Your ZIP into Kerf → Import Design</h3>
<p>In your WordPress admin, open <strong>Kerf → Import design</strong> and drag in your ZIP archive (or paste a single page’s HTML). Kerf runs a pre-flight check before touching your site—counting your pages, stylesheets, scripts, and images, and flagging any missing files up front.</p>
<p>copperline-studio.zip — Pre-import check</p>
<p><img src="https://kerf.site/assets/img/screenshot-3.png" alt="Kerf pre-import check screen showing 1 page, 3 stylesheets, 3 scripts and 22 pictures" /></p>
<p><em>Kerf inspects every page, stylesheet, script, and image in your ZIP before importing.</em></p>
<h3>Step 2: Click Import and Check the Match</h3>
<p>In a single pass (a few seconds for a design like our sample), Kerf:</p>
<ol>
<li><strong>Stages your asset folders</strong> (<code>css/</code>, <code>js/</code>, <code>fonts/</code>, <code>images/</code>) keeping the folder hierarchy intact so relative <code>url(../images/...)</code> paths in CSS resolve without rewriting.</li>
<li><strong>Imports content images into the WordPress Media Library</strong> so you can swap any photo in the editor while keeping responsive <code>srcset</code> support.</li>
<li><strong>Registers stylesheets and scripts in exact source order</strong> through WordPress’s dependency graph.</li>
<li><strong>Splits <code>&lt;header&gt;</code>, <code>&lt;main&gt;</code>, and <code>&lt;footer&gt;</code></strong> into shared FSE template parts and editable pages.</li>
<li><strong>Audits every CSS selector</strong> in your stylesheets against the rendered WordPress DOM and prints your fidelity report.</li>
</ol>
<p>Fidelity Report — 134 of 134 CSS selectors matched (100%)</p>
<p><img src="https://kerf.site/assets/img/screenshot-4.png" alt="Kerf import report showing 100% CSS selector match on Copperline Studio" /></p>
<p><em>On our Copperline Studio design, 134 out of 134 CSS selectors match on the first pass.</em></p>
<h3>Step 3: Edit Words, Pictures, Menus, and Forms in Place</h3>
<p>Open the imported page in the WordPress Block Editor and you’ll see your actual design—with your stylesheets loaded inside the canvas, scroll-hidden sections automatically revealed for editing, and every HTML tag and class named clearly in List View.</p>
<ul>
<li><strong>Click any text or image</strong> to edit it in place.</li>
<li><strong>Open the Menu panel</strong> to rename, reorder, or re-link navigation items without losing your <code>&lt;nav&gt;</code> markup.</li>
<li><strong>Select any <code>&lt;form&gt;</code></strong>—it already sends emails and saves entries under <strong>Kerf → Form entries</strong> automatically.</li>
</ul>
<h2>Test It Right Now in Your Browser (No Sign-Up)</h2>
<p>You don’t have to take our word for it—or even spin up a WordPress server to test your own ZIP. Click <a href="https://kerf.site/demo/">Try it free in your browser</a> to launch a private WordPress Playground with Kerf pre-installed, and drop in either our sample Copperline Studio ZIP or your own AI-made website.</p>
<hr />
<p><em>Originally published on <a href="https://kerf.site/blog/html-to-wordpress-without-rebuilding/">kerf.site</a>. Try Kerf free in your browser — a private WordPress with Kerf installed, no sign-up: <a href="https://kerf.site/demo/">https://kerf.site/demo/</a></em></p>
]]></content:encoded></item><item><title><![CDATA[ChatGPT, Claude & Gemini Write Great Websites — Here Is the Exact Prompt Brief to Make Them WordPress-Ready]]></title><description><![CDATA[Large language models have crossed a threshold in front-end web design. When given clear art direction, Claude, ChatGPT, Google Gemini, and Google Stitch…]]></description><link>https://kerf.hashnode.dev/claude-chatgpt-gemini-to-wordpress</link><guid isPermaLink="true">https://kerf.hashnode.dev/claude-chatgpt-gemini-to-wordpress</guid><category><![CDATA[WordPress]]></category><category><![CDATA[Prompt Engineering]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[Web Development]]></category><dc:creator><![CDATA[Kerf]]></dc:creator><pubDate>Fri, 23 Oct 2026 15:48:21 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adb7ad6613dfce455237108/8b104905-747b-44e8-9e73-a58f321de441.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Large language models have crossed a threshold in front-end web design. When given clear art direction, <strong>Claude</strong>, <strong>ChatGPT</strong>, <strong>Google Gemini</strong>, and <strong>Google Stitch</strong> don’t just write passable boilerplate—they produce bespoke layouts, cohesive CSS custom-property systems, micro-interactions, and responsive breakpoints that rival custom studio builds.</p>
<p>However, how you prompt the model determines whether you get a disconnected code demo or a clean, multi-page HTML package that drops straight into WordPress via <a href="https://kerf.site/">Kerf</a>. Here is the exact structural brief we use—and why each instruction matters.</p>
<h2>The 5 Rules of WordPress-Ready AI HTML</h2>
<p>Although Kerf’s converter handles everything from messy inline styles to third-party carousels, asking your AI tool for five specific habits turns a good import into an effortless one:</p>
<ol>
<li><strong>Use semantic top-level landmarks (<code>&lt;header&gt;</code>, <code>&lt;main&gt;</code>, <code>&lt;footer&gt;</code>):</strong> Kerf splits your home page at these boundaries so your navigation header and footer automatically become shared WordPress Template Parts across the whole site.</li>
<li><strong>Use real file links in navigation (<code>href="about.html"</code>, not <code>href="#"</code>):</strong> When links name their target page, Kerf automatically binds them to the matching WordPress pages on import and lists any uncreated pages under <a href="https://kerf.site/docs/menus-and-links/">Kerf → Links</a> so you can create drafts in one click.</li>
<li><strong>Keep shared styles in an external stylesheet (<code>css/style.css</code>):</strong> That way every inner page and blog template shares one clean stylesheet in WordPress.</li>
<li><strong>Output standard HTML, CSS, and vanilla JS (not an unbuilt React/Vite repo):</strong> Browsers—and WordPress—run HTML, CSS, and JS directly. If you use Tailwind, ask for a compiled CSS file or the Tailwind Play CDN script rather than a <code>package.json</code> build step.</li>
<li><strong>Optional—add <code>data-kerf-*</code> attributes for live blog &amp; site details:</strong> A single attribute on a blog card (<code>data-kerf-loop="latest"</code>) or phone number (<code>data-kerf-site="phone"</code>) makes it dynamic on import (or you can let Kerf AI mark it automatically!).</li>
</ol>
<h2>The Copy-Paste Prompt Brief for Claude, ChatGPT &amp; Gemini</h2>
<p>Every copy of Kerf includes a ready-made brief on <strong>Kerf → Import design</strong>, under <strong>No design yet?</strong> → <strong>Copy the brief</strong>. You can also copy this universal template directly into your next AI session:</p>
<pre><code>Build a complete, responsive website as plain HTML, CSS, and JavaScript files packaged for a ZIP folder (no React, Vite, or build step required).

Pages to include:
- index.html (Home page)
- about.html (About page)
- services.html (Services page)
- contact.html (Contact page with a standard &lt;form&gt;)
- blog.html (Blog listing page)
- post.html (Single blog post template)

Structure &amp; conventions:
1. Wrap the top navigation bar in &lt;header&gt;, the page body in &lt;main&gt; with semantic &lt;section&gt; blocks, and the site footer in &lt;footer&gt;.
2. Inside &lt;header&gt;, use a &lt;nav&gt; with real relative links (index.html, about.html, services.html, blog.html, contact.html).
3. Put shared styles in css/style.css and shared scripts in js/main.js. Keep relative asset paths clean (e.g. images/...).
4. On contact.html, use a semantic &lt;form&gt; with named &lt;input&gt; and &lt;textarea&gt; fields and a &lt;button type="submit"&gt;.
5. For dynamic WordPress binding (Kerf markup contract):
   - Mark business details with data-kerf-site="name|phone|email|address|hours".
   - On blog.html, mark the first post card with data-kerf-loop="main" and its inner elements with data-kerf-field="image", data-kerf-field="date", data-kerf-field="title permalink", and data-kerf-field="excerpt".
   - On post.html, mark the post title with data-kerf-field="title", date with data-kerf-field="date", featured image with data-kerf-field="image", and body container with data-kerf-field="content".
</code></pre>
<h2>What Happens When You Drop That ZIP into Kerf</h2>
<p>When you upload the resulting ZIP into <a href="https://kerf.site/docs/importing-a-design/">Kerf → Import design</a>:</p>
<ul>
<li><code>index.html</code>, <code>about.html</code>, <code>services.html</code>, and <code>contact.html</code> become editable WordPress pages with every link bound.</li>
<li><code>blog.html</code> and <code>post.html</code> become your live WordPress Blog and Single Post templates—rendering your real WordPress articles inside your AI design’s cards.</li>
<li>The contact form on <code>contact.html</code> immediately starts sending emails and saving leads under <strong>Kerf → Form entries</strong>.</li>
<li>Your phone number, email, address, and opening hours are wired to <strong>Kerf → Site details</strong> so you can update them in one place.</li>
</ul>
<blockquote>
<h4>Already Generated a Site Without the Brief?</h4>
<p>Don’t worry—you don’t need to re-prompt from scratch. Kerf imports unmarked HTML designs cleanly, and <strong>Mark it with AI</strong> on the import screen can add the blog and post markers for you automatically.</p>
</blockquote>
<hr />
<p><em>Originally published on <a href="https://kerf.site/blog/claude-chatgpt-gemini-to-wordpress/">kerf.site</a>. Try Kerf free in your browser — a private WordPress with Kerf installed, no sign-up: <a href="https://kerf.site/demo/">https://kerf.site/demo/</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Why Page Builders Ruin Custom HTML Designs (And How Zero-Wrapper Block Conversion Fixes It)]]></title><description><![CDATA[Every front-end developer who has tried to bring a custom HTML/CSS mockup into WordPress has experienced the same quiet heartbreak. In the browser, the…]]></description><link>https://kerf.hashnode.dev/why-page-builders-break-custom-designs</link><guid isPermaLink="true">https://kerf.hashnode.dev/why-page-builders-break-custom-designs</guid><category><![CDATA[WordPress]]></category><category><![CDATA[CSS]]></category><category><![CDATA[HTML]]></category><category><![CDATA[Web Development]]></category><dc:creator><![CDATA[Kerf]]></dc:creator><pubDate>Fri, 23 Oct 2026 15:46:36 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adb7ad6613dfce455237108/cab07bcf-924a-48b2-bd61-892cedd045da.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every front-end developer who has tried to bring a custom HTML/CSS mockup into WordPress has experienced the same quiet heartbreak. In the browser, the static HTML file looks razor-sharp. Ten minutes after moving it into a page builder or block converter, the navigation height is off by 6 pixels, the pricing table borders have vanished, a CSS Grid has collapsed into a single column, and half the inline SVGs refuse to scale.</p>
<p>Why does that happen—even when you copy the exact same CSS file into WordPress? The answer lies in <strong>DOM wrapper pollution</strong> and <strong>cascade order</strong>.</p>
<h2>1. How Extra Wrappers Break Modern CSS</h2>
<p>Modern CSS relies heavily on parent-child relationships: Flexbox, CSS Grid, direct child combinators (<code>&gt;</code>), and adjacent sibling combinators (<code>+</code>). Consider a simple rule from a designer’s stylesheet:</p>
<pre><code>body &gt; header + main &gt; .pricing-grid &gt; article {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
</code></pre>
<p>Look at what happens in a typical WordPress theme or page builder:</p>
<ul>
<li>Full Site Editing wraps the page in <code>&lt;div class="wp-site-blocks"&gt;</code>, wraps the header in <code>&lt;header class="wp-block-template-part"&gt;&lt;header&gt;...</code>, and wraps the body in <code>&lt;div class="entry-content wp-block-post-content"&gt;</code>. Now <code>body &gt; header + main</code> never matches.</li>
<li>A page builder wraps every widget in 3 to 5 layers of <code>.elementor-widget-container</code> or <code>.et_pb_module</code> divs. Direct CSS Grid and Flex items cease to be children of the grid container.</li>
<li>WordPress’s own <code>core/table</code> block wraps every <code>&lt;table&gt;</code> in a <code>&lt;figure class="wp-block-table"&gt;</code>, breaking <code>.pricing &gt; table</code>.</li>
</ul>
<h2>2. How Kerf Keeps the Same DOM</h2>
<p>When we engineered <a href="https://kerf.site/">Kerf</a>, we set a strict benchmark: <em>success is not “does it look close,” but “is the rendered DOM the same DOM?”</em></p>
<ul>
<li><strong>Unwrapped document chrome:</strong> Kerf unwraps <code>core/template-part</code> and <code>core/post-content</code> at render time and copies your mockup’s <code>&lt;html&gt;</code> and <code>&lt;body&gt;</code> classes and <code>data-*</code> attributes onto the real document tags.</li>
<li><strong><code>kerf/div</code> renders one element with one set of attributes:</strong> A <code>&lt;section class="hero"&gt;</code> becomes a block that renders <code>&lt;section class="hero"&gt;</code>. A <code>&lt;td&gt;</code> renders a <code>&lt;td&gt;</code>. Nothing is normalized or wrapped.</li>
<li><strong>Additive-only core blocks:</strong> Headings (<code>core/heading</code>) and paragraphs (<code>core/paragraph</code>) use native WordPress blocks so you get rich text editing and Yoast/Rank Math compatibility without inserting wrapper elements.</li>
<li><strong>Case-accurate inline SVG:</strong> PHP’s <code>DOMDocument::loadHTML()</code> normally lowercases <code>viewBox</code> to <code>viewbox</code> and <code>linearGradient</code> to <code>lineargradient</code>, breaking SVG scaling. Kerf restores canonical SVG camelCase and sanitizes against a strict DOM allowlist.</li>
</ul>
<h2>3. Proving It: Pixel-by-Pixel Image Subtraction</h2>
<p>On the <a href="https://kerf.site/#proof">Kerf home page</a>, we show the Copperline Studio template opened as a static HTML file on the left and rendered by WordPress after a one-click Kerf import on the right. When you blend the two 1440×900 screenshots with CSS <code>mix-blend-mode: difference</code>, identical pixels subtract to pure black (<code>#000000</code>).</p>
<p>Copperline Studio on WordPress — 134/134 selectors matched</p>
<p><img src="https://kerf.site/assets/img/copperline-wordpress.jpg" alt="Copperline Studio running live on WordPress after a one-click import with Kerf" /></p>
<p><em>The rendered WordPress page keeps every tag, class, stylesheet, and script in source order.</em></p>
<p>Want to test how your most complex stylesheet holds up? Launch the <a href="https://kerf.site/demo/">live WordPress Playground demo</a> and drop in your ZIP to see your selector match score in seconds.</p>
<hr />
<p><em>Originally published on <a href="https://kerf.site/blog/why-page-builders-break-custom-designs/">kerf.site</a>. Try Kerf free in your browser — a private WordPress with Kerf installed, no sign-up: <a href="https://kerf.site/demo/">https://kerf.site/demo/</a></em></p>
]]></content:encoded></item><item><title><![CDATA[The 2026 Agency Playbook: Ship Custom WordPress Client Sites in an Afternoon with AI and Kerf]]></title><description><![CDATA[For independent web designers and small agencies, custom WordPress builds under $5,000 used to have razor-thin margins. You either spent days wrestling a…]]></description><link>https://kerf.hashnode.dev/ai-wordpress-workflow-for-agencies</link><guid isPermaLink="true">https://kerf.hashnode.dev/ai-wordpress-workflow-for-agencies</guid><category><![CDATA[WordPress]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[Freelancing]]></category><category><![CDATA[Web Development]]></category><dc:creator><![CDATA[Kerf]]></dc:creator><pubDate>Fri, 23 Oct 2026 15:44:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adb7ad6613dfce455237108/2d969837-c213-4beb-bcaf-3225fcf84dbd.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For independent web designers and small agencies, custom WordPress builds under $5,000 used to have razor-thin margins. You either spent days wrestling a bloated multipurpose theme into looking bespoke, or you spent days hand-coding a custom theme from a Figma mockup.</p>
<p>In 2026, the fastest-moving studios use a completely different pipeline: <strong>prototype real HTML/CSS designs with AI in the morning, import them into WordPress with <a href="https://kerf.site/">Kerf</a> after lunch, and hand off a locked, client-proof CMS before dinner.</strong></p>
<h2>1. Prototype in Real HTML Instead of Static Pictures</h2>
<p>Instead of showing a client flat images that still have to be rebuilt from scratch once approved, agencies use Claude, ChatGPT, Gemini, or their own front-end library to generate a real multi-page HTML folder. The client previews real responsive typography, hover states, and scroll animations in their browser on Day 1.</p>
<h2>2. Import the Entire Multi-Page Site in One Pass</h2>
<p>Once the client approves the direction, you upload the ZIP under <strong>Kerf → Import design</strong>:</p>
<ul>
<li>Each page of the design becomes a WordPress page, and its marked blog, post and 404 files become templates (Kerf AI can mark them for you).</li>
<li>Internal links across the header, footer, and call-to-action buttons bind automatically to the created WordPress pages.</li>
<li>Contact forms that posted nowhere start emailing notifications and storing leads in <strong>Kerf → Form entries</strong>.</li>
</ul>
<h2>3. Handle Client Revisions with Section-by-Section Sync</h2>
<p>What happens when the client emails two days later asking for a new testimonial carousel on the home page—after your copywriter has already edited the hero and services text inside WordPress?</p>
<p>With <a href="https://kerf.site/docs/updating-a-design/">Kerf → Update design</a>, you upload the updated ZIP and Kerf diffs the design section by section:</p>
<ul>
<li>New and updated sections from the mockup are checked and ready to apply.</li>
<li>Sections your team already edited inside WordPress are automatically detected and left <strong>unchecked</strong> so live copy is never overwritten.</li>
<li>Every update is backed by one-click <strong>Undo</strong>.</li>
</ul>
<h2>4. Wire Up Site Details &amp; Lock the Layout with Client Mode</h2>
<p>Before handing over the WordPress login, two built-in agency features save hours of future support tickets:</p>
<ol>
<li><strong><a href="https://kerf.site/docs/forms-and-site-details/">Kerf → Site details</a>:</strong> Centralizes the client’s business name, phone number, email, physical address, and opening hours. When the client changes their phone number or seasonal hours on that one screen, the header, footer, and contact page update everywhere.</li>
<li><strong><a href="https://kerf.site/docs/client-mode-and-settings/">Client mode</a>:</strong> Give your client an Editor account and client mode is on for them (<strong>Kerf → Settings</strong> can turn it off). Your client can freely edit headlines, paragraphs, images, background pictures, and links in the Block Editor—while block movement, deletion, insertion, and HTML class settings are completely locked.</li>
</ol>
<blockquote>
<h4>One-Time Lifetime Agency Licensing</h4>
<p>Unlike a page-builder subscription renewed every year, Kerf is a one-time payment with lifetime updates: <strong>$99 for 5 sites (Freelancer)</strong> or <strong>$199 for unlimited sites (Agency)</strong> at launch pricing. <a href="https://kerf.site/#pricing">Compare plans →</a></p>
</blockquote>
<hr />
<p><em>Originally published on <a href="https://kerf.site/blog/ai-wordpress-workflow-for-agencies/">kerf.site</a>. Try Kerf free in your browser — a private WordPress with Kerf installed, no sign-up: <a href="https://kerf.site/demo/">https://kerf.site/demo/</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Static HTML Hosting vs. WordPress for AI Websites: Why Clients Still Need a Real CMS]]></title><description><![CDATA[When someone generates their first website with ChatGPT, Claude, or Gemini, the most tempting shortcut is to drag the static HTML folder onto a static host…]]></description><link>https://kerf.hashnode.dev/static-html-vs-wordpress-cms</link><guid isPermaLink="true">https://kerf.hashnode.dev/static-html-vs-wordpress-cms</guid><category><![CDATA[WordPress]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[HTML]]></category><category><![CDATA[cms]]></category><dc:creator><![CDATA[Kerf]]></dc:creator><pubDate>Fri, 23 Oct 2026 15:41:44 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adb7ad6613dfce455237108/5862356d-4637-4604-b350-087d363c6134.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When someone generates their first website with ChatGPT, Claude, or Gemini, the most tempting shortcut is to drag the static HTML folder onto a static host and call it done. For a weekend personal landing page, that works fine.</p>
<p>For a real business or client website, the cracks appear on Day 2.</p>
<h2>What Happens on Day 2 of a Static HTML Site</h2>
<p>As soon as a business site goes live, non-technical owners and marketing teams need to do five everyday tasks that raw HTML files make surprisingly painful:</p>
<ol>
<li><strong>Fixing a typo or swapping a team photo:</strong> Without a CMS, changing one sentence or replacing a headshot means opening a code editor, editing raw HTML tags, resizing images manually, and re-deploying files.</li>
<li><strong>Publishing articles for SEO:</strong> A static <code>blog.html</code> file is just a façade. Without a database, categories, RSS feeds, pagination, and dynamic templates, every new blog post requires duplicating HTML files and manually updating index cards across the site.</li>
<li><strong>Receiving contact form leads reliably:</strong> Static HTML <code>&lt;form&gt;</code> tags don’t send email or store submissions without wiring up external third-party form endpoints and paying monthly SaaS fees.</li>
<li><strong>Using standard WordPress SEO &amp; marketing plugins:</strong> Businesses rely on Yoast SEO, Rank Math, redirection managers, analytics integrations, and caching tools that work out of the box on WordPress.</li>
<li><strong>Changing a phone number or address across 15 pages:</strong> In static HTML, that means search-and-replace across every file.</li>
</ol>
<h2>Why People Hesitated to Use WordPress—Until Now</h2>
<p>The main reason designers hesitated to put AI-made HTML sites on WordPress was the <strong>conversion tax</strong>: nobody wanted to spend two days rebuilding a finished HTML design inside Elementor or watching a theme overwrite their CSS.</p>
<h2>How Kerf Gives You Static-HTML Fidelity with a Full WordPress CMS</h2>
<p><a href="https://kerf.site/">Kerf</a> eliminates the trade-off between design fidelity and CMS power:</p>
<table>
<thead>
<tr>
<th>Capability</th>
<th>Raw Static HTML</th>
<th>Traditional WP Page Builder</th>
<th>WordPress + Kerf</th>
</tr>
</thead>
<tbody><tr>
<td><strong>The AI's HTML/CSS/JS kept as written</strong></td>
<td>Yes</td>
<td>No — rebuilt by eye</td>
<td><strong>Yes (same tags, classes &amp; CSS)</strong></td>
</tr>
<tr>
<td><strong>Visual text &amp; photo editing</strong></td>
<td>No (edit code)</td>
<td>Yes</td>
<td><strong>Yes (Native Block Editor)</strong></td>
</tr>
<tr>
<td><strong>Real blog, categories &amp; SEO plugins</strong></td>
<td>No</td>
<td>Yes</td>
<td><strong>Yes (In your design’s look)</strong></td>
</tr>
<tr>
<td><strong>Working contact forms + lead inbox</strong></td>
<td>Requires external SaaS</td>
<td>Requires extra plugin</td>
<td><strong>Built in automatically</strong></td>
</tr>
<tr>
<td><strong>Client-safe layout locking</strong></td>
<td>No</td>
<td>Limited</td>
<td><strong>Built-in Client Mode</strong></td>
</tr>
</tbody></table>
<p>With Kerf, you keep the front-end work your AI tool or designer produced, as written—and gain the publishing power, SEO ecosystem, and client editability of WordPress in a single click.</p>
<hr />
<p><em>Originally published on <a href="https://kerf.site/blog/static-html-vs-wordpress-cms/">kerf.site</a>. Try Kerf free in your browser — a private WordPress with Kerf installed, no sign-up: <a href="https://kerf.site/demo/">https://kerf.site/demo/</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Bring Your Own Gemini Key: How to Build and Edit Custom WordPress Pages with Kerf AI (With Zero Monthly AI Markup)]]></title><description><![CDATA[Many WordPress plugins that add “AI” to their name follow the same playbook: wrap a standard LLM API in a proprietary credit system and charge a monthly…]]></description><link>https://kerf.hashnode.dev/inside-kerf-ai-gemini-wordpress</link><guid isPermaLink="true">https://kerf.hashnode.dev/inside-kerf-ai-gemini-wordpress</guid><category><![CDATA[WordPress]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[gemini]]></category><category><![CDATA[Web Development]]></category><dc:creator><![CDATA[Kerf]]></dc:creator><pubDate>Fri, 23 Oct 2026 15:38:26 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6adb7ad6613dfce455237108/070fedb4-7d6c-4f9f-b7ab-b42eaf6937e6.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Many WordPress plugins that add “AI” to their name follow the same playbook: wrap a standard LLM API in a proprietary credit system and charge a monthly fee on top of your theme license.</p>
<p>When we built <strong>Kerf AI</strong> into <a href="https://kerf.site/">Kerf</a>, we took the opposite path: <strong>every Kerf plan includes the full Kerf AI suite, and it talks directly to Google using your own Gemini API key.</strong> Even a free key from Google AI Studio works, and nothing is ever sent to Google until you click an AI button.</p>
<h2>5 Ways Kerf AI Speeds Up Your WordPress Workflow</h2>
<p>Once you paste your Gemini API key under <strong>Kerf → Settings</strong>, five specialized tools unlock across your dashboard and Block Editor:</p>
<h3>1. Build a Complete Multi-Page Site from a Brief (Kerf → Build with AI)</h3>
<p>Don’t have an HTML ZIP yet? Describe your business and select up to twelve photos from your WordPress Media Library. Kerf AI designs a cohesive multi-page HTML/CSS site—including marked Blog, Single Post, and 404 templates—and opens it directly in the Kerf importer check screen.</p>
<h3>2. Turn Rough Notes or a Word Doc into a Page That Matches Your Site (Kerf → Make a Page)</h3>
<p>What happens a month after importing your site when you need a new <em>Services</em>, <em>Pricing</em>, or <em>About</em> page? Open <strong>Kerf → Make a page</strong> (or click the Kerf AI icon inside the Block Editor on a new page):</p>
<ul>
<li>Paste rough notes or upload a <strong><code>.docx</code> Word document, Markdown file, or HTML snippet</strong>.</li>
<li>Kerf AI reads your existing site’s rendered HTML structure and CSS stylesheets, then builds the new page using your design’s actual banners, cards, grids, and buttons—keeping your words verbatim.</li>
</ul>
<h3>3. Rework Any Section Inside the Block Editor</h3>
<p>Select any section on an existing page and ask Kerf AI to transform it—for example, <em>“Turn this bulleted list into a 3-column feature card grid using this page’s card styles”</em> or <em>“Add an hours-and-rates table below this heading.”</em> Because the change runs inside the Block Editor, standard <code>Ctrl+Z</code> / Undo works immediately.</p>
<h3>4. Automatically Wire Up Static Blog &amp; Post Templates</h3>
<p>If your HTML ZIP includes a <code>blog.html</code> or <code>post.html</code> file that wasn’t pre-marked with <code>data-kerf-*</code> attributes, click <strong>Mark it with AI</strong> during the import check. Kerf AI identifies the post card loops, titles, dates, featured images, comments, and pagination and binds them to live WordPress data automatically.</p>
<h3>5. Plain-English Import Diagnostics</h3>
<p>If an AI-generated ZIP has missing image references or unmatched selectors on the fidelity report, click <strong>Explain it</strong> under <strong>In plain words</strong> on the import's Done step to get a plain-English summary and an exact fix-it prompt you can paste back into the tool that generated the design.</p>
<blockquote>
<h4>Included in Every Lifetime Plan</h4>
<p>Kerf AI is included in Personal ($49), Freelancer ($99), and Agency ($199)—pay once, own it for life, and bring your own Gemini key. <a href="https://kerf.site/docs/kerf-ai/">Read the Kerf AI documentation →</a></p>
</blockquote>
<hr />
<p><em>Originally published on <a href="https://kerf.site/blog/inside-kerf-ai-gemini-wordpress/">kerf.site</a>. Try Kerf free in your browser — a private WordPress with Kerf installed, no sign-up: <a href="https://kerf.site/demo/">https://kerf.site/demo/</a></em></p>
]]></content:encoded></item></channel></rss>