Update docs meta tags and description (#3416)
Maintain Release Merge PR / update-release-pr (push) Canceled after 0s
Notify HeyPuter / notify (push) Canceled after 0s
release-please / release-please (push) Canceled after 0s

* Update docs meta tags and description

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Reynaldi Chernando
2026-07-21 16:43:00 +07:00
committed by GitHub
co-authored by Copilot Autofix powered by AI
parent a8833de9d5
commit 7fbf491e6f
2 changed files with 18 additions and 17 deletions
+16 -15
View File
@@ -292,14 +292,11 @@ function generateDocsHTML (filePath, rootDir, page, isIndex = false) {
html += '<head>';
html += '<meta charset="utf-8">';
// Title
if ( isIndex ) {
html += '<title>Puter.js: Free, Serverless, Cloud and AI Powered by Puter.</title>';
html += '<meta name="title" content="Puter.js: Free, Serverless, Cloud and AI Powered by Puter." />';
}
else {
html += `<title>${removeTags(page.title_tag ?? page.title)}</title>`;
html += `<meta name="title" content="${removeTags(page.title_tag ?? page.title)}" />`;
}
const docTitle = isIndex
? 'Puter.js Documentation'
: `${removeTags(page.title_tag ?? page.title)} - Puter.js Docs`;
html += `<title>${docTitle}</title>`;
html += `<meta name="title" content="${docTitle}" />`;
// Self referencing canonical
let canonicalUrl = new URL(page.path, site).href;
if (!canonicalUrl.endsWith('/')) {
@@ -310,21 +307,21 @@ function generateDocsHTML (filePath, rootDir, page, isIndex = false) {
html += '<meta name="viewport" content="width=device-width, initial-scale=1.0">';
// Description
if ( isIndex ) {
html += '<meta name="description" content="Puter.js: Free, Serverless, Cloud and AI Powered by Puter.">';
html += '<meta name="description" content="Puter.js documentation: API reference, examples, and playground for adding auth, cloud storage, databases, and AI with no API keys and no infrastructure setup.">';
}
else if ( frontMatter.description ) {
html += `<meta name="description" content="${frontMatter.description}">`;
}
// Social Media
html += `<meta property="og:title" content="${removeTags(page.title_tag ?? page.title)}">`;
html += '<meta name="og:image" content="https://assets.puter.site/twitter.png">';
html += `<meta property="og:title" content="${docTitle}">`;
html += '<meta property="og:image" content="https://assets.puter.site/twitter.png">';
html += '<meta name="twitter:image" content="https://assets.puter.site/twitter.png">';
// Robot tag
html += '<meta name="robots" content="index, follow" />';
// Site name
html += '<meta property="og:site_name" content="Puter.js" />';
html += '<meta property="og:site_name" content="Puter.js Docs" />';
// favicons
html += `
@@ -357,8 +354,12 @@ function generateDocsHTML (filePath, rootDir, page, isIndex = false) {
{
"@context":"https://schema.org",
"@type":"WebSite",
"name":"Puter.js",
"url":"${site}"
"@id": "https://docs.puter.com/#website",
"name":"Puter.js Docs",
"alternateName": "Puter.js Documentation",
"url":"${site}",
"about": { "@id": "https://developer.puter.com/#puterjs" },
"publisher": { "@id": "https://puter.com/#organization" }
}
</script>
`;
@@ -551,7 +552,7 @@ function findMdFiles (rootDir) {
//index page
const indexPath = path.join(rootDir, 'index.md');
const indexChild = {
title: 'Puter.js',
title: 'Puter.js Documentation',
path: '',
next: sidebar[0].children[0],
};
+2 -2
View File
@@ -1,6 +1,6 @@
Puter.js brings free, serverless, Cloud and AI directly to your frontend JavaScript with no backend code or API keys required. Use the `@heyputer/puter.js` npm module or drop in a single `<script>` tag to instantly access file storage, databases, Claude, GPT, Gemini, and more right from your frontend code.
Puter.js gives you access to auth, cloud storage, databases, and AI (Claude, GPT, Gemini, and 500+ other models) with no API keys and no infrastructure setup. The entire library is a single `<script>` tag or the `@heyputer/puter.js` npm module.
Puter.js is also uniquely suited for use by AI coding assistants, agents, and vibe coding platforms like Claude Code, Codex, OpenCode, Lovable, Replit, and more. Because Puter.js is keyless and serverless, AI-generated apps and programs using it work end-to-end without having to sign up for a third-party backend, provision a service, or paste in API keys. This eliminates both a major class of security issues and the setup friction that usually keeps these apps from running out of the box.
This is also what makes Puter.js work so well as the backend for AI-generated apps. There is nothing to configure: no keys to obtain, no servers to provision, no SDK to initialize. AI coding tools and platforms like Claude Code, Codex, OpenCode, Lovable, and Replit can generate complete, working apps in a single shot with Puter.js. The API is small and consistent enough for language models to use correctly, and the full reference is published as [llms.txt](https://docs.puter.com/llms.txt) so AI tools can read it in one request.
<div class="browser-window">
<div class="titlebar">