lesli.dev

SEO & AI Discoverability Audit
Prepared by Lesli Rose | April 2026
Open-Source Ruby on Rails SaaS Framework
No Sitemap -- No Schema -- No Blog -- Severely Limited Discoverability
Section 01

Executive Summary

Lesli is a technically impressive open-source framework with 11,900+ commits, 8 production-ready engines, and a clear value proposition. The engineering is strong. But search engines and AI systems have almost no structured way to understand what Lesli is, who built it, or why a developer should choose it over alternatives.

The Core Finding

Lesli.dev has no sitemap, no meta descriptions, no structured data, and no blog. Which means Google is guessing what your framework does based on raw HTML alone. Which means developers searching for "Rails SaaS framework" or "open-source SaaS boilerplate" are unlikely to find Lesli. Which means every day, potential users are choosing Jumpstart Rails, Bullet Train, or other alternatives -- not because they're better, but because they're more visible.

Top 5 Priorities

#PrioritySeverityImpact
1Add sitemap.xml and submit to Google Search ConsoleCriticalEnsures all pages are discoverable by search engines
2Add meta descriptions to every pageCriticalControls how Lesli appears in search results
3Deploy Organization + SoftwareApplication schemaHighHelps Google and AI systems understand what Lesli is
4Launch a developer blog with tutorial contentHighCaptures long-tail search traffic from developers
5Add llms.txt and allow AI crawlers in robots.txtMediumPositions Lesli for AI-assisted discovery

The Good News

You've already done the hard part -- building a real, production-quality framework with 11,900+ commits and 8 working engines. The fixes in this audit are structural, not creative. Most of the highest-impact items can be implemented in under a week. This is about making the work you've already done visible to the systems that decide what developers see.

Section 02

Site Snapshot & Health Scores

How lesli.dev performs across the five dimensions that determine search visibility and AI discoverability.

22
Technical SEO
35
On-Page SEO
8
Content / Blog
5
Schema
10
AI Discoverability

Current Assets

What's Working

  • Strong H1 targeting "Open-Source SaaS Development Framework for Ruby on Rails"
  • GA4 analytics installed (G-8SZFQK2DZB)
  • HTTPS enabled
  • Clean URL structure (/engines/, /gems/)
  • Live demo at demo.lesli.dev
  • Clear CTAs ("Build with Lesli", "Explore the Demo")

What's Missing

  • No meta descriptions on any page
  • No sitemap.xml
  • No JSON-LD schema of any kind
  • No Open Graph or Twitter Card tags
  • No blog or content marketing
  • No llms.txt file
  • No canonical tags detected
  • No FAQ content or schema
  • Non-standard robots.txt

Tech Stack

Framework

Ruby on Rails + PostgreSQL

Frontend

Hotwire + Bulma + Alpine.js

License

GPLv3 Open Source

Engines

8 Production Modules

Gems

5 Supporting Packages

Analytics

GA4 Active

Section 03

Critical Issue

The single most impactful problem that needs to be fixed before anything else matters.

SEVERITY: CRITICAL -- No Sitemap + No Meta Descriptions

lesli.dev has no sitemap.xml and no meta descriptions on any page. These are the two most foundational SEO elements -- without them, Google is crawling the site blind and displaying auto-generated snippets in search results that you have no control over.

What Google Sees Right Now

No Sitemap

Google has no map of your site's pages. It discovers content only through internal links, which means deeper documentation pages may never get crawled. For a framework with 8 engines and 5 gems, each with multiple documentation pages, this is a significant amount of content that search engines may not know exists.

No Meta Descriptions

When lesli.dev does appear in search results, Google auto-generates a snippet from random page text. You lose control of the first impression. The title tag is decent ("Lesli -- Ruby on Rails SaaS Development Framework") but without a meta description, the listing looks incomplete and generic next to competitors who have polished snippets.

The Fix

sitemap.xml
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url><loc>https://www.lesli.dev/</loc><priority>1.0</priority></url> <url><loc>https://www.lesli.dev/engines/</loc><priority>0.9</priority></url> <url><loc>https://www.lesli.dev/gems/</loc><priority>0.8</priority></url> <url><loc>https://www.lesli.dev/engines/lesli/about/</loc><priority>0.8</priority></url> <url><loc>https://www.lesli.dev/engines/lesli/getting-started/</loc><priority>0.9</priority></url> <!-- Add all engine and gem documentation pages --> </urlset>
Homepage Meta Description
<meta name="description" content="Lesli is an open-source Ruby on Rails framework for building scalable SaaS applications. 8 production-ready engines, modular architecture, PostgreSQL, Hotwire. Start building in minutes.">

Time to Fix: 2--3 Hours | Impact: Foundational

Generate a complete sitemap.xml covering all documentation pages, write meta descriptions for the homepage and top 10 pages, and submit the sitemap to Google Search Console. This single action gives Google a complete map of your framework's documentation and controls how every page appears in search results.

Section 04

Technical SEO Issues

Every technical issue found, ranked by severity and business impact.

#IssueSeverityFix
1No sitemap.xml -- search engines cannot discover all pagesCriticalGenerate XML sitemap covering all documentation pages, submit to GSC
2No meta descriptions on any pageCriticalAdd unique, keyword-rich meta descriptions to every page
3Non-standard robots.txt -- uses "content signals" policy instead of standard formatHighReplace with standard robots.txt with User-agent directives and sitemap reference
4No canonical tags detectedHighAdd rel="canonical" to every page to prevent duplicate content issues
5No Open Graph or Twitter Card tagsHighAdd og:title, og:description, og:image, twitter:card to all pages
6/about returns 404 -- About page buried at /engines/lesli/about/MediumCreate a top-level /about/ page or redirect /about to /engines/lesli/about/
7/blog returns 404 -- no blog existsMediumLaunch a developer blog with tutorial and guide content
8Image alt text inconsistent or missingMediumAdd descriptive alt text to all images including screenshots and logos
9No structured data / JSON-LD schema of any kindHighAdd Organization, SoftwareApplication, BreadcrumbList, and WebSite schema
10No hreflang tags for international audienceLowConsider hreflang if documentation is translated (Babel engine suggests multilanguage support)

Quick Wins (Under 30 Minutes Each)

Meta Description

Write homepage meta description

~10 minutes

Robots.txt

Replace with standard format

~10 minutes

GSC Setup

Verify site in Search Console

~15 minutes

OG Tags

Add Open Graph to homepage

~15 minutes

Canonical Tags

Add to all top-level pages

~20 minutes

/about Redirect

Redirect /about to About page

~5 minutes
Section 05

Meta Tags & Open Graph Fixes

The first sales assets many developers see in search results or when someone shares a link. Weak metadata reduces clicks even when rankings are strong.

Current vs Recommended

PageCurrent TitleRecommended Title
HomepageLesli -- Ruby on Rails SaaS Development FrameworkLesli -- Open-Source Ruby on Rails SaaS Framework | Build Faster
Engines(Not found)Lesli Engines -- 8 Production-Ready Rails Modules for SaaS
Gems(Not found)Lesli Gems -- Reusable Ruby Packages for Rails SaaS Development
Getting Started(Not found)Get Started with Lesli -- Install a Full SaaS Backend in Minutes
About(Not found)About Lesli -- Built in Guatemala by Lesli Technologies

Meta Description Recommendations

PageRecommended Meta Description
HomepageLesli is an open-source Ruby on Rails framework for building scalable SaaS apps. 8 production engines, modular architecture, PostgreSQL, Hotwire. Free under GPLv3.
EnginesExplore Lesli's 8 production-ready Rails engines: Dashboard, Admin, Auth, Calendar, Support, Notifications, Audit, and Translations. Plug into any Rails app.
Getting StartedInstall Lesli in your Rails app in under 5 minutes. Step-by-step guide: add the gem, run the generator, launch your SaaS backend. Ruby 3.2+, Rails 8.0+.

Open Graph Template

Add to every page <head>
<!-- Open Graph --> <meta property="og:type" content="website"> <meta property="og:site_name" content="Lesli"> <meta property="og:title" content="Lesli -- Open-Source Ruby on Rails SaaS Framework"> <meta property="og:description" content="Build scalable SaaS applications with 8 production-ready engines, modular architecture, and modern Rails conventions."> <meta property="og:url" content="https://www.lesli.dev/"> <meta property="og:image" content="https://www.lesli.dev/images/brand/lesli-og-share.png"> <!-- Twitter Card --> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@LesliTech"> <meta name="twitter:title" content="Lesli -- Open-Source Ruby on Rails SaaS Framework"> <meta name="twitter:description" content="Build scalable SaaS applications with 8 production-ready engines."> <meta name="twitter:image" content="https://www.lesli.dev/images/brand/lesli-og-share.png">

Pro Tip: Create an OG Share Image

Create a 1200x630px branded image showing the Lesli logo, tagline, and a code snippet or architecture diagram. This is what appears when someone shares a link to lesli.dev on Twitter, LinkedIn, or Slack. Right now, shared links show no image -- which means they get scrolled past. A strong OG image can increase click-through rates on shared links by 2-3x.

Section 06

Schema Markup Package

Structured data helps search engines and AI systems recognize what Lesli offers faster and more confidently. Currently, lesli.dev has zero schema markup.

Schema Status

Schema TypeStatusWhere It Goes
OrganizationMissingEvery page (global)
SoftwareApplicationMissingHomepage, Getting Started
WebSiteMissingHomepage
BreadcrumbListMissingEvery page
SoftwareSourceCodeMissingEngine/Gem pages
FAQPageMissingFAQ section (needs to be created)
HowToMissingGetting Started page

Copy-Paste Schema Blocks

Organization Schema (every page)
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "name": "Lesli Technologies", "legalName": "Lesli Technologies, S. A.", "url": "https://www.lesli.tech", "logo": "https://www.lesli.dev/images/brand/lesli-logo.svg", "description": "A development team creating innovative open-source software solutions, based in Guatemala City.", "foundingDate": "2020", "address": { "@type": "PostalAddress", "addressLocality": "Guatemala City", "addressCountry": "GT" }, "contactPoint": { "@type": "ContactPoint", "email": "hello@lesli.tech", "contactType": "technical support" }, "sameAs": [ "https://github.com/LesliTech", "https://www.linkedin.com/company/leslitech/", "https://twitter.com/LesliTech" ] } </script>
SoftwareApplication Schema (homepage)
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "SoftwareApplication", "name": "Lesli", "applicationCategory": "DeveloperApplication", "applicationSubCategory": "Web Application Framework", "operatingSystem": "Cross-platform", "description": "Open-source Ruby on Rails framework for building scalable, secure, and customizable SaaS applications. Includes 8 production-ready engines for authentication, dashboards, support tickets, calendars, notifications, auditing, and translations.", "url": "https://www.lesli.dev", "downloadUrl": "https://rubygems.org/gems/lesli", "softwareVersion": "5.1", "programmingLanguage": ["Ruby", "JavaScript"], "runtimePlatform": "Ruby on Rails 8.0", "license": "https://www.gnu.org/licenses/gpl-3.0.html", "offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD", "description": "Free and open-source under GPLv3" }, "author": { "@type": "Organization", "name": "Lesli Technologies", "url": "https://www.lesli.tech" }, "codeRepository": "https://github.com/LesliTech/Lesli" } </script>
WebSite Schema (homepage)
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "name": "Lesli", "url": "https://www.lesli.dev", "description": "Documentation and guides for the Lesli Ruby on Rails SaaS development framework.", "publisher": { "@type": "Organization", "name": "Lesli Technologies" } } </script>
BreadcrumbList Schema (engine pages example)
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.lesli.dev/"}, {"@type": "ListItem", "position": 2, "name": "Engines", "item": "https://www.lesli.dev/engines/"}, {"@type": "ListItem", "position": 3, "name": "Shield", "item": "https://www.lesli.dev/engines/shield/"} ] } </script>
HowTo Schema (Getting Started page)
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "HowTo", "name": "How to Install and Set Up Lesli", "description": "Install the Lesli Ruby on Rails SaaS framework and get a working development environment in under 5 minutes.", "totalTime": "PT5M", "tool": [ {"@type": "HowToTool", "name": "Ruby 3.2.x"}, {"@type": "HowToTool", "name": "Rails 8.0.x"}, {"@type": "HowToTool", "name": "Node.js 20.x"} ], "step": [ {"@type": "HowToStep", "name": "Create Rails Application", "text": "Generate a fresh Rails application to host Lesli."}, {"@type": "HowToStep", "name": "Install Lesli Gem", "text": "Run bundle add lesli to add the framework to your project."}, {"@type": "HowToStep", "name": "Run Installation Generator", "text": "Run rails generate lesli:install to create configuration files."}, {"@type": "HowToStep", "name": "Prepare Database", "text": "Run rake lesli:db:dev to execute migrations and seed demo data."}, {"@type": "HowToStep", "name": "Start Development Server", "text": "Launch with rails s and navigate to localhost:3000/login."} ] } </script>

How to Add Schema in a Static Documentation Site

If lesli.dev is built with VitePress, VuePress, or a similar static site generator, add JSON-LD blocks to the <head> section via the theme configuration or a custom layout component. Most static site generators support injecting custom head content per page. For VitePress specifically, use the frontmatter "head" property or a custom theme with useHead().

Section 07

Content Strategy & Blog

Lesli.dev currently has documentation but no blog, no tutorial content, and no comparison pages. There are developers actively searching for answers that Lesli could provide -- and those searches are going to competitors.

What's Working

What Needs Work

1. No Blog

Zero blog posts. Every framework competitor has a blog. This is the single largest content gap. Developers discover frameworks through blog posts, tutorials, and guides -- not just documentation.

2. No Comparison Content

"Lesli vs Jumpstart Rails", "Lesli vs Bullet Train", "open-source Rails SaaS framework comparison" -- these are high-intent searches from developers actively choosing a framework. Lesli isn't in those conversations.

3. No Use Case Pages

Pages like "Build a CRM with Lesli", "Build a Project Management Tool with Lesli", or "Build a Multi-tenant SaaS with Lesli" show developers exactly what's possible and capture specific search queries.

4. No FAQ Section

Common questions like "Is Lesli free?", "Does Lesli support multi-tenancy?", "What Rails version does Lesli need?" have no dedicated FAQ. These are exactly the kind of structured answers that AI systems pull from.

Content Opportunities

TypeExample TopicsSearch Intent
Comparison"Lesli vs Jumpstart Rails", "Lesli vs Bullet Train", "Free vs Paid Rails SaaS frameworks"Developers evaluating frameworks
Tutorial"Build a SaaS dashboard with Lesli", "Multi-tenant Rails app with Lesli engines"Developers learning by building
Use Case"Lesli for CRM", "Lesli for project management", "Lesli for internal tools"Developers with specific project needs
Technical"Modular Rails engine architecture", "Rails SaaS authentication patterns"Senior developers researching architecture
Ecosystem"Why we chose Hotwire over React", "PostgreSQL vs MySQL for Rails SaaS"Developers making stack decisions

The Strategic Insight

Lesli has a documentation site. What it needs is a developer marketing site. Documentation explains how things work for people who already chose Lesli. A blog and content strategy captures developers who haven't chosen anything yet. That's where growth comes from -- not from better docs for existing users, but from visible content that brings new developers in the door.

Section 08

Keyword Pillars & Topic Clusters

Six content pillars that align with how developers search for and evaluate SaaS frameworks.

Pillar 1: Rails SaaS Frameworks

ruby on rails saas framework rails saas boilerplate open source saas framework rails saas starter kit rails multi-tenant framework

Pillar Page: "The Complete Guide to Ruby on Rails SaaS Frameworks in 2026" -- comparison of all options with Lesli positioning.

Pillar 2: Modular Rails Architecture

rails engines modular rails architecture rails engine pattern mountable rails engine rails plugin architecture

Pillar Page: "Modular Rails Architecture: How Engines Scale SaaS Applications" -- Lesli as the reference implementation.

Pillar 3: SaaS Development Tutorials

build saas with rails rails saas tutorial saas authentication rails rails dashboard tutorial rails role-based access

Pillar Page: "Build a SaaS Application with Ruby on Rails: Step-by-Step Guide"

Pillar 4: Open Source Business Software

open source business software self-hosted saas platform open source erp rails open source crm ruby free saas framework

Pillar Page: "Open-Source SaaS Platforms: Build vs Buy in 2026"

Pillar 5: Framework Comparisons

jumpstart rails vs bullet train rails rails vs django saas rails vs next.js saas best framework for saas 2026

Pillar Page: "Lesli vs Jumpstart Rails vs Bullet Train: Which Rails SaaS Framework?"

Pillar 6: Hotwire & Modern Rails

hotwire rails tutorial turbo frames rails stimulus rails rails without react alpine.js rails

Pillar Page: "Building Modern UIs with Hotwire, Bulma, and Alpine.js in Rails"

Internal Linking Strategy

Every blog post should link to its pillar page. Every pillar page should link to the Getting Started guide and relevant engine documentation. Every engine page should link back to the homepage and related blog content. This creates topic clusters that signal to Google: "Lesli is an authority on Rails SaaS development." Without internal linking, content works alone. With it, content compounds.

Section 09

Competitor Analysis

How Lesli compares to other Rails SaaS frameworks and dev tools in the market. The goal is not to copy competitors -- it's to find the gaps they're not filling.

CompetitorStrengthsWeaknessesLesli's Advantage
Jumpstart Rails
gorails.com/jumpstart
Strong brand, GoRails audience, active blog, good SEO, commercial support Paid ($249+), closed-source, starter kit not a framework, single developer dependency Free, open-source, modular engine architecture vs monolith starter, GPLv3 freedom
Bullet Train
bullettrain.co
Team collaboration features, API-first, good docs, open-source core Complex setup, heavy abstraction layer, smaller community Simpler engine-based architecture, more modular, lighter footprint
Avo
avohq.io
Beautiful admin panels, good content marketing, active community Admin-focused (not full SaaS framework), freemium model Full SaaS framework vs admin panel, broader scope, fully free
Lago
getlago.com
Strong VC backing, billing-focused, good SEO, enterprise positioning Billing-only (not general SaaS), Ruby + API-only General-purpose framework, full-stack with frontend, broader use cases
Solidus
solidus.io
Mature community, e-commerce focused, good schema, active development E-commerce only, heavy, complex plugin system SaaS-focused (not e-commerce), cleaner modular architecture

Competitive SEO Gaps Lesli Can Own

Lesli's Real Moat

Lesli is the only fully open-source, modular, engine-based Rails SaaS framework. Jumpstart is paid and monolithic. Bullet Train is complex. Avo is admin-only. Lago is billing-only. Lesli is the only option that gives a developer a complete, free, modular SaaS foundation with production-ready engines they can use independently. That's a powerful position -- but right now, nobody searching for a Rails SaaS framework can find it. The moat exists in the code. It needs to exist in the content.

Section 10

AI Discoverability & LLM Optimization

As search shifts toward AI-assisted answers, frameworks with clearer structure are more likely to be surfaced when developers ask ChatGPT, Claude, or Perplexity "what's the best Rails SaaS framework?"

Current AI Discoverability: Severely Limited

What AI Systems Need vs What Lesli Provides

What AI Looks ForLesli Status
Clear entity statement ("Lesli is a...")Present in H1 and About
Structured data (JSON-LD)Not present
FAQ content with question-answer pairsNot present
Comparison content ("Lesli vs X")Not present
llms.txt fileNot present
AI crawler access in robots.txtNon-standard format
GitHub repository signalPresent (27 stars, 11.9k commits)
Clear feature lists with descriptionsPresent on homepage

AI-Optimized Entity Statement

Add This to the About Page

"Lesli is an open-source Ruby on Rails SaaS development framework created by Lesli Technologies in Guatemala City. It provides 8 production-ready modular engines -- including authentication, dashboards, calendars, support tickets, notifications, auditing, and translation management -- that plug into any Rails application. Lesli is free under the GPLv3 license and has over 11,900 commits on GitHub. Unlike starter kits or admin panels, Lesli is a modular framework built on standard Rails engine architecture, designed to scale from prototype to production."

llms.txt (Ready to Deploy)

Save as /llms.txt at site root
# Lesli - Ruby on Rails SaaS Development Framework > Lesli is an open-source Ruby on Rails framework for building scalable, secure, and customizable SaaS applications. Built by Lesli Technologies in Guatemala City. ## What Lesli Is - A modular SaaS framework (not a starter kit, admin panel, or boilerplate) - Built on Ruby on Rails 8.0, PostgreSQL, Hotwire, Bulma, Alpine.js - Free and open-source under GPLv3 - 8 production-ready engines, 5 supporting gems - 11,900+ commits on GitHub ## Engines (Modules) - Dashboard: Dashboard management and analytics - Admin: Administration area and system settings - Bell: Notification system - Calendar: Unified calendar application - Support: Support ticket system - Shield: Authentication and access management - Audit: Activity tracking, versioning, and analytics - Babel: Translation and multilanguage management ## Gems (Packages) - LesliSystem: Core system utilities - LesliView: Web elements and components - LesliDate: Datetime formatting - LesliAssets: Shared frontend assets - Termline: Human-friendly terminal logs ## Getting Started Install with: bundle add lesli Generate config: rails generate lesli:install Setup database: rake lesli:db:dev Requirements: Ruby 3.2+, Rails 8.0+, Node.js 20+ ## Links - Documentation: https://www.lesli.dev - GitHub: https://github.com/LesliTech/Lesli - Demo: https://demo.lesli.dev - Company: https://www.lesli.tech - Contact: hello@lesli.tech

Why This Matters Now

When a developer asks ChatGPT or Claude "What are the best open-source Rails SaaS frameworks?", the AI pulls from structured content, schema, GitHub data, and documentation sites. Right now, Lesli's GitHub repo is the strongest signal -- but it's competing against frameworks with dedicated blogs, FAQ pages, and comparison content. Adding llms.txt, schema, and structured content significantly increases the chance that AI systems will include Lesli in their recommendations. This is an emerging best practice, not yet standardized -- but early adopters gain a compounding advantage.

Section 11

Robots.txt & Crawl Directives

The current robots.txt uses a non-standard "content signals" format. Search engines and AI crawlers expect standard User-agent/Allow/Disallow directives.

Current State

Non-Standard robots.txt Format

The current robots.txt at lesli.dev/robots.txt uses a "content signals" policy with terms like "search", "ai-input", and "ai-train". This is not a standard robots.txt format. While some advanced crawlers may interpret it, Google, Bing, and most AI crawlers expect standard directives. This means your crawl instructions may be partially or completely ignored.

Recommended robots.txt

Replace current robots.txt
# Lesli - lesli.dev # Standard robots.txt with AI crawler directives User-agent: * Allow: / # AI Search Crawlers (ALLOW - these drive discoverability) User-agent: GPTBot Allow: / User-agent: OAI-SearchBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: ClaudeBot Allow: / User-agent: Claude-SearchBot Allow: / User-agent: PerplexityBot Allow: / User-agent: Google-Extended Allow: / User-agent: Applebot-Extended Allow: / User-agent: CCBot Allow: / # Block training-only crawlers (no search benefit) User-agent: Bytespider Disallow: / Sitemap: https://www.lesli.dev/sitemap.xml

Why Allow AI Crawlers?

Every AI crawler you allow is another system that can recommend Lesli to developers. When someone asks Perplexity "What's a good open-source Rails SaaS framework?", PerplexityBot needs to have crawled your site to include you in the answer. Blocking AI crawlers is blocking free distribution. The only exception is Bytespider (ByteDance), which is primarily used for model training with no search product that benefits you.

Section 12

Site Architecture Cleanup

The current site structure is documentation-focused. Adding a few key pages and redirects would significantly improve both user experience and SEO.

Page/URLActionReason
/aboutCreateTop-level About page expected by users and search engines
/blogCreateDeveloper blog for content marketing and SEO
/faqCreateFAQ page with FAQPage schema for AI discoverability
/pricingCreateEven if free, a pricing page clarifies the business model and captures "lesli pricing" searches
/vs/jumpstart-railsCreateComparison page targeting high-intent developer searches
/vs/bullet-trainCreateComparison page targeting competitor searches
/use-casesCreateLanding page linking to specific use case pages
/sitemap.xmlCreateRequired for search engine crawling
/llms.txtCreateEmerging best practice for AI discoverability

Recommended Site Structure

lesli.dev/ ├── / (homepage) ├── /about/ (top-level about page) ├── /blog/ (developer blog) │ ├── /blog/build-saas-with-rails/ │ ├── /blog/modular-engine-architecture/ │ └── /blog/lesli-vs-jumpstart-rails/ ├── /engines/ (module listing) │ ├── /engines/dashboard/ │ ├── /engines/shield/ │ ├── /engines/bell/ │ ├── /engines/calendar/ │ ├── /engines/support/ │ ├── /engines/admin/ │ ├── /engines/audit/ │ └── /engines/babel/ ├── /gems/ (package listing) │ ├── /gems/system/ │ ├── /gems/view/ │ ├── /gems/date/ │ ├── /gems/assets/ │ └── /gems/termline/ ├── /vs/ (comparison pages) │ ├── /vs/jumpstart-rails/ │ ├── /vs/bullet-train/ │ └── /vs/avo/ ├── /use-cases/ ├── /faq/ ├── /pricing/ ├── /start/ (getting started) ├── /sitemap.xml ├── /robots.txt └── /llms.txt
Section 13

90-Day Implementation Roadmap

A phased plan to take lesli.dev from minimal SEO to full organic discoverability. Each phase builds on the previous one.

Week 1 -- Emergency Fixes

Foundation: Crawlability & Metadata

  • Generate and deploy sitemap.xml with all pages
  • Replace robots.txt with standard format + AI crawler rules
  • Add meta descriptions to homepage and top 10 pages
  • Add canonical tags to all pages
  • Add Open Graph and Twitter Card tags to all pages
  • Verify site in Google Search Console and submit sitemap
  • Create /about top-level page (or redirect)
  • Deploy llms.txt
Week 2-3 -- Schema & Structured Data

Make Search Engines and AI Understand Lesli

  • Deploy Organization schema (global)
  • Deploy SoftwareApplication schema (homepage)
  • Deploy WebSite schema (homepage)
  • Deploy BreadcrumbList schema (all pages)
  • Deploy HowTo schema (Getting Started page)
  • Create FAQ page with FAQPage schema
  • Add OG share image (1200x630px branded graphic)
  • Create /pricing page (even though Lesli is free)
Week 4-6 -- Content Activation

Launch Blog and Comparison Content

  • Set up blog infrastructure (static site generator blog section)
  • Publish "Lesli vs Jumpstart Rails" comparison page
  • Publish "Lesli vs Bullet Train" comparison page
  • Publish "The Complete Guide to Rails SaaS Frameworks in 2026" (Pillar 1)
  • Publish 2 tutorial posts (build-along guides using Lesli engines)
  • Add Article schema to each blog post
  • Internal link blog posts to engine documentation and Getting Started
Week 7-9 -- Pillar Pages & Internal Linking

Build Topic Authority

  • Publish Pillar 2: "Modular Rails Architecture" guide
  • Publish Pillar 3: "Build a SaaS Application with Rails" tutorial
  • Publish 3-4 supporting blog posts per pillar
  • Build internal linking structure between pillars, posts, and docs
  • Create use case pages (/use-cases/crm, /use-cases/project-management)
  • Submit new URLs to GSC after each publish
Week 10-12 -- Authority Building & Scale

Compound the Content Investment

  • Publish remaining pillar pages (4, 5, 6)
  • Optimize top-performing posts based on GSC data
  • Build external links: Rails community posts, dev.to articles, GitHub discussions
  • Consider Hacker News and Ruby Weekly newsletter submissions
  • Audit and update all schema based on Google Search Console enhancements
  • Target featured snippets for question-based developer queries

Projected Score Improvements

Technical SEO: 22 -> 75

On-Page SEO: 35 -> 80

Content / Blog: 8 -> 65

Schema: 5 -> 85

AI Discoverability: 10 -> 70

Expected Timeline to Results

Week 1-2: Site fully indexed in Google. Brand searches ("Lesli framework") return complete, controlled results.
Month 2-3: First organic impressions for long-tail developer keywords. AI systems begin citing Lesli in framework comparisons.
Month 3-6: Blog content starts ranking. Comparison pages capture high-intent searches. Organic traffic compounds as content library grows.
Month 6-12: Targeting 500-1,000 organic developer visits per month. Lesli consistently appears in AI-assisted framework recommendations.

Section 14

Investment & Engagement

$10,000 $0 Free Audit

No commitment. This audit is yours to keep regardless of next steps. Every schema block, every robots.txt directive, every content recommendation -- it's all ready to implement.

Option A: Foundation Package

Technical SEO fixes, schema deployment, metadata optimization, and robots.txt/sitemap/llms.txt setup. Everything in Weeks 1-3 of the roadmap.

$3,000
  • Sitemap.xml generation and GSC submission
  • Meta descriptions for all pages
  • Full schema markup deployment (6 types)
  • Open Graph and Twitter Card tags
  • robots.txt and llms.txt deployment
  • Canonical tags sitewide
  • FAQ page creation with schema
  • /about and /pricing page creation
Recommended

Option B: Full Implementation

Everything in Option A plus content strategy execution: blog setup, comparison pages, pillar content, and 90-day roadmap implementation.

$5,000
  • Everything in Option A
  • Blog infrastructure setup
  • 3 comparison pages (vs Jumpstart, Bullet Train, Avo)
  • 2 pillar pages with full content
  • 4 tutorial blog posts
  • Internal linking architecture
  • Use case page creation
  • OG share image design
  • Site architecture restructuring

Monthly Retainer: Ongoing Content & SEO

$1,500/month
  • 4 blog posts per month (tutorials, comparisons, guides)
  • Schema maintenance and updates
  • GSC monitoring and optimization
  • Internal linking updates
  • Monthly SEO performance reports
  • AI discoverability monitoring
  • Keyword tracking and content adjustments
  • Competitor monitoring

Projected ROI at 6 Months

75+
Pages Indexed
500+
Monthly Organic Visits
50+
Ranking Keywords
3x
GitHub Stars Growth

The Path Forward

Lesli is real software with real engineering behind it.
The only issue is that the search engines and AI systems don't know it yet.
This Week
Sitemap. Meta descriptions. Standard robots.txt. Submit to Google Search Console. Deploy llms.txt.
This Month
Schema markup. FAQ page. Open Graph images. Comparison content. Blog infrastructure.
This Quarter
Pillar pages. Tutorial content. Internal linking. Authority building. Start ranking for developer searches.

Lesli has 11,900 commits, 8 working engines, and a clear value proposition that developers need to hear. You've already done the hard part -- building something real. The work ahead is structural, not creative. It's about making sure the systems that decide what developers see can understand what you've built. Every fix in this audit connects to the same outcome: more developers finding Lesli, trying it, and building with it.

Start with Week 1. The rest follows.

Audit prepared by
Lesli Rose
April 2026