<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Optimize by NOVL Blog</title>
    <link>https://optimize.bynovl.com/blog/</link>
    <description>Product updates, real stories, and proven workflows from devs, SEOs, and agencies using Optimize by NOVL to catch SEO issues before launch.</description>
    <generator>NOVL</generator>
    
    <language>en-us</language>
    <lastBuildDate>Tue, 02 Jun 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://optimize.bynovl.com/blog/rss.xml" rel="self" type="application/rss+xml"/>
    <atom:updated>2026-06-02T00:00:00+00:00</atom:updated>
    
    <item>
      <author>Optimize</author>
      <title>SEO is QA</title>
      <link>https://optimize.bynovl.com/blog/shift-left-seo/</link>
      <guid>https://optimize.bynovl.com/blog/shift-left-seo/</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate>
      <atom:updated>Tue, 02 Jun 2026 00:00:00 +0000</atom:updated>
      <dc:creator>Syd Harris</dc:creator>
      
      <category> dev-to-seo</category><category> workflow</category>
      <description>If your users can't find it in search or AI, that's costly. Learn how shift-left SEO treats visibility as a quality requirement — from the Visibility Requirements Document to continuous validation ...</description>
      <content:encoded><![CDATA[<p>There's a quality gate before anything ships. Tests run, builds are checked, and nothing goes live until it passes. But a website that no one can find in search or AI is invisible. And invisible is costly.</p>
<p>The problem is that SEO isn't treated as quality assurance. Visibility gets reviewed at the end, <a href="/blog/communication-solved-between-developers-and-seos/">handed off to a different team</a>, or skipped entirely. Shift-left SEO is a new methodology that changes where SEO sits in the software development lifecycle. The concept stems from shift-left testing, which encourages testing earlier rather than later. Applied to SEO, it becomes part of planning before any line of code is written or generated.</p>
<p>What follows is the practical application and how to structure it using a new artifact: the Visibility Requirements Document (VRD).</p>
<h2>Planning</h2>
<p>In a typical software project you'd have a Product Requirements Document (PRD) that defines the expected behavior and experience. A Technical Requirements Document (TRD) is then created that defines the functionality needed. In shift-left SEO, before the TRD is drafted, you define a Visibility Requirements Document (VRD) that outlines what's expected for visibility — not just SEO, but performance, accessibility, and any project-specific constraints that affect whether the right people can find and access what you built. Combined, you're saying this is how the website should look and feel and how we make sure the right people see it.</p>
<p><strong>What's included in a VRD?</strong></p>
<p>The PRD already has the information needed to make the right decisions. You know whether you're building a mobile or web app and the: USP (unique selling proposition), UVP (unique value proposition), industry, region, and target market. From that you can answer: what schema to include, which keywords matter, what performance thresholds apply, what accessibility constraints are required, and what's unique to this project or client.</p>
<p><strong>Technical Requirements Doc Re-defined (behavior + visibility)</strong></p>
<p>With a VRD in hand, the TRD can include the necessary guardrails and checks for both functionality and visibility. Introducing a VRD early gives the TRD an integrated risk-mitigation strategy that treats SEO as part of prevention rather than response. It's validated against a defined standard from development through launch.</p>
<h2>Development</h2>
<p>This is where visibility is won or lost. Even with a solid TRD, things get skipped — especially when QA is treated as a separate layer at the end. Developing bespoke code to validate your code isn't something most teams and freelancers have time for. That was before AI. Now that AI is writing significant portions of production code, the need to validate against a defined standard is more important than ever.</p>
<p>That's where the VRD becomes code. <a href="/">Optimize</a> turns it into an <code>optimize.config.js</code> that lives in the codebase. It runs on every change or build and checks your work against the standard you defined in planning — missing meta tags, wrong schema type, broken canonical, inaccessible markup. Not as a final audit. As a failing test. The same way a broken assertion stops a build, a visibility gap surfaces immediately instead of after launch.</p>
<p><strong>What a failed check looks like</strong></p>
<p>Say your VRD requires <code>Article</code> schema for all blog posts. A developer ships a page without it. Optimize flags it:</p>
<div class="terminal">
  <div class="terminal-header">
    <div class="terminal-dot red"></div>
    <div class="terminal-dot yellow"></div>
    <div class="terminal-dot green"></div>
  </div>
  <div class="terminal-content">
    <div><span class="cmd">$ npx optimize</span></div>
    <div class="output"><br>
      <span class="error">✖ CHECK: Schema</span><br>
      Found 1 file with issues in Schema validation.<br><br>
      PATH: blog/shift-left-seo/index.html<br>
      - Target:<br>
      &nbsp;&nbsp;&nbsp;&nbsp;Reason: missingSchemaBlock<br>
      &nbsp;&nbsp;&nbsp;&nbsp;Message: No &lt;script type="application/ld+json"&gt; block found on page.<br>
      &nbsp;&nbsp;&nbsp;&nbsp;Block: null
    </div>
  </div>
</div>
<p>That's it. One line. Fix it, re-run, validate and move on. No SEO audit scheduled for next quarter. No post-launch fire drill.</p>
<p><strong>How it fits the workflow</strong></p>
<ul>
<li>Turn any VRD into an <code>optimize.config.js</code></li>
<li>The same config runs in local CLI, PR checks, and CI/CD</li>
<li>Check a single page, a single rule, or the entire project</li>
<li>AI or manual fix — either way, the feedback is exact</li>
</ul>
<!-- VIDEO or SCREENSHOT: Show the terminal output of `npx optimize` against a project with a failed check surfacing a missing meta tag or schema issue. A short screen recording works well here; a before/after screenshot of the config → output also works. -->
<h2>The same standard, every build</h2>
<p>The heavy work is defining the right requirements once — during planning, before any code is written. Everything after that is enforcement — and <a href="/">Optimize</a> is your translation and enforcement layer. The config is small, portable, and reusable across projects. Start from a proven baseline and adapt per client. The same standard, the same process, whether you're a solo freelancer or running a full agency.</p>
<p>Want to launch ready every build? <a href="/?view=seos#join-us">Join the Optimize beta!</a>.</p>
]]></content:encoded>
    </item>
    
    <item>
      <author>Optimize</author>
      <title>How to Run Your First Optimize Workflow — No Technical Experience Needed</title>
      <link>https://optimize.bynovl.com/blog/optimize-seo-workflow-no-code/</link>
      <guid>https://optimize.bynovl.com/blog/optimize-seo-workflow-no-code/</guid>
      <pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate>
      <atom:updated>Thu, 14 May 2026 00:00:00 +0000</atom:updated>
      
      <category> workflows</category><category> seo audit</category><category> no-code</category>
      <description>Learn how to run a complete, private, and repeatable SEO audit workflow with Optimize. This step-by-step guide shows non-technical users and developers how to use AI and human input to surface, pri...</description>
      <content:encoded><![CDATA[<p>If you’ve ever wondered how to catch critical site and SEO issue before you go live and get real actionable insights, this guide is for you. Maybe you’ve tried AI tools before and found they surface issues fast, but sometimes miss the mark or lack the nuance a real human brings. Here’s a step-by-step walk-through of a real Optimize workflow, from human input to AI-powered results, using nothing but a free code editor and a few simple commands powered by Optimize. <strong>If you can copy and paste, you can do this</strong>.</p>
<hr>
<div class="media-wrapper">
<iframe width="560" height="" src="https://www.youtube.com/embed/BMLbzg5JTJE?si=D9fY_4W69bGWQG7f" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div>
<hr>
<h2>Step 1 — Get Set Up: Start with VS Code and an Empty Folder</h2>
<p>For this workflow, we're using <a href="https://code.visualstudio.com/">Visual Studio Code</a>—a free, open source code editor that works just as well for non-technical folks as it does for seasoned developers.</p>
<p>First, create an empty folder anywhere on your computer. Call it whatever you like—for this demo, we're using a folder called <code>Demo</code>. Then open VS Code, head to <strong>Menu (☰) → File → Open Folder</strong>, and select it.</p>
<p>Your workspace is now setup.</p>
<hr>
<p></p>
<h2>Step 2 — Install Optimize: One Paste in the Terminal and You're Ready</h2>
<p>Open the terminal inside VS Code (<strong>Menu (☰) → View → Terminal</strong>). If you've never touched a terminal before, don’t worry. You’ll use it once to get everything set up automatically.</p>
<p>When you join the beta, you’ll receive a setup code. Copy it, right-click inside the terminal, select <strong>Paste</strong>, then hit <strong>Enter</strong>. Watch the File Explorer on the left—you’ll see your project populate in real time as all the files you need are downloaded.</p>
<!-- > **Beta access is intentionally one-on-one.** Optimize is open source, but the beta is closed so you can work with use directly. -->
<hr>
<p></p>
<h2>Step 3 — Understand Your Project: Here’s What Just Downloaded</h2>
<p>Before you run anything, it’s worth knowing what’s in your project. These are the files that power Optimize—don’t delete them:</p>
<table>
<thead>
<tr>
<th>File / Folder</th>
<th>What it does</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>optimize.config.js</code></td>
<td>Where you define your SEO standards for this project—the rules Optimize will enforce on every build</td>
</tr>
<tr>
<td><code>package.json</code> &amp; <code>package-lock.json</code></td>
<td>Project configuration files that tell the system which version of Optimize to run</td>
</tr>
<tr>
<td><code>.npmrc</code></td>
<td>Stores your token and npm registry URL so you can download the right package source</td>
</tr>
<tr>
<td><code>skill/</code></td>
<td>Your AI connector—lets you talk to the AI chat window in VS Code and have it understand Optimize’s output, fix issues, and explain what’s going on</td>
</tr>
<tr>
<td><code>_site/</code></td>
<td>An empty folder ready for your HTML files. Or use your own static site build folder and Optimize will analyze it. Works with any astro, hugo eleventy and more</td>
</tr>
</tbody>
</table>
<p>For developers: the skill works great inside GitHub Copilot CLI or Claude Code. For everyone else, the built-in VS Code chat window works perfectly.</p>
<hr>
<p></p>
<h2>Step 4 — Run Your First Audit: Crawl a Live Page and See the Issues Instantly</h2>
<p>Here’s where it gets satisfying. Optimize comes with a built-in crawl command that lets you grab any live web page, analyze its HTML, and surface SEO issues right inside the terminal—no browser plugin, no dashboard, no sign-in required.</p>
<p>Head back to the terminal and run:</p>
<pre><code class="language-bash">optimize --crawl example.com
</code></pre>
<p>Optimize fetches the page’s HTML and checks it against your project’s standards immediately. Any issues—missing meta tags, broken heading structure, absent schema, Open Graph gaps—show up as a clear, itemized list right in the terminal. Just what needs fixing and where.</p>
<p><strong>Example Output:</strong></p>
<pre><code class="language-text">index.html
  reason: Missing meta description
  message: The page is missing a meta description tag, which helps search engines understand your content.
</code></pre>
<hr>
<p></p>
<h2>Step 5 — Export for AI: Turn Your Results Into Something AI Can Act On</h2>
<p>Let’s make the results easy to work with. Run this command to export them into a clean JSON file stored in your project root:</p>
<pre><code class="language-bash">optimize --json results.json
</code></pre>
<p>Once that’s done, open the chat window in VS Code. Choose whichever AI model you prefer, and start by asking it to load the Optimize site skill:</p>
<blockquote>
<p><em>Load the Optimize site skill.</em></p>
</blockquote>
<p>Once the skill is loaded, the AI understands Optimize’s output format and knows how to interpret the results. Then ask it:</p>
<blockquote>
<p><em>Summarize and prioritize the issues in results.json.</em></p>
</blockquote>
<p>And that’s it. The AI reads the results, ranks the issues by impact, and gives you a clear action plan—in plain language, not developer jargon. It can also fix things directly in your files if you ask it to.</p>
<hr>
<p></p>
<h2>Step 6 — What You Just Ran: A Complete, Private, Repeatable SEO Workflow</h2>
<p>Let’s take a step back. You crawled a live site, surfaced SEO issues against a defined standard, exported the results, and had an AI summarize and prioritize them—all without leaving VS Code, without sending data to any external server, and without needing a single piece of technical expertise beyond copying a command.</p>
<ul>
<li><strong>No data collected</strong> — everything runs locally on your machine</li>
<li><strong>Runs privately</strong> — no external servers, no uploads, nothing leaves your environment</li>
<li><strong>Repeatable on every build</strong> — run it every time you make a change, before every launch</li>
</ul>
<p>This isn’t a one-off audit. It’s a workflow you can run every time you make a change, every time you onboard a new project, and every time you want to know—before launch—whether the site actually meets the standard you set for it.</p>
<hr>
<h2>What's Next: Take It a Step Further</h2>
<p>Ready to go beyond the basics? Here are some ways to deepen your workflow and get even more value from Optimize:</p>
<ul>
<li><strong>Batch audit multiple pages:</strong> Crawl several URLs (live or local) and compare the results. Spot patterns, recurring issues, or pages that outperform others.</li>
<li><strong>Collaborate with your team:</strong> Share your results.json file with a teammate or SEO expert. CSV (--csv) exports also work. Use the AI chat to review, discuss, and fix the issues together.</li>
<li><strong>Automate your workflow:</strong> Integrate Optimize into your build process or CI pipeline. Run audits automatically before every launch to catch issues early.</li>
<li><strong>Customize with your own LLM key:</strong> Use your own API key for GPT-4, Claude, or another LLM to generate tailored SEO reports and recommendations.</li>
</ul>
<hr>
<p>Ready to optimize your workflow? <strong><a href="https://optimizecli.com/join-beta/">Join the Optimize beta</a></strong> and be part of a supportive, growing community of Developers, SEOs, Content folks and more.</p>
<p></p>
]]></content:encoded>
    </item>
    
    <item>
      <author>Optimize</author>
      <title>Communication solved between Developers and SEOs</title>
      <link>https://optimize.bynovl.com/blog/communication-solved-between-developers-and-seos/</link>
      <guid>https://optimize.bynovl.com/blog/communication-solved-between-developers-and-seos/</guid>
      <pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate>
      <atom:updated>Tue, 14 Apr 2026 00:00:00 +0000</atom:updated>
      <dc:creator>Neema Kibugi</dc:creator>
      
      <category> dev-to-seo</category><category> collaboration</category>
      <description>How developers and SEOs can collaborate to solve communication gaps, prevent last-minute surprises, and launch better sites.</description>
      <content:encoded><![CDATA[<p>Every web team has lived this: the site is nearly done, the dev is ready to ship, and then the SEO comes in with a list. A long list. Things that should have been decided three sprints ago. The launch slips. Everyone's frustrated. And the site still goes live with half the issues unresolved because nobody had time. This is a process problem.</p>
<h2>The old way</h2>
<p>How teams have always done it — and why it breaks
The typical SEO–developer workflow looks something like this. At the start of a project, the SEO produces a document: URL structure, meta tag specs, heading hierarchy rules, schema requirements. The dev reads it, nods, and then builds the site. Weeks pass. The SEO gets access to staging and starts auditing. Issues surface missing canonicals, broken heading structure, Open Graph tags that were never implemented, schema that fails validation. The back-and-forth begins.
Issues will always exist but they should not surface after the build is done, when fixing anything means rework, re-testing, and another round of approvals. Sound familiar?</p>
<h2>The real cost</h2>
<p>It's not just time consuming, it's expensive
Every round of late-stage SEO feedback adds days to a launch timeline. Multiply that across a team handling multiple projects and the math gets complicated. But the cost isn't just time. It's trust. When developers feel like SEO requirements are a moving target, they stop taking them seriously early on. When SEOs feel like their specs get ignored, they start over-specifying to compensate.</p>
<p>The root cause is almost always the same: there's no shared, enforceable definition of what &quot;done&quot; looks like from an SEO standpoint. Requirements live in a doc that may or may not be read. Standards shift between projects. And nobody finds out whether the build actually meets them until a human sits down and manually checks.</p>
<h2>A better way</h2>
<p><strong>What if the standard was enforced on every build automatically?</strong></p>
<p>That's exactly what Optimize by NOVL is built to do. It's a pre-launch SEO audit tool that runs locally, before anything goes live. The SEO sets the requirements  meta tags, Open Graph, schema, heading structure, accessibility, links, media, the whole stack. The dev adds those requirements to the project config once. From that point on, Optimize checks every build against those rules automatically.</p>
<p>No waiting for a staging review. No manually crawling a live site and hoping nothing was missed. The standard is defined upfront, and every build is held to it consistently, on every page, in seconds.</p>
<h2>What makes it different</h2>
<p><strong>It doesn't just find problems it defines what &quot;good&quot; looks like per project</strong></p>
<p>Most SEO tools check against a universal ruleset. Your site either passes generic best practices or it doesn't. But real projects aren't generic. A global e-commerce brand has different schema requirements than a local services site. A SaaS product has different Open Graph needs than a media publisher. Optimize is built around this reality.</p>
<p>SEOs configure the checks that matter for each specific project. The standard isn't imposed from outside it's defined by the team that knows the client, the market, and the goal. That config travels with the project, gets enforced on every build, and can be shared, versioned, and reused. For the first time, &quot;done&quot; means the same thing to the SEO and the developer, because they're both looking at the same checklist.</p>
<h2>The outcome</h2>
<p><strong>Less back-and-forth. Faster approvals. Higher standards across the board.</strong></p>
<p>Here's what changes when Optimize becomes part of the workflow. The SEO stops spending review time discovering issues and starts spending it on the things that actually require judgment  strategy, priorities, edge cases. The developer stops guessing what &quot;good SEO&quot; looks like on this particular project and gets a precise, automated answer before any human review happens. And the approval process collapses from multiple rounds of revision to one confident sign-off.
For agencies and teams managing multiple clients, this compounds fast. The same rigour that used to require manual review on every project is now enforced automatically, consistently, on every build. Standards don't slip between clients. Requirements don't get lost in email threads. And launches don't slip because SEO was the last thing anyone checked.</p>
]]></content:encoded>
    </item>
    
    <item>
      <author>Optimize</author>
      <title>The Optimize Beta is Open — Here's What That Means</title>
      <link>https://optimize.bynovl.com/blog/optimize-beta-is-open/</link>
      <guid>https://optimize.bynovl.com/blog/optimize-beta-is-open/</guid>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <atom:updated>Tue, 07 Apr 2026 00:00:00 +0000</atom:updated>
      <dc:creator>Syd Harris</dc:creator>
      
      <category> beta</category><category> launch</category>
      <description>Join SEOs and developers using the Optimize toolkit to audit, validate, and fix website issues before launch.</description>
      <content:encoded><![CDATA[<p>Yesterday we sent an email to our first beta group. No fanfare, no countdown timer — just a quiet note that Optimize is finally ready for real people to use. This post is for everyone else who finds their way here.</p>
<p>If you're new here: Optimize is a toolkit to audit, validate, and fix your site's foundation — meta, schema, open graph, headings, links, media, and more — before you ship anything. It lives with your build process. <a href="https://optimizecli.com">The full picture is here</a>.</p>
<h2>What &quot;Beta&quot; Actually Means Here</h2>
<p>This isn't a soft launch with a waitlist. It's a working tool in the hands of people using it in real workflows, with a direct line back to us when something breaks or doesn't make sense.</p>
<p>The first group is small on purpose — different skill levels, different stacks, different use cases. We want to see where it holds up and where it doesn't before opening it wider.</p>
<p>What we're focused on right now:</p>
<ul>
<li><strong>Does the output make sense to developers and non-developers?</strong> The checks are only useful if the results are actionable for the person reading them.</li>
<li><strong>Does it fit into existing workflows?</strong> Whether that's setting up a config so your whole team is working to the same requirements or dropping it into a CI/CD pipeline, we want to know how well it fits into the way people already work, not the other way around.</li>
<li><strong>What should Optimize do that it doesn't yet?</strong> Beta members have direct access to the repo to flag gaps, bugs, and share ideas helping shape what gets built next.</li>
<li><strong>Who else should be here?</strong> Freelance devs and SEOs, agency teams, content folks validating before publish — all skill levels welcome. The more varied the group, the better Optimize gets.</li>
<li><strong>What could you build on top of it?</strong> Optimize is open source and built to be extended. Personal/internal tool use is free; commercial products built on top of Optimize require a paid license. If you're thinking about building something, now's a good time to get in early.</li>
</ul>
<h2>Want to join a growing community of SEOs and developers using Optimize?</h2>
<p><a href="https://optimizecli.com/join-beta">Sign up for the beta</a>. Invites go out in small batches (sort of like cohorts) so you won't be the only new person when you arrive. Once approved, you'll get two emails: a welcome from the team and an invite from GitHub to the repo.</p>
<hr>
<p><strong>Together, let's optimize the web. No site left behind.</strong></p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
