Files
arisingmedia-web-sops/CONTENT.md
T
2026-06-09 18:31:59 +02:00

5.0 KiB
Raw Blame History

CONTENT - Copy Standards, Image Rules, and Asset Guidelines

Author: Andre Cobham / Arising Media Updated: 2026-06-09

Writing Standard

Reading level: 7th to 8th grade for service businesses, 10th to 12th grade for professional/B2B.

Active voice. Short paragraphs (2 to 4 sentences max).

Lead with the customer's problem, not the business's credentials.

One clear CTA per section.

No marketing jargon (synergize, leverage, best-in-class, cutting-edge, state-of-the-art).

No filler phrases (In today's fast-paced world, Look no further, We pride ourselves on, Don't hesitate, Whether you are X or Y).

Specificity beats superlatives. A timeframe, a material, a measurable result beats any adjective.

What We Never Write

Em dashes or en dashes. Replace with a period, comma, colon, or the word "and" or "to".

Invented numbers (satisfaction rates, years of experience, award claims) without client-verified proof.

"Licensed" for any provisionally licensed or permit-holding clinician. Use "Provisionally Licensed" instead.

Exclamation points (one per page maximum, in a CTA only).

Passive voice as the default sentence structure.

Verification check: grep -rn '.\|\|—\|–' . --include="*.html" --include="*.json". Result must be zero.

Tone by Sector

Service businesses (trades, cleaning, home services): plain, direct, neighborhood-familiar.

Healthcare / counseling: warm, clinical accuracy required, never overpromise outcomes.

Professional / B2B / tech: peer-level, systems-oriented, results-focused.

Healthcare Credential Rules

MHC-LP is Provisionally Licensed, not Licensed. LP stands for Limited Permit.

Any permit holder must display: "Practices under the supervision of [Name], [Credential]" in the footer, about page, and auto-response email.

Use "Provisionally Licensed" everywhere: credential row, why-cards, location page intros, section headers, auto-response emails, meta descriptions.

Run grep check before launch: grep -r "Licensed Professional" --include="*.html" . result must be zero.

Supervisor's credential must be accurate to the letter. LMHC not equivalent to LMHC-D. Confirm the current designation before publishing.

When a credential changes (upgrade or advancement), update the source templates first (render.py, copy_library.py), rebuild the Docker container, then re-run verification checks.

Copy Structure

One h1 per page. h2 for major sections. h3 for cards or items within a section. Never skip levels.

Footer on every page: phone, hours, address, in identical format.

Phone format: (###) ###-####. Hours: Monday to Friday: 8:00 AM to 5:00 PM (no dashes).

Links use relative paths with .html extension for internal pages. External links include target="_blank" rel="noopener". Phone links use tel:+1 format. Email links use mailto:. Map links open in new tab.

Image Standards

Format: WebP only in production. No JPGs or PNGs in the webroot.

Every image has descriptive alt text or alt="" if decorative.

loading="lazy" on every image except the above-the-fold hero.

width and height attributes on every img tag to prevent layout shift.

No people, no faces in any generated or stock imagery.

Show the result (clean room, finished floor, complete installation), not the process or equipment.

Hero images: unique per page, named hero-{page-slug}.webp.

Image Generation

Preferred source: local ComfyUI (FLUX.1 Schnell) or Google Imagen API.

Every generated image passes a vision validation check for people/faces before being saved.

Prompt structure: camera angle + lens + subject + foreground detail + background + lighting + no people.

Specify lens focal length and depth of field. Vague room names produce incoherent scenes.

Never generate: people, faces, cleaning equipment, text overlaid on source, before/after states.

No cleaning machines, vacuums, steam equipment, or hoses in any image.

Show upright equipment only, not flat industrial models.

Machines must look functional and modern, not dated or commercial-scale.

Image Size Targets

Service card / thumbnail: max 900px wide, 78% quality, 30-80KB target.

Hero image (page header): max 1400px wide, 80% quality, 50-180KB target.

OG / social share image: max 1200px wide, 85% quality, under 150KB.

Images over these targets are rejected at deploy time.

Prompt Engineering

All prompts follow this structure: {camera angle} {lens} {subject description}, {foreground detail} sharp in foreground, {background} receding into bokeh, {lighting description}, no people, ultra-realistic {type} photography.

This pattern produces correct depth, perspective, and scene geometry because it names every surface explicitly.

Fix incoherent objects by naming every part of the frame: background walls, floor material, ceiling (if visible), and what recedes. Avoid vague room names ("office" without detail). Specify plain surfaces (cream painted wall, white drop ceiling) not implied ones.

Inline negative elements in the prompt itself (no people, no machines, no text), not in a separate negative prompt.

Do not use "wide shot" without a camera angle qualifier.