docs: improve Pi web UI SEO positioning

This commit is contained in:
Federico Jaramillo Martinez
2026-06-15 01:27:34 +02:00
parent 53ec8c3086
commit 18127996f1
12 changed files with 256 additions and 54 deletions
+9 -1
View File
@@ -6,8 +6,16 @@
<title>Page not found — PI WEB</title>
<meta name="description" content="The PI WEB page you requested does not exist." />
<meta name="robots" content="noindex" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="PI WEB" />
<meta property="og:title" content="Page not found — PI WEB" />
<meta property="og:image" content="/assets/pi-web-banner.png" />
<meta property="og:url" content="https://pi-web.dev/404.html" />
<meta property="og:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<meta property="og:image:alt" content="PI WEB browser UI for persistent Pi Coding Agent sessions" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Page not found — PI WEB" />
<meta name="twitter:description" content="The PI WEB page you requested does not exist." />
<meta name="twitter:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<link rel="icon" type="image/svg+xml" href="assets/favicon.svg" />
<script>
(() => {
+6
View File
@@ -0,0 +1,6 @@
# Canonical SEO redirects for the static docs site.
# Cloudflare Pages/Workers static assets should redirect duplicate host/scheme variants.
http://pi-web.dev/* https://pi-web.dev/:splat 301
http://www.pi-web.dev/* https://pi-web.dev/:splat 301
https://www.pi-web.dev/* https://pi-web.dev/:splat 301
/index.html / 301
+33 -4
View File
@@ -3,10 +3,29 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>PI WEB FAQ</title>
<meta name="description" content="Answers for common PI WEB install and runtime issues." />
<meta property="og:title" content="PI WEB FAQ" />
<meta property="og:image" content="assets/pi-web-banner.png" />
<title>PI WEB FAQ — Pi web UI troubleshooting</title>
<meta
name="description"
content="Troubleshoot PI WEB, the web UI for Pi Coding Agent, including install, PATH, services, remote access, and runtime issues."
/>
<link rel="canonical" href="https://pi-web.dev/faq.html" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="PI WEB" />
<meta property="og:title" content="PI WEB FAQ — Pi web UI troubleshooting" />
<meta
property="og:description"
content="Fix common PI WEB install, service, PATH, remote access, and session issues."
/>
<meta property="og:url" content="https://pi-web.dev/faq.html" />
<meta property="og:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<meta property="og:image:alt" content="PI WEB browser UI for persistent Pi Coding Agent sessions" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="PI WEB FAQ — Pi web UI troubleshooting" />
<meta
name="twitter:description"
content="Fix common PI WEB install, service, PATH, remote access, and session issues."
/>
<meta name="twitter:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<link rel="icon" type="image/svg+xml" href="assets/favicon.svg" />
<script>
(() => {
@@ -70,6 +89,7 @@
<aside class="toc" aria-label="FAQ contents">
<strong>Questions</strong>
<a href="#is-this-linux-only">What platforms are supported?</a>
<a href="#is-pi-web-a-web-ui">Is PI WEB a Pi web UI?</a>
<a href="#tools-are-not-found">Tools are failing / node not found</a>
<a href="#doctor-fails">What does doctor check?</a>
<a href="#nvm-fnm-asdf">nvm, fnm, or asdf issues</a>
@@ -97,6 +117,15 @@
</ul>
</article>
<article id="is-pi-web-a-web-ui" class="faq-item">
<h2>Is PI WEB a Pi web UI?</h2>
<p>
Yes. PI WEB is a web UI for Pi Coding Agent that runs and supervises persistent sessions from a browser.
Unlike simple session viewers, PI WEB is built around real server-side workspaces, long-running session
daemons, git worktrees, remote machines, terminals, files, and multi-device supervision.
</p>
</article>
<article id="tools-are-not-found" class="faq-item">
<h2>Tools are failing, node is not found, or Pi cannot find commands</h2>
<p>
+50 -19
View File
@@ -3,17 +3,45 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>PI WEB — persistent AI coding agents in your browser</title>
<title>PI WEB — web UI for Pi Coding Agent</title>
<meta
name="description"
content="PI WEB makes AI coding work persistent by default: agents keep running outside your browser while you supervise from any device."
content="PI WEB is a web UI for Pi Coding Agent that keeps agent sessions running in real workspaces on your machine or server."
/>
<meta property="og:title" content="PI WEB" />
<link rel="canonical" href="https://pi-web.dev/" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="PI WEB" />
<meta property="og:title" content="PI WEB — web UI for Pi Coding Agent" />
<meta
property="og:description"
content="Run persistent AI coding agents in real workspaces, keep them alive outside your device, and supervise everything from a browser."
content="Run persistent Pi Coding Agent sessions in real workspaces and supervise them from any browser."
/>
<meta property="og:image" content="assets/pi-web-banner.png" />
<meta property="og:url" content="https://pi-web.dev/" />
<meta property="og:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<meta property="og:image:alt" content="PI WEB browser UI for persistent Pi Coding Agent sessions" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="PI WEB — web UI for Pi Coding Agent" />
<meta
name="twitter:description"
content="Run persistent Pi Coding Agent sessions in real workspaces and supervise them from any browser."
/>
<meta name="twitter:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "PI WEB",
"alternateName": ["Pi web UI", "Pi Coding Agent web UI"],
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Linux, macOS, Windows WSL",
"url": "https://pi-web.dev/",
"downloadUrl": "https://www.npmjs.com/package/@jmfederico/pi-web",
"codeRepository": "https://github.com/jmfederico/pi-web",
"description": "PI WEB is a web UI for Pi Coding Agent that keeps persistent agent sessions running in real workspaces on your machine or server.",
"softwareRequirements": "Node.js 22 or newer and Pi Coding Agent",
"license": "https://github.com/jmfederico/pi-web/blob/main/LICENSE"
}
</script>
<link rel="icon" type="image/svg+xml" href="assets/favicon.svg" />
<script>
(() => {
@@ -64,20 +92,22 @@
<section class="hero">
<div class="container hero-grid">
<div>
<p class="eyebrow"><span class="pulse"></span> A cockpit for agentic development</p>
<p class="eyebrow"><span class="pulse"></span> Pi Coding Agent web UI</p>
<h1>
<span class="title-context">Your agents keep working.</span>
<span class="gradient-text intro-target" aria-label="You just need a browser.">
<span class="intro-word" style="--i: 0">You</span>
<span class="intro-word" style="--i: 1">just</span>
<span class="intro-word" style="--i: 2">need</span>
<span class="intro-word" style="--i: 3">a</span>
<span class="intro-word" style="--i: 4">browser.</span>
<span class="title-context">The web UI for</span>
<span class="gradient-text intro-target" aria-label="Pi Coding Agent sessions that keep working.">
<span class="intro-word" style="--i: 0">Pi</span>
<span class="intro-word" style="--i: 1">Coding</span>
<span class="intro-word" style="--i: 2">Agent</span>
<span class="intro-word" style="--i: 3">sessions</span>
<span class="intro-word" style="--i: 4">that</span>
<span class="intro-word" style="--i: 5">keep</span>
<span class="intro-word" style="--i: 6">working.</span>
</span>
</h1>
<p class="hero-lede">
PI WEB runs Pi Coding Agent sessions in real server-side workspaces, keeps them alive when your browser
leaves, and gives you a fast web surface to supervise, redirect, and review the work.
PI WEB keeps Pi Coding Agent sessions running in real server-side workspaces, even after your browser
leaves, and gives you a fast web UI to supervise, redirect, and review work from any device.
</p>
<p class="hero-manifesto">
Local development made sense when humans drove every keystroke. Agentic development works better when the
@@ -118,7 +148,7 @@
<div class="container">
<div class="demo-frame">
<div class="demo-caption">
<strong>Workspaces, sessions, transcripts, terminals — one agent control plane.</strong>
<strong>Workspaces, sessions, transcripts, terminals — one Pi web UI.</strong>
<span>Bring your own repositories.</span>
</div>
<img src="assets/pi-web-demo.gif" alt="PI WEB browser UI demo" />
@@ -170,10 +200,11 @@
</article>
<article class="card">
<div class="card-icon"></div>
<h3>The browser becomes the control plane</h3>
<h3>Any browser can supervise the work</h3>
<p>
Your device is replaceable. The sessions are not. Move between laptop, phone, tablet, and desktop
without moving the development environment.
without moving the development environment. Under the hood, PI WEB coordinates the running sessions,
files, terminals, and remote machines like a browser-based control plane.
</p>
</article>
<article class="card">
@@ -300,7 +331,7 @@
<footer class="site-footer">
<div class="container footer-inner">
<span>PI WEB · remote control for persistent Pi Coding Agent sessions.</span>
<span>PI WEB · web UI for persistent Pi Coding Agent sessions.</span>
<div class="footer-links">
<a href="remote-first.html">Remote-first</a>
<a href="machines.html">Fleet</a>
+23 -4
View File
@@ -3,10 +3,29 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Install PI WEB</title>
<meta name="description" content="Complete installation guide for PI WEB on Linux, macOS, and Windows WSL." />
<meta property="og:title" content="Install PI WEB" />
<meta property="og:image" content="assets/pi-web-banner.png" />
<title>Install PI WEB — web UI for Pi Coding Agent</title>
<meta
name="description"
content="Install PI WEB, the web UI for Pi Coding Agent, on Linux, macOS, or Windows WSL with persistent user services."
/>
<link rel="canonical" href="https://pi-web.dev/install.html" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="PI WEB" />
<meta property="og:title" content="Install PI WEB — web UI for Pi Coding Agent" />
<meta
property="og:description"
content="Install PI WEB with npm, Pi, or manual service commands and keep Pi Coding Agent sessions running."
/>
<meta property="og:url" content="https://pi-web.dev/install.html" />
<meta property="og:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<meta property="og:image:alt" content="PI WEB browser UI for persistent Pi Coding Agent sessions" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Install PI WEB — web UI for Pi Coding Agent" />
<meta
name="twitter:description"
content="Install PI WEB with npm, Pi, or manual service commands and keep Pi Coding Agent sessions running."
/>
<meta name="twitter:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<link rel="icon" type="image/svg+xml" href="assets/favicon.svg" />
<script>
(() => {
+20 -4
View File
@@ -3,13 +3,29 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>PI WEB fleet</title>
<title>PI WEB fleet — remote Pi web UI machines</title>
<meta
name="description"
content="Connect trusted PI WEB runtimes through machine federation so one browser control plane can supervise local and remote projects, sessions, files, git state, terminals, and plugins."
content="Connect trusted PI WEB runtimes through machine federation so one web UI can supervise local and remote projects, sessions, files, git state, terminals, and plugins."
/>
<meta property="og:title" content="PI WEB fleet" />
<meta property="og:image" content="assets/pi-web-banner.png" />
<link rel="canonical" href="https://pi-web.dev/machines.html" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="PI WEB" />
<meta property="og:title" content="PI WEB fleet — remote Pi web UI machines" />
<meta
property="og:description"
content="Use one PI WEB instance to reach trusted local and remote Pi Coding Agent machines."
/>
<meta property="og:url" content="https://pi-web.dev/machines.html" />
<meta property="og:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<meta property="og:image:alt" content="PI WEB browser UI for persistent Pi Coding Agent sessions" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="PI WEB fleet — remote Pi web UI machines" />
<meta
name="twitter:description"
content="Use one PI WEB instance to reach trusted local and remote Pi Coding Agent machines."
/>
<meta name="twitter:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<link rel="icon" type="image/svg+xml" href="assets/favicon.svg" />
<script>
(() => {
+23 -4
View File
@@ -3,10 +3,29 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>PI WEB plugins</title>
<meta name="description" content="Use built-in PI WEB plugins and develop trusted local UI plugins." />
<meta property="og:title" content="PI WEB plugins" />
<meta property="og:image" content="assets/pi-web-banner.png" />
<title>PI WEB plugins — extend the Pi web UI</title>
<meta
name="description"
content="Use built-in PI WEB plugins and develop trusted local UI plugins for the Pi Coding Agent web UI."
/>
<link rel="canonical" href="https://pi-web.dev/plugins.html" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="PI WEB" />
<meta property="og:title" content="PI WEB plugins — extend the Pi web UI" />
<meta
property="og:description"
content="Customize PI WEB with trusted browser-side plugins for actions, workspace panels, labels, terminals, and files."
/>
<meta property="og:url" content="https://pi-web.dev/plugins.html" />
<meta property="og:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<meta property="og:image:alt" content="PI WEB browser UI for persistent Pi Coding Agent sessions" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="PI WEB plugins — extend the Pi web UI" />
<meta
name="twitter:description"
content="Customize PI WEB with trusted browser-side plugins for actions, workspace panels, labels, terminals, and files."
/>
<meta name="twitter:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<link rel="icon" type="image/svg+xml" href="assets/favicon.svg" />
<script>
(() => {
+24 -7
View File
@@ -3,13 +3,29 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Remote-first development with PI WEB</title>
<title>Remote-first Pi web UI — PI WEB</title>
<meta
name="description"
content="Why PI WEB makes AI coding work persistent by default: agents keep running outside your device while the browser becomes the control plane."
content="Why PI WEB keeps Pi Coding Agent sessions running outside your device while any browser becomes a web UI for supervision and review."
/>
<meta property="og:title" content="Remote-first development with PI WEB" />
<meta property="og:image" content="assets/pi-web-banner.png" />
<link rel="canonical" href="https://pi-web.dev/remote-first.html" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="PI WEB" />
<meta property="og:title" content="Remote-first Pi web UI — PI WEB" />
<meta
property="og:description"
content="Run Pi Coding Agent where work can persist, then supervise sessions from any device with PI WEB."
/>
<meta property="og:url" content="https://pi-web.dev/remote-first.html" />
<meta property="og:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<meta property="og:image:alt" content="PI WEB browser UI for persistent Pi Coding Agent sessions" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Remote-first Pi web UI — PI WEB" />
<meta
name="twitter:description"
content="Run Pi Coding Agent where work can persist, then supervise sessions from any device with PI WEB."
/>
<meta name="twitter:image" content="https://pi-web.dev/assets/pi-web-banner.png" />
<link rel="icon" type="image/svg+xml" href="assets/favicon.svg" />
<script>
(() => {
@@ -75,7 +91,7 @@
<a href="#why-local-blocks">The old assumption</a>
<a href="#persistence-first">Persistence first-class</a>
<a href="#what-remote-unlocks">What remote unlocks</a>
<a href="#browser-control">Browser as control plane</a>
<a href="#browser-control">Browser as web UI</a>
<a href="#human-role">The human role</a>
<a href="#recommended-shape">Recommended shape</a>
</aside>
@@ -138,11 +154,12 @@
</section>
<section id="browser-control">
<h2>The browser becomes the control plane</h2>
<h2>The browser becomes your Pi web UI</h2>
<p>
Your device should not have to be the editor, terminal, build server, and agent runtime. In PI WEB, the
browser is the cockpit: supervise sessions, redirect agents, inspect transcripts, and review progress
while the development environment stays remote and stable.
while the development environment stays remote and stable. Under the hood, PI WEB still coordinates the
running work like a browser-based control plane.
</p>
<p>
Laptop, phone, tablet, desktop: they are just windows into the same running work. You remain in control,
+5
View File
@@ -0,0 +1,5 @@
User-agent: *
Content-Signal: search=yes,ai-input=yes,ai-train=yes
Allow: /
Sitemap: https://pi-web.dev/sitemap.xml
+45
View File
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://pi-web.dev/</loc>
<lastmod>2026-06-15</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://pi-web.dev/remote-first.html</loc>
<lastmod>2026-06-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://pi-web.dev/machines.html</loc>
<lastmod>2026-06-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://pi-web.dev/install.html</loc>
<lastmod>2026-06-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://pi-web.dev/plugins.html</loc>
<lastmod>2026-06-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pi-web.dev/plugins.md</loc>
<lastmod>2026-06-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://pi-web.dev/faq.html</loc>
<lastmod>2026-06-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>