Customize App Info
ShipNowKit lets you manage app info via the Dashboard (writes to SystemConfig.SITE); the site URL falls back to environment variables (NEXT_PUBLIC_SITE_URL, otherwise VERCEL_URL/browser origin, then http://localhost:3000).
Before deployment, set your project’s basic site info.
Configure Basic Info
Site Name / Title / Description
Use the Dashboard to set name, title, and description:
- Sign in to the Dashboard
- Go to Settings → Site Settings
- In Basic Info, fill:
- Site Name: Shown in page titles and metadata
- Site Title: Landing page title for SEO
- Site Description: Description for search results
If you need i18n, set site.title and site.description in translation files:
messages/en.jsonmessages/zh.jsonThese override the database values, which is better for multilingual sites.
Site URL
getURL() resolves the site URL with priority: NEXT_PUBLIC_SITE_URL → (server) VERCEL_URL → (client) current origin → http://localhost:3000. Please set at least:
# Local
NEXT_PUBLIC_SITE_URL=http://localhost:3000
# Production
NEXT_PUBLIC_SITE_URL=https://your-domain.comConfigure Social Media
In Dashboard Site Settings → Social Media, set:
- Twitter URL: Your Twitter/X profile URL
- Twitter Account: Your Twitter/X handle (e.g., @username)
- OG Image URL: Open Graph image URL (e.g.,
https://example.com/og-image.png)
Used for:
- Social share preview cards
- SEO metadata
- Open Graph tags
Configure sitemap.xml
sitemap.xml tells search engines which pages to index.
Update public/sitemap.xml before launch.
ShipNowKit uses next-sitemap to generate it; config at next-sitemap.config.js:
/** @type {import('next-sitemap').IConfig} */
module.exports = {
siteUrl: process.env.NEXT_PUBLIC_SITE_URL,
generateRobotsTxt: true,
// other configs...
}Make sure NEXT_PUBLIC_SITE_URL is set, otherwise generated sitemap links will be incorrect. After build, the sitemap is emitted to public/sitemap.xml.
Configure robots.txt
robots.txt defines crawl rules. Update public/robots.txt before launch. The repo default points to http://localhost:3000; replace with your production domain.
Default content (update Host/Sitemap to your domain):
User-agent: *
Allow: /
# Host
Host: https://your-domain.com
# Sitemaps
Sitemap: https://your-domain.com/sitemap.xmlYou can disallow paths as needed:
User-agent: *
Disallow: /*?*q=
Disallow: /privacy-policy
Disallow: /terms-of-service
Disallow: /settings/*
Disallow: /dashboard/*
Disallow: /admin/*Configure Policies
Privacy Policy and Terms of Use live in app/[locale]/policies/:
privacy-policy/page.tsx— Privacy Policyterms-of-use/page.tsx— Terms of Use
Edit content to match your business. For faster drafting with AI, you can prompt like:
I'm building an AI SaaS boilerplate.
Reference: https://shipnowkit.com/docs
Please help rewrite the policy files under content/pages.
Project name: ShipNowKit
Domain: https://your-domain.com
Copyright owner: Your Company
Contact email: support@your-domain.comAfter editing, visit the pages to verify:
- Privacy Policy:
/privacy-policy - Terms of Use:
/terms-of-use