@kennethsolomon/shipkit 3.14.0 → 3.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/commands/sk/website.md +93 -0
- package/package.json +1 -1
- package/skills/sk:website/SKILL.md +471 -0
- package/skills/sk:website/references/art-direction.md +210 -0
- package/skills/sk:website/references/brief-template.md +121 -0
- package/skills/sk:website/references/content-seo.md +143 -0
- package/skills/sk:website/references/handoff-template.md +261 -0
- package/skills/sk:website/references/launch-checklist.md +99 -0
- package/skills/sk:website/references/niche/accountant.md +75 -0
- package/skills/sk:website/references/niche/agency.md +75 -0
- package/skills/sk:website/references/niche/cafe.md +79 -0
- package/skills/sk:website/references/niche/dentist.md +78 -0
- package/skills/sk:website/references/niche/ecommerce.md +76 -0
- package/skills/sk:website/references/niche/gym.md +75 -0
- package/skills/sk:website/references/niche/home-services.md +76 -0
- package/skills/sk:website/references/niche/law-firm.md +75 -0
- package/skills/sk:website/references/niche/local-business.md +78 -0
- package/skills/sk:website/references/niche/med-spa.md +78 -0
- package/skills/sk:website/references/niche/portfolio.md +77 -0
- package/skills/sk:website/references/niche/real-estate.md +72 -0
- package/skills/sk:website/references/niche/restaurant.md +80 -0
- package/skills/sk:website/references/niche/saas.md +80 -0
- package/skills/sk:website/references/niche/wedding.md +80 -0
- package/skills/sk:website/references/stacks/laravel.md +425 -0
- package/skills/sk:website/references/stacks/nextjs.md +345 -0
- package/skills/sk:website/references/stacks/nuxt.md +374 -0
- package/skills/sk:website/references/whatsapp-cta.md +160 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
# Handoff Template
|
|
2
|
+
|
|
3
|
+
Use this to generate the 3 client deliverable files after the site is built. Populate using real project details — replace all `[PLACEHOLDER]` values.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## HANDOFF.md template
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
# [Business Name] — Website Handoff
|
|
11
|
+
|
|
12
|
+
Built with Next.js + Tailwind CSS. Hosted on [Vercel/Netlify].
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## What was built
|
|
17
|
+
|
|
18
|
+
| Page | URL | Purpose |
|
|
19
|
+
|---|---|---|
|
|
20
|
+
| Home | `/` | Main landing + primary CTA |
|
|
21
|
+
| About | `/about` | Brand story + trust signals |
|
|
22
|
+
| [Services/Menu] | `/[path]` | [Purpose] |
|
|
23
|
+
| Contact | `/contact` | Inquiry form + location |
|
|
24
|
+
| [Additional pages] | | |
|
|
25
|
+
|
|
26
|
+
**Features included:**
|
|
27
|
+
- [ ] WhatsApp floating button — wired to [phone number / ⚠️ REPLACE: see below]
|
|
28
|
+
- [ ] Contact form with spam protection
|
|
29
|
+
- [ ] SEO metadata on all pages
|
|
30
|
+
- [ ] Sitemap + robots.txt
|
|
31
|
+
- [ ] [Other features]
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## What still needs replacing
|
|
36
|
+
|
|
37
|
+
Before going live, update these:
|
|
38
|
+
|
|
39
|
+
| Item | File | What to change |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| WhatsApp number | `app/layout.tsx` line ~[N] | Replace `+[PHONE]` with your WhatsApp number |
|
|
42
|
+
| Hero photo | `public/images/hero.jpg` | Replace with your actual photo |
|
|
43
|
+
| Google Analytics ID | `.env.local` | Add `NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX` |
|
|
44
|
+
| [Other placeholder] | [file] | [instruction] |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Editing content
|
|
49
|
+
|
|
50
|
+
Most content lives in one file: `content/site.ts`
|
|
51
|
+
|
|
52
|
+
**To change your business name or tagline:**
|
|
53
|
+
Open `content/site.ts`, find `name:` and `tagline:` near the top.
|
|
54
|
+
|
|
55
|
+
**To change opening hours:**
|
|
56
|
+
Open `content/site.ts`, find `hours:` and update the values.
|
|
57
|
+
|
|
58
|
+
**To change services/menu items:**
|
|
59
|
+
Open `content/site.ts`, find `services:` (or `menu:`) and edit the list.
|
|
60
|
+
|
|
61
|
+
**To change contact info (phone, email, address):**
|
|
62
|
+
Open `content/site.ts`, find `contact:` and update.
|
|
63
|
+
|
|
64
|
+
**To change social media links:**
|
|
65
|
+
Open `content/site.ts`, find `social:` and update the URLs.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Need help?
|
|
70
|
+
|
|
71
|
+
For technical changes beyond content editing, contact your developer or post in the project repo.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Developer notes
|
|
76
|
+
|
|
77
|
+
- Stack: Next.js [version] + Tailwind CSS
|
|
78
|
+
- Node version: 18+
|
|
79
|
+
- Deploy: Vercel (see DEPLOY.md)
|
|
80
|
+
- Local dev: `npm install && npm run dev`
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## DEPLOY.md template
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
# Deploying [Business Name] Website
|
|
89
|
+
|
|
90
|
+
Step-by-step guide to go live. Total time: ~10 minutes.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Option 1: Vercel (recommended — free tier available)
|
|
95
|
+
|
|
96
|
+
### One-click deploy
|
|
97
|
+
|
|
98
|
+
1. Push the project to a GitHub repository (create one at github.com if needed)
|
|
99
|
+
2. Go to vercel.com and sign in with GitHub
|
|
100
|
+
3. Click "Add New Project" → select your repository
|
|
101
|
+
4. Set environment variables (see below)
|
|
102
|
+
5. Click "Deploy"
|
|
103
|
+
6. Your site is live at `[project].vercel.app`
|
|
104
|
+
|
|
105
|
+
### Custom domain (recommended)
|
|
106
|
+
|
|
107
|
+
1. In Vercel dashboard → your project → Settings → Domains
|
|
108
|
+
2. Add your domain (e.g., `cornerbrew.ph`)
|
|
109
|
+
3. Follow the DNS instructions (add CNAME or A record in your domain registrar)
|
|
110
|
+
4. Takes 5–30 minutes to propagate
|
|
111
|
+
|
|
112
|
+
### Via CLI
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npm install -g vercel
|
|
116
|
+
vercel login
|
|
117
|
+
vercel --prod
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Option 2: Netlify (alternative)
|
|
123
|
+
|
|
124
|
+
1. Go to netlify.com → "Add new site" → "Import from Git"
|
|
125
|
+
2. Connect GitHub and select the repository
|
|
126
|
+
3. Build command: `npm run build`
|
|
127
|
+
4. Publish directory: `.next`
|
|
128
|
+
5. Set environment variables
|
|
129
|
+
6. Deploy
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Environment variables
|
|
134
|
+
|
|
135
|
+
Set these in Vercel dashboard → Settings → Environment Variables (or in `.env.local` for local development):
|
|
136
|
+
|
|
137
|
+
| Variable | Required | Description | Example |
|
|
138
|
+
|---|---|---|---|
|
|
139
|
+
| `NEXT_PUBLIC_SITE_URL` | Yes | Your full site URL (no trailing slash) | `https://cornerbrew.ph` |
|
|
140
|
+
| `NEXT_PUBLIC_GA_ID` | Optional | Google Analytics 4 Measurement ID | `G-XXXXXXXXXX` |
|
|
141
|
+
| `NEXT_PUBLIC_PLAUSIBLE_DOMAIN` | Optional | Plausible domain (alternative to GA4) | `cornerbrew.ph` |
|
|
142
|
+
| `CONTACT_EMAIL` | If using contact form | Email to receive form submissions | `hello@cornerbrew.ph` |
|
|
143
|
+
| `RESEND_API_KEY` | If using Resend | API key for email sending | `re_xxxxxxxxx` |
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Estimated monthly costs
|
|
148
|
+
|
|
149
|
+
| Service | Cost | Notes |
|
|
150
|
+
|---|---|---|
|
|
151
|
+
| Vercel hosting | Free | Hobby plan — sufficient for most small business sites |
|
|
152
|
+
| Domain name | ~$12–20/year | Buy from Namecheap, GoDaddy, or Cloudflare Registrar |
|
|
153
|
+
| Google Analytics | Free | Optional — Plausible is $9/mo for privacy-friendly alternative |
|
|
154
|
+
| Custom email | ~$6/mo | Google Workspace or Zoho for @yourdomain.com email |
|
|
155
|
+
| **Total** | ~$18–26/year minimum | Domain + free hosting |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## After going live
|
|
160
|
+
|
|
161
|
+
- [ ] Test all pages on mobile and desktop
|
|
162
|
+
- [ ] Test the contact form by submitting it yourself
|
|
163
|
+
- [ ] Test the WhatsApp button
|
|
164
|
+
- [ ] Submit sitemap to Google Search Console: `yourdomain.com/sitemap.xml`
|
|
165
|
+
- [ ] Set up Google My Business if not already done (helps local SEO)
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## CONTENT-GUIDE.md template
|
|
171
|
+
|
|
172
|
+
```markdown
|
|
173
|
+
# Content Editing Guide — [Business Name]
|
|
174
|
+
|
|
175
|
+
This guide is for updating your website content without a developer.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Where content lives
|
|
180
|
+
|
|
181
|
+
Most of your site content is in one file:
|
|
182
|
+
|
|
183
|
+
**`content/site.ts`** — open this file to edit most things
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Editing your content
|
|
188
|
+
|
|
189
|
+
### Business name and tagline
|
|
190
|
+
File: `content/site.ts`
|
|
191
|
+
```
|
|
192
|
+
name: "[Your Business Name]",
|
|
193
|
+
tagline: "[Your Tagline]",
|
|
194
|
+
```
|
|
195
|
+
Change the text inside the quotes.
|
|
196
|
+
|
|
197
|
+
### Contact details
|
|
198
|
+
File: `content/site.ts`
|
|
199
|
+
```
|
|
200
|
+
contact: {
|
|
201
|
+
phone: "[Your Phone]",
|
|
202
|
+
email: "[Your Email]",
|
|
203
|
+
address: "[Your Address]",
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Opening hours
|
|
208
|
+
File: `content/site.ts`
|
|
209
|
+
```
|
|
210
|
+
hours: [
|
|
211
|
+
{ day: "Monday–Friday", time: "8:00 AM – 6:00 PM" },
|
|
212
|
+
{ day: "Saturday", time: "9:00 AM – 5:00 PM" },
|
|
213
|
+
{ day: "Sunday", time: "Closed" },
|
|
214
|
+
]
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Services / Menu items
|
|
218
|
+
File: `content/site.ts`
|
|
219
|
+
```
|
|
220
|
+
services: [
|
|
221
|
+
{ name: "[Service Name]", description: "[Short description]" },
|
|
222
|
+
...
|
|
223
|
+
]
|
|
224
|
+
```
|
|
225
|
+
Add or remove items by copying/pasting a line.
|
|
226
|
+
|
|
227
|
+
### Social media links
|
|
228
|
+
File: `content/site.ts`
|
|
229
|
+
```
|
|
230
|
+
social: {
|
|
231
|
+
facebook: "https://facebook.com/yourpage",
|
|
232
|
+
instagram: "https://instagram.com/yourhandle",
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Adding a photo
|
|
239
|
+
|
|
240
|
+
1. Save your photo as a `.jpg` or `.webp` file
|
|
241
|
+
2. Copy it to the `public/images/` folder
|
|
242
|
+
3. In the relevant page file, change the image filename to match
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## After editing
|
|
247
|
+
|
|
248
|
+
Save the file, then run the site locally with:
|
|
249
|
+
```bash
|
|
250
|
+
npm run dev
|
|
251
|
+
```
|
|
252
|
+
Visit `http://localhost:3000` to preview your changes before deploying.
|
|
253
|
+
|
|
254
|
+
To deploy changes live: push to GitHub — Vercel will automatically redeploy.
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Need more help?
|
|
259
|
+
|
|
260
|
+
For changes beyond this guide (new pages, new features, design changes), contact your developer.
|
|
261
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Launch Checklist
|
|
2
|
+
|
|
3
|
+
Run this before generating the handoff package. The site must not only look complete — it must be operationally ready to ship.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Search and Metadata
|
|
8
|
+
|
|
9
|
+
- [ ] Every page has a unique title tag (not "Home | Site Name" cloned across pages)
|
|
10
|
+
- [ ] Every page has a unique, useful meta description (150–160 chars)
|
|
11
|
+
- [ ] OG title, description, and image are defined (check `layout.tsx` or equivalent)
|
|
12
|
+
- [ ] Twitter card metadata defined
|
|
13
|
+
- [ ] Canonical URL handling in place (no duplicate content risk)
|
|
14
|
+
- [ ] Structured data present where appropriate (LocalBusiness, Organization, etc.)
|
|
15
|
+
- [ ] All important images have descriptive alt text (not empty, not "image.jpg")
|
|
16
|
+
- [ ] `sitemap.xml` is generating correctly (visit `/sitemap.xml`)
|
|
17
|
+
- [ ] `robots.txt` is correct (`/robots.txt` — no `Disallow: /` in production)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 2. Conversion and Content
|
|
22
|
+
|
|
23
|
+
- [ ] Clear primary CTA visible above the fold on the homepage
|
|
24
|
+
- [ ] CTA is consistent and repeated across all key pages
|
|
25
|
+
- [ ] No placeholder copy remains (`[Business Name]`, `Lorem ipsum`, `TODO`, `PLACEHOLDER`)
|
|
26
|
+
- [ ] No invented testimonials, fake reviews, or made-up certifications
|
|
27
|
+
- [ ] Contact information is real and visible (phone, email, address, hours)
|
|
28
|
+
- [ ] WhatsApp link is wired (if injected) — test that `wa.me/[NUMBER]` opens correctly
|
|
29
|
+
- [ ] Contact form submits without error (test in dev)
|
|
30
|
+
- [ ] Booking/reservation link works (if applicable)
|
|
31
|
+
- [ ] Footer includes business name, key navigation links, and contact info
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 3. Accessibility and UX
|
|
36
|
+
|
|
37
|
+
- [ ] One H1 per page — no pages have multiple H1s
|
|
38
|
+
- [ ] Heading hierarchy is correct — no skipping H2 → H4
|
|
39
|
+
- [ ] Semantic landmarks in place: `<header>`, `<main>`, `<footer>`, `<nav>`
|
|
40
|
+
- [ ] Interactive elements are keyboard-navigable (tab through the page)
|
|
41
|
+
- [ ] Focus rings are visible (not `outline: none` without a replacement)
|
|
42
|
+
- [ ] Color contrast passes AA (4.5:1 for body text, 3:1 for large text)
|
|
43
|
+
- [ ] Images have alt text — decorative images have `alt=""`
|
|
44
|
+
- [ ] No horizontal scroll on mobile (375px viewport)
|
|
45
|
+
- [ ] Touch targets are at least 44×44px
|
|
46
|
+
- [ ] `prefers-reduced-motion` is respected for animations
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 4. Performance and Implementation
|
|
51
|
+
|
|
52
|
+
- [ ] No unnecessary client-side JS (prefer server/static rendering for marketing content)
|
|
53
|
+
- [ ] Images are optimized — use Next.js `<Image>` or equivalent, specify `width`/`height`
|
|
54
|
+
- [ ] No layout shift visible on load (set explicit dimensions on media)
|
|
55
|
+
- [ ] Google Fonts loaded via `next/font` or with `display=swap` (no FOIT)
|
|
56
|
+
- [ ] `next build` (or equivalent) passes without errors or warnings
|
|
57
|
+
- [ ] No broken internal links or dead routes
|
|
58
|
+
- [ ] No console errors in the browser
|
|
59
|
+
- [ ] Required environment variables are documented in `.env.example`
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 5. Launch Operations
|
|
64
|
+
|
|
65
|
+
- [ ] Analytics placeholder noted (GA4 measurement ID or Plausible domain to configure)
|
|
66
|
+
- [ ] Consent banner approach defined if analytics requires it (GDPR/PH data privacy consideration)
|
|
67
|
+
- [ ] Contact form submission endpoint configured or clearly marked as pending
|
|
68
|
+
- Local: API route created and tested
|
|
69
|
+
- External: Formspree/webhook endpoint documented
|
|
70
|
+
- [ ] WhatsApp number placeholder clearly flagged in HANDOFF.md if not provided
|
|
71
|
+
- [ ] `NEXT_PUBLIC_SITE_URL` or equivalent set for canonical and OG URL generation
|
|
72
|
+
- [ ] Favicon is present (`/public/favicon.ico` or via `app/icon.tsx`)
|
|
73
|
+
- [ ] Social preview image present (1200×630px OG image or dynamic via `/api/og`)
|
|
74
|
+
- [ ] Privacy policy and terms pages exist or are noted as needed
|
|
75
|
+
- [ ] Domain setup documented in DEPLOY.md
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Blocker vs. Polish
|
|
80
|
+
|
|
81
|
+
**Must fix before handoff (blockers):**
|
|
82
|
+
- Missing title/meta on any page
|
|
83
|
+
- Broken contact form
|
|
84
|
+
- Placeholder copy visible to users
|
|
85
|
+
- `next build` failing
|
|
86
|
+
- Broken navigation links
|
|
87
|
+
- WhatsApp link not working
|
|
88
|
+
|
|
89
|
+
**Medium priority (note in HANDOFF.md):**
|
|
90
|
+
- Missing OG image
|
|
91
|
+
- Analytics not yet configured
|
|
92
|
+
- No privacy policy page
|
|
93
|
+
- Lighthouse score 80–89 on any metric
|
|
94
|
+
|
|
95
|
+
**Optional polish (mention, don't block):**
|
|
96
|
+
- Additional page transitions
|
|
97
|
+
- Image optimization for LCP
|
|
98
|
+
- Schema markup enrichment
|
|
99
|
+
- Blog or news section
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Accountant / Bookkeeper / Tax Firm
|
|
2
|
+
|
|
3
|
+
Use for accountants, bookkeepers, tax preparers, CFO services, and financial advisory practices.
|
|
4
|
+
|
|
5
|
+
## Priorities
|
|
6
|
+
|
|
7
|
+
1. Establish competence and trust immediately — clients are trusting you with their money.
|
|
8
|
+
2. Clarify who the firm serves and what it specifically helps with.
|
|
9
|
+
3. Move visitors toward consultation or contact — the goal is a booked call, not a signup.
|
|
10
|
+
4. Tone: specific, calm, and credible — never inflated or salesy.
|
|
11
|
+
|
|
12
|
+
## Default page set
|
|
13
|
+
|
|
14
|
+
- Home (audience + offer + consultation CTA)
|
|
15
|
+
- Services (what you offer, who it's for, how it works)
|
|
16
|
+
- About (firm story, team credentials, values)
|
|
17
|
+
- Contact (consultation request form)
|
|
18
|
+
- FAQ (common tax/accounting questions + process questions)
|
|
19
|
+
|
|
20
|
+
Optional: Blog/Resources, Pricing (if transparent pricing is a differentiator), Client Portal link
|
|
21
|
+
|
|
22
|
+
## Section guidance
|
|
23
|
+
|
|
24
|
+
**Hero:**
|
|
25
|
+
- Clear positioning: audience + service + location (if local SEO matters)
|
|
26
|
+
- Example: "Tax prep and bookkeeping for freelancers and small businesses in Metro Manila"
|
|
27
|
+
- Primary CTA: "Schedule a Free Consultation" or "Book a Call"
|
|
28
|
+
- Phone number visible
|
|
29
|
+
|
|
30
|
+
**Services:**
|
|
31
|
+
- List with brief description of each service — what it includes, who it's for
|
|
32
|
+
- Avoid jargon (e.g., "accrual accounting services" — say "monthly bookkeeping")
|
|
33
|
+
- Link each to a detail page for SEO depth if possible
|
|
34
|
+
|
|
35
|
+
**Why choose us:**
|
|
36
|
+
- Specific credentials: CPA license, years in practice, types of clients served, notable affiliations
|
|
37
|
+
- Process transparency: "We review your books monthly and flag issues before they become problems"
|
|
38
|
+
- Never invent: no made-up client counts, invented savings amounts, or unverifiable claims
|
|
39
|
+
|
|
40
|
+
**Team:**
|
|
41
|
+
- Real names, credentials, and short bios
|
|
42
|
+
- Even solo practitioners benefit from a professional headshot + credentials section
|
|
43
|
+
|
|
44
|
+
**Consultation CTA:**
|
|
45
|
+
- Make the first step easy: "30-minute free call, no obligation"
|
|
46
|
+
- Simple form: Name, Email, Phone, Business type, What you need help with
|
|
47
|
+
|
|
48
|
+
## Design guidance
|
|
49
|
+
|
|
50
|
+
- **Art direction:** Restrained Editorial — calm, exact, composed.
|
|
51
|
+
- Avoid: flashy visuals, startup aesthetics, anything that looks "too clever"
|
|
52
|
+
- Typography: stable and precise — Source Serif, Libre Baskerville, or clean sans like Lato/Inter
|
|
53
|
+
- Palette: navy, slate, charcoal, white — one warm accent (gold or teal) if any
|
|
54
|
+
- Photography: real team photos if available; avoid generic "counting money" stock photos
|
|
55
|
+
|
|
56
|
+
## SEO guidance
|
|
57
|
+
|
|
58
|
+
- Title: "[Firm Name] — [Service] for [Audience] in [City, Region]"
|
|
59
|
+
- H1: "[Accounting/Tax Service] for [Target Client Type] in [City]"
|
|
60
|
+
- Target: "accountant for small business [city]", "bookkeeper [city]", "tax preparation [city]"
|
|
61
|
+
- Structured data: `LocalBusiness` or `AccountingService` + `ProfessionalService`
|
|
62
|
+
- FAQ page helps with "how much does X cost" and "do I need an accountant for X" queries
|
|
63
|
+
|
|
64
|
+
## WhatsApp / contact
|
|
65
|
+
|
|
66
|
+
- WhatsApp appropriate for PH/SEA accounting firms
|
|
67
|
+
- Phone number always visible — clients with urgent tax questions call
|
|
68
|
+
- Consultation booking: form + optional Calendly link works well
|
|
69
|
+
|
|
70
|
+
## Avoid
|
|
71
|
+
|
|
72
|
+
- Invented client testimonials, savings figures, or case outcomes
|
|
73
|
+
- Generic financial stock imagery (coins, graphs, calculators)
|
|
74
|
+
- Inflated language: "transforming your financial future" — be direct
|
|
75
|
+
- Hiding pricing entirely when competitors are transparent (consider at least explaining the pricing model)
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Agency / Studio / Consultancy
|
|
2
|
+
|
|
3
|
+
Use for creative agencies, design studios, development firms, marketing consultancies, and any service firm where taste and credibility are core products.
|
|
4
|
+
|
|
5
|
+
## Priorities
|
|
6
|
+
|
|
7
|
+
1. Establish taste immediately — the site IS the portfolio.
|
|
8
|
+
2. Make the offer and audience explicit — agencies often confuse "we do everything" with positioning.
|
|
9
|
+
3. Build trust through work quality, process, and proof — not just claims.
|
|
10
|
+
4. Move visitors toward inquiry or consultation.
|
|
11
|
+
|
|
12
|
+
## Default page set
|
|
13
|
+
|
|
14
|
+
- Home (positioning + selected work + CTA)
|
|
15
|
+
- Work / Portfolio (case studies or project grid)
|
|
16
|
+
- Services (what you do, who it's for, how you work)
|
|
17
|
+
- About (team, story, values)
|
|
18
|
+
- Contact (inquiry form)
|
|
19
|
+
|
|
20
|
+
Optional: Case Study detail pages, Process page, Blog, Clients page
|
|
21
|
+
|
|
22
|
+
## Section guidance
|
|
23
|
+
|
|
24
|
+
**Hero:**
|
|
25
|
+
- Clear positioning — who you help and what you do for them
|
|
26
|
+
- Avoid: "We create experiences that matter" (vague)
|
|
27
|
+
- Prefer: "Brand strategy and digital design for ambitious B2B companies"
|
|
28
|
+
- CTA: "Start a Project" or "See Our Work"
|
|
29
|
+
|
|
30
|
+
**Selected work:**
|
|
31
|
+
- 3–6 real projects — thumbnail + client name + type of work
|
|
32
|
+
- Never show fake case studies or vague "Project A" placeholders
|
|
33
|
+
- If no portfolio available: skip this section and lead with process/services
|
|
34
|
+
|
|
35
|
+
**Services:**
|
|
36
|
+
- List with brief description — 3–8 services
|
|
37
|
+
- Who benefits from each service
|
|
38
|
+
- How you work (process overview or retainer/project model)
|
|
39
|
+
|
|
40
|
+
**Why work with us:**
|
|
41
|
+
- Specific: years in business, types of clients, notable partnerships if real
|
|
42
|
+
- Process transparency: "We don't start until we understand your goals"
|
|
43
|
+
|
|
44
|
+
**Team / About:**
|
|
45
|
+
- Real photos, real bios — even for small teams
|
|
46
|
+
- Mission or founding story if meaningful
|
|
47
|
+
|
|
48
|
+
## Design guidance
|
|
49
|
+
|
|
50
|
+
- **Art direction:** Restrained Editorial or Bold Brand-Forward — depending on the studio's own personality.
|
|
51
|
+
- The site's design should demonstrate what the agency can do — it's a live portfolio piece.
|
|
52
|
+
- Typography should be intentional and distinctive — not generic sans-serif defaults.
|
|
53
|
+
- Photography of real work, team, and process > stock imagery.
|
|
54
|
+
- Animation and transitions can be more expressive here than other niches.
|
|
55
|
+
|
|
56
|
+
## SEO guidance
|
|
57
|
+
|
|
58
|
+
- Title: "[Agency Name] — [Service] Agency in [City] (if local)"
|
|
59
|
+
- H1: specific positioning statement
|
|
60
|
+
- Target: "[service] agency [city]", "[service] studio", "[niche] design agency"
|
|
61
|
+
- Case study pages are SEO gold — named projects, client industries, outcomes achieved
|
|
62
|
+
- Structured data: `ProfessionalService` or `Organization`
|
|
63
|
+
|
|
64
|
+
## WhatsApp / contact
|
|
65
|
+
|
|
66
|
+
- Contact form with project type + budget range + timeline field
|
|
67
|
+
- WhatsApp optional — appropriate in PH/SEA for smaller studios, less expected for enterprise agencies
|
|
68
|
+
|
|
69
|
+
## Avoid
|
|
70
|
+
|
|
71
|
+
- "We're passionate about design" — everyone says this
|
|
72
|
+
- Vague case studies with no real outcomes or client names
|
|
73
|
+
- Portfolio with no work shown (skip portfolio section instead of showing fake work)
|
|
74
|
+
- Generic stock photos of teamwork and handshakes
|
|
75
|
+
- Overpromising in the hero (claiming to do everything for everyone)
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Cafe
|
|
2
|
+
|
|
3
|
+
Use for cafes, coffee shops, bakeries, brunch spots, and hospitality brands where atmosphere and local trust both matter.
|
|
4
|
+
|
|
5
|
+
## Priorities
|
|
6
|
+
|
|
7
|
+
1. Communicate the vibe immediately — people choose cafes by feel before they check the menu.
|
|
8
|
+
2. Make location, hours, and menu access obvious — these are the most searched items.
|
|
9
|
+
3. Encourage in-person visits, reservations, or online orders depending on what the business offers.
|
|
10
|
+
4. Balance brand storytelling with practical information — never let atmosphere hide the basics.
|
|
11
|
+
|
|
12
|
+
## Default page set
|
|
13
|
+
|
|
14
|
+
- Home (hero + signature items + atmosphere + location/hours)
|
|
15
|
+
- Menu (full menu or featured items by category)
|
|
16
|
+
- About (brand story, team, sourcing story if relevant)
|
|
17
|
+
- Find Us (location, hours, parking, directions, map embed)
|
|
18
|
+
- Contact (reservation inquiry or general contact)
|
|
19
|
+
|
|
20
|
+
Optional: Gallery, Events, Order Online (if third-party integrated), Press
|
|
21
|
+
|
|
22
|
+
## Section guidance
|
|
23
|
+
|
|
24
|
+
**Hero:**
|
|
25
|
+
- Lead with brand atmosphere — warm image, specific place language
|
|
26
|
+
- Sub-headline should be practical: "Specialty espresso and house-made pastries on [Street], [City]"
|
|
27
|
+
- Primary CTA: "Reserve a Spot", "See the Menu", or "Find Us"
|
|
28
|
+
|
|
29
|
+
**Signature offerings:**
|
|
30
|
+
- 3–5 featured items with short, sensory descriptions
|
|
31
|
+
- Real names only — no invented menu items
|
|
32
|
+
|
|
33
|
+
**About / brand story:**
|
|
34
|
+
- When it opened, who runs it, what they care about
|
|
35
|
+
- Sourcing story if meaningful (single-origin, local farms, etc.)
|
|
36
|
+
- Human — not a corporate mission statement
|
|
37
|
+
|
|
38
|
+
**Location + hours block:**
|
|
39
|
+
- Visible on every page (footer at minimum)
|
|
40
|
+
- Hours listed clearly with day ranges
|
|
41
|
+
- Include parking/transit notes if relevant
|
|
42
|
+
- Google Maps embed or link
|
|
43
|
+
|
|
44
|
+
**Reviews / social proof:**
|
|
45
|
+
- Use real review counts from Google or Yelp if available (e.g., "4.8 stars · 240 reviews")
|
|
46
|
+
- Never invent reviews or star ratings
|
|
47
|
+
- Instagram embed or grid if the business has active social
|
|
48
|
+
|
|
49
|
+
## Design guidance
|
|
50
|
+
|
|
51
|
+
- Cafe sites should feel sensory and place-driven, not corporate or tech-startup.
|
|
52
|
+
- **Art direction:** Warm Hospitality is almost always the right choice.
|
|
53
|
+
- Typography: warm serif or humanist sans — pairs like Fraunces + Manrope, Lora + Inter.
|
|
54
|
+
- Palette: warm neutrals — cream, sand, terracotta, olive, espresso brown. One accent.
|
|
55
|
+
- Photography framing: close-ups of food/drink, ambient interior shots, hands-on-cup moments.
|
|
56
|
+
- Use texture (paper grain, linen, concrete) in section backgrounds to create atmosphere.
|
|
57
|
+
- Do not use generic stock coffee imagery — if no real photos exist, use strong typography + color instead.
|
|
58
|
+
|
|
59
|
+
## SEO guidance
|
|
60
|
+
|
|
61
|
+
- Homepage title: "[Cafe Name] — Specialty Coffee in [Neighborhood], [City]"
|
|
62
|
+
- H1: "[Type of cafe] in [Location]" e.g., "Artisan Coffee Shop in Poblacion, Makati"
|
|
63
|
+
- Mention neighborhood + city naturally in hero copy and about section
|
|
64
|
+
- Include opening hours in structured data (LocalBusiness/CafeOrCoffeeShop schema)
|
|
65
|
+
- Target "[coffee shop near me]", "[cafe in [neighborhood]]", "[brunch [city]]"
|
|
66
|
+
|
|
67
|
+
## WhatsApp / contact
|
|
68
|
+
|
|
69
|
+
- WhatsApp is default for reservation inquiries in PH/SEA
|
|
70
|
+
- Pre-filled message: "Hi! I found you on your website. I'd like to inquire about a reservation."
|
|
71
|
+
- If no WhatsApp, use a simple form with Name, Date/Time, Number of Guests fields
|
|
72
|
+
|
|
73
|
+
## Avoid
|
|
74
|
+
|
|
75
|
+
- Overdesigned navigation that hides hours, address, or menu
|
|
76
|
+
- Generic stock images of coffee cups on marble — use real atmosphere or strong type
|
|
77
|
+
- Keyword-stuffed city terms in headlines
|
|
78
|
+
- Treating the site like a SaaS landing page — cafes are experiential, not transactional
|
|
79
|
+
- Hidden or tiny contact info
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Dentist / Dental Clinic
|
|
2
|
+
|
|
3
|
+
Use for dental clinics, cosmetic dentists, orthodontists, pediatric dentists, and oral care practices.
|
|
4
|
+
|
|
5
|
+
## Priorities
|
|
6
|
+
|
|
7
|
+
1. Build trust fast — dental anxiety is real; the site should feel calm and reassuring.
|
|
8
|
+
2. Explain services clearly — patients often don't know the terminology.
|
|
9
|
+
3. Reduce booking friction — easy appointment scheduling above the fold.
|
|
10
|
+
4. Balance warmth with clinical credibility.
|
|
11
|
+
|
|
12
|
+
## Default page set
|
|
13
|
+
|
|
14
|
+
- Home (services overview + trust signals + booking CTA)
|
|
15
|
+
- Services (full service list with brief descriptions)
|
|
16
|
+
- About Us / Meet the Dentist (team profiles + clinic photos)
|
|
17
|
+
- Book an Appointment (form or third-party booking link)
|
|
18
|
+
- Contact (address, hours, map, phone)
|
|
19
|
+
|
|
20
|
+
Optional: FAQ, Before/After Gallery (only with real consented photos), Insurance/Payment page, Blog
|
|
21
|
+
|
|
22
|
+
## Section guidance
|
|
23
|
+
|
|
24
|
+
**Hero:**
|
|
25
|
+
- Lead with what you offer and who you serve, not a clever tagline
|
|
26
|
+
- Example: "Family and Cosmetic Dental Care in Quezon City"
|
|
27
|
+
- CTA: "Book an Appointment" — prominently placed
|
|
28
|
+
- Phone number visible
|
|
29
|
+
|
|
30
|
+
**Services:**
|
|
31
|
+
- List all services with a brief, patient-friendly description
|
|
32
|
+
- Group logically: General, Cosmetic, Orthodontic, Pediatric, etc.
|
|
33
|
+
- Avoid jargon — "tooth-colored fillings" not "composite resin restorations"
|
|
34
|
+
|
|
35
|
+
**Meet the dentist / team:**
|
|
36
|
+
- Real photos, credentials (DDS, DMD, specializations), brief personal bio
|
|
37
|
+
- Humanizes the practice — reduces patient anxiety
|
|
38
|
+
|
|
39
|
+
**Trust signals:**
|
|
40
|
+
- Years in practice, number of patients served (if real), certifications, PDA/ADA membership
|
|
41
|
+
- Clinic accreditation if applicable
|
|
42
|
+
- Reviews or patient count — only if real
|
|
43
|
+
|
|
44
|
+
**Booking / appointment CTA:**
|
|
45
|
+
- Simple form: Name, Contact, Preferred date/time, Type of concern
|
|
46
|
+
- Or link to Calendly/SimplyBook or similar
|
|
47
|
+
- WhatsApp for quick scheduling in PH
|
|
48
|
+
|
|
49
|
+
## Design guidance
|
|
50
|
+
|
|
51
|
+
- **Art direction:** Restrained Editorial or Premium Product-Led — clean and calm.
|
|
52
|
+
- Never use garish or overly commercial aesthetics.
|
|
53
|
+
- Typography: clean, legible sans — Inter, Lato, Poppins, or calm serif
|
|
54
|
+
- Palette: soft and clinical — white, soft blue, mint, light grey, warm white
|
|
55
|
+
- Photography: real clinic interior + real team photos are far more effective than stock dental images
|
|
56
|
+
- Motion: minimal or none — calm is the signal
|
|
57
|
+
|
|
58
|
+
## SEO guidance
|
|
59
|
+
|
|
60
|
+
- Title: "[Clinic Name] — Dentist in [City/Neighborhood]"
|
|
61
|
+
- H1: "Dental Clinic in [City]" or "Dentist in [Neighborhood], [City]"
|
|
62
|
+
- Target: "dentist in [city]", "dental clinic near me", "cosmetic dentist [city]"
|
|
63
|
+
- Separate service pages for high-intent searches: "teeth whitening [city]", "braces [city]"
|
|
64
|
+
- Structured data: `Dentist` schema with full address, phone, opening hours
|
|
65
|
+
|
|
66
|
+
## WhatsApp / contact
|
|
67
|
+
|
|
68
|
+
- WhatsApp is high-value for appointment booking in PH — patients message before calling
|
|
69
|
+
- Pre-filled: "Hi! I'd like to book a dental appointment. I found you on your website."
|
|
70
|
+
- Simple booking form as backup
|
|
71
|
+
|
|
72
|
+
## Avoid
|
|
73
|
+
|
|
74
|
+
- Invented patient testimonials or before/after results
|
|
75
|
+
- Generic "dental health" stock imagery
|
|
76
|
+
- Complex navigation that buries the booking CTA
|
|
77
|
+
- Clinical jargon in patient-facing copy
|
|
78
|
+
- Hiding pricing entirely — patients ask "how much is cleaning/braces?" — provide at least a range or "contact for pricing"
|