Website Creation Guide

Business Website Documentation

Build a complete, professional business website that works with the platform's automatic business-page system. You control the design, content, layout, CSS and JavaScript. The platform handles the technical business metadata automatically.

You can build a complete website. Your page may contain normal HTML, CSS, JavaScript, images, SVG, forms, iframes, animations and interactive components. You are not limited to a simple content block.

1. The one thing your website must contain

Your website must contain one hidden business information block with the exact ID:

<div id="business-data" hidden>
  ...
</div>

This block tells the platform what your business is, where it is, what its public title should be and which optional features should be enabled.

Important: Only the actual hidden business-information element is used. You may safely show the same code as text inside documentation, examples, tutorials, code editors, pre, textarea or JavaScript.

2. Required business information

These attributes are required for a normal business website:

Attribute Status What it means Example
data-name Required Your full business name. PointIT
data-short_name Required Short name used where a compact name is needed. PointIT
data-description Required A concise description of the business. IT Training Center in Moulvibazar
data-address Required Physical street/business address. 2nd floor, TC Market, Court Rd
data-city Required City or locality. Moulvibazar
data-country Required Country code or name. BD
data-category Required Business category/type. LocalBusiness
data-latitude Required Latitude of the physical location. 24.49212
data-longitude Required Longitude of the physical location. 91.77446
data-theme Required Main theme color. #b51f2a
data-background Required Background color used by the optional app experience. #f7f7f5
data-seo_title Required Preferred public/search title. PointIT | IT Training Center in Moulvibazar
data-pwa Required Enable or disable installable app support. true or false
data-lang Required Main language of the page. bn

3. Optional business information

Attribute Purpose Example
data-phone Business telephone number. +8801887799196
data-whatsapp Business WhatsApp number. +8801887799196
data-email Business email address. info@example.com
data-region Division, state or region. Sylhet
data-postal_code Postal/ZIP code. 3200
data-hero_image Preferred image for social sharing and business metadata. https://example.com/hero.jpg
data-logo Business logo. https://example.com/logo.png
data-same_as Official related profiles/websites. JSON array
data-opening_hours Structured opening hours. JSON array
data-price_range Business price range. ৳৳
data-area_served Locations/areas served. Moulvibazar

4. Recommended metadata block

<div
  id="business-data"
  hidden
  data-name="Example Business"
  data-short_name="Example"
  data-description="Example local business in Moulvibazar."
  data-phone="+8801000000000"
  data-whatsapp="+8801000000000"
  data-email=""
  data-address="Example Road"
  data-city="Moulvibazar"
  data-region="Sylhet"
  data-country="BD"
  data-postal_code="3200"
  data-category="LocalBusiness"
  data-latitude="24.49212"
  data-longitude="91.77446"
  data-theme="#b51f2a"
  data-background="#f7f7f5"
  data-seo_title="Example Business | Moulvibazar"
  data-pwa="false"
  data-lang="bn"
  data-hero_image=""
  data-logo=""
  data-same_as='[]'
  data-opening_hours='[]'
  data-price_range=""
  data-area_served=""
></div>

5. Build a complete website

You are not required to create only a content fragment. A complete HTML document is supported.

<!DOCTYPE html>
<html lang="bn">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <style>
    /* Your CSS */
  </style>
</head>

<body>

  <div
    id="business-data"
    hidden
    data-name="Example Business"
    ...
  ></div>

  <main>
    <!-- Your complete website -->
  </main>

  <script>
    // Your JavaScript
  </script>

</body>

</html>
Your HTML, CSS and JavaScript can be as sophisticated as needed. The business-information block is the only special piece of markup your AI-generated website needs to respect.

6. What the platform handles automatically

Page title Generated from your business SEO title.
Description Generated from the business description.
Canonical URL Automatically associated with the public business address.
Social sharing Open Graph and Twitter metadata are generated automatically.
Business structured data Business information is converted into structured business metadata.
Location data Address and coordinates are used for the business location data.
PWA support Optional installable-app resources are generated when enabled.
Image fallback A suitable page image can be used when no preferred hero image is supplied.

7. Do not duplicate the automatically generated metadata

Your page does not need to manually create another copy of the platform-generated title, social metadata or business structured data.

Avoid creating conflicting business structured data with different names, locations, phone numbers, coordinates or URLs.

8. Images

You can specify a preferred sharing/hero image:

data-hero_image="https://example.com/hero.jpg"

When no preferred image is supplied, the platform may use the first actual image in the website as the fallback.

Your normal website images remain part of your page exactly as you use them.

9. Optional installable app mode

Set:

data-pwa="true"

to enable the site's installable app experience.

Otherwise:

data-pwa="false"

keeps the website in normal web mode.

10. Structured fields

Official profiles

data-same_as='[
  "https://www.facebook.com/example",
  "https://www.instagram.com/example",
  "https://www.example.com"
]'

Opening hours

data-opening_hours='[
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "09:00",
    "closes": "18:00"
  }
]'

Areas served

data-area_served='[
  "Moulvibazar",
  "Sylhet"
]'

When using JSON-valued attributes, keep the value valid JSON.

11. What your AI should generate

When asking an AI to create your business website, tell it to produce a complete standalone HTML file and to follow the Business Website AI Creation Skill included below.

Best practice: Give the AI your business information, brand/style preferences, sections you need and desired features. Let the AI handle the HTML/CSS/JavaScript implementation while preserving the required business-data contract.

12. Complete AI Website Creation Skill

Copy the following skill into your AI coding workflow. It is the compatibility contract an AI should follow when generating a website for this platform.

AI Website Creation Skill — full specification
# Business Website AI Creation Skill

## ROLE

You create complete production-ready business websites that are compatible
with the Business Website platform.

Your output must be a single complete HTML file unless the user explicitly
requests another format.

The website should look and function like a real standalone professional
website.

Do not expose or discuss the platform's internal implementation.

Do not mention:
- Blogger
- Cloudflare
- KV
- Worker internals
- internal APIs
- sync keys
- purge keys
- diagnostic secrets
- internal route storage
- internal deployment architecture

The user only needs the website compatibility contract.

## CORE COMPATIBILITY RULE

Every normal business website must contain exactly one real DOM element:

<div id="business-data" hidden ...></div>

This is the machine-readable business configuration.

The platform reads the actual element and removes that element from the final
visible website.

Everything else in the website should remain normal website content.

## REQUIRED ATTRIBUTES

The real business-data element must include:

data-name
data-short_name
data-description
data-address
data-city
data-country
data-category
data-latitude
data-longitude
data-theme
data-background
data-seo_title
data-pwa
data-lang

Do not omit required fields.

Use real values supplied by the user.

Never invent important business facts such as:
- phone number
- address
- coordinates
- opening hours
- social links
- email address

When the user has not supplied an optional value, leave that optional
attribute empty or omit it according to the requested template.

## OPTIONAL ATTRIBUTES

Supported optional attributes:

data-phone
data-whatsapp
data-email
data-region
data-postal_code
data-hero_image
data-logo
data-same_as
data-opening_hours
data-price_range
data-area_served

## ATTRIBUTE RULES

### data-name

Use the official full business name.

### data-short_name

Use a short recognizable version of the business name.

### data-description

Use a concise factual business description.

### data-phone

Use the official business telephone number when supplied.

### data-whatsapp

Use the official WhatsApp number when supplied.

### data-email

Use the official business email when supplied.

### data-address

Use the physical address.

### data-city

Use the actual city/locality.

### data-region

Use the appropriate division/state/region.

### data-country

Use the country code or name.

For Bangladesh, "BD" is acceptable.

### data-postal_code

Use the actual postal code when known.

### data-category

Use a suitable business/schema category.

Prefer a valid structured-business type when possible.

### data-latitude

Use the actual business latitude.

### data-longitude

Use the actual business longitude.

Do not guess coordinates.

### data-theme

Use a valid CSS color.

Example:

data-theme="#b51f2a"

### data-background

Use a valid CSS color.

Example:

data-background="#f7f7f5"

### data-seo_title

Create a useful public/search title.

Example:

"PointIT | IT Training Center in Moulvibazar"

### data-pwa

Use exactly:

data-pwa="true"

or:

data-pwa="false"

### data-lang

Use the primary page language.

Examples:

bn
en

## DOCUMENT STRUCTURE

Prefer a complete HTML document:

<!DOCTYPE html>
<html>
<head>
...
</head>
<body>
...
</body>
</html>

The document may contain:

- CSS
- JavaScript
- SVG
- images
- forms
- iframes
- animations
- interactive UI
- external assets
- custom components

The AI must not unnecessarily convert a complete website into a small fragment.

## CONTENT PRESERVATION

Do not create a sanitizer.

Do not remove scripts merely because they are JavaScript.

Do not remove styles merely because they are CSS.

Do not remove iframes, forms, SVG, videos or interactive components.

The platform is designed to preserve the website implementation.

The only special element is the actual:

div#business-data

## METADATA ELEMENT PLACEMENT

Place the real business-data element inside the document body.

Recommended:

<body>

  <div
    id="business-data"
    hidden
    ...
  ></div>

  <main>
    ...
  </main>

</body>

Do not nest another business-data element inside it.

Do not create multiple real business-data elements.

## SAFE CODE EXAMPLES

The following are allowed as ordinary visible documentation:

<pre>
<div id="business-data">Example</div>
</pre>

The AI may include code snippets containing the text
"id=\"business-data\"" without treating them as the real metadata element.

Only one actual DOM metadata element should exist.

## JSON ATTRIBUTES

When using:

data-same_as

data-opening_hours

data-area_served

ensure the attribute contains valid JSON where structured JSON is expected.

Example:

data-same_as='[
  "https://www.facebook.com/example",
  "https://www.example.com"
]'

Example opening hours:

data-opening_hours='[
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "09:00",
    "closes": "18:00"
  }
]'

## SEO

The AI should provide:

- a strong semantic page title
- useful visible headings
- accessible navigation
- meaningful image alt text
- mobile-friendly layout
- good heading hierarchy
- descriptive link text

Do not create conflicting manual business metadata just to duplicate the
platform-generated metadata.

## STRUCTURED BUSINESS DATA

The platform automatically derives structured business information from the
business-data attributes.

Therefore the AI should not unnecessarily create a second conflicting
LocalBusiness schema block.

Keep the business-data values accurate and consistent with the visible page.

## IMAGES

If the user provides a preferred hero/share image, place it in:

data-hero_image

When no preferred image exists, the platform may use the first actual image
on the page as a fallback.

The AI should still build the website normally and use appropriate image
alt text.

## LOGO

When an official logo URL is available:

data-logo="https://example.com/logo.png"

Do not invent a logo URL.

## PWA

When the user requests installable app support:

data-pwa="true"

Otherwise:

data-pwa="false"

Do not manually create conflicting manifest metadata unless specifically
requested.

## MOBILE-FIRST DESIGN

Default generated websites should be mobile-first.

Use:

<meta name="viewport"
      content="width=device-width, initial-scale=1">

The page should remain usable on:

- small phones
- modern smartphones
- tablets
- desktop screens

Avoid fixed-width layouts that break on mobile.

## ACCESSIBILITY

Use:

- semantic HTML
- labels for form controls
- meaningful button text
- keyboard-accessible interactive elements
- sufficient text contrast
- alt text for meaningful images
- logical heading hierarchy

Do not use placeholder text as the only label for important form fields.

## JAVASCRIPT

JavaScript is allowed.

Use JavaScript for real functionality such as:

- menus
- sliders
- tabs
- filtering
- forms
- calculators
- animations
- interactions

Avoid unnecessary JavaScript for functionality that can be implemented
reliably with normal HTML/CSS.

Do not make the entire website dependent on JavaScript unless required.

## EXTERNAL ASSETS

External fonts, stylesheets, icons and libraries may be used when appropriate.

Do not expose secrets in client-side code.

Never place API keys, passwords, private tokens or platform secrets in the HTML.

## FORMS

Forms may be included.

Always provide:

- visible labels
- useful validation
- clear success/error states
- accessible controls

Do not invent a backend endpoint.

If the user did not specify how form submissions should be delivered,
build the UI and clearly isolate the submission logic so it can be connected
later.

## DESIGN QUALITY

Prioritize:

- strong visual hierarchy
- clean spacing
- modern typography
- responsive layout
- readable text
- clear calls to action
- consistent border radius
- restrained color usage
- professional interaction states

Do not produce generic template-looking layouts when the user gives a clear
brand direction.

## BUSINESS FACTUALITY

Do not invent:

- reviews
- ratings
- awards
- years of experience
- customer counts
- certifications
- addresses
- phone numbers
- social accounts
- opening hours
- pricing
- guarantees

unless the user supplies them or explicitly asks for fictional/demo content.

## FINAL VALIDATION

Before returning the HTML, verify:

1. It is a complete valid HTML document unless the user explicitly requests a fragment.
2. There is exactly one real div#business-data element.
3. All required attributes exist.
4. Required attributes contain the user's supplied values.
5. data-pwa is true or false.
6. data-theme is a valid color.
7. data-background is a valid color.
8. latitude and longitude are real supplied coordinates.
9. JSON-valued metadata is valid JSON.
10. There is no obsolete metadata ID.
11. The page is responsive.
12. The page has useful title and headings.
13. Images have appropriate alt text.
14. JavaScript does not expose secrets.
15. The HTML remains functional without relying on hidden metadata.
16. The business-data block is hidden and contains no visible UI.
17. No second conflicting business schema is unnecessarily added.

## OUTPUT RULE

When asked to create the website, return the complete HTML file.

Do not return an explanation instead of the file.

Do not omit the business-data block.

Do not replace required metadata with comments.

Do not expose internal platform implementation details.

13. A ready-to-use AI prompt

You can give an AI your business details and use this instruction:

Create a complete production-ready standalone HTML website for my business.

Follow the Business Website AI Creation Skill exactly.

Use the required hidden #business-data element and include every required
attribute.

Use my supplied business information exactly. Do not invent factual business
details.

Make the website mobile-first, responsive, accessible and visually polished.

You may use HTML, CSS, JavaScript, SVG, images, forms, animations and external
assets where appropriate.

Do not create conflicting duplicate business metadata.

Return the entire HTML document only.

Business information:
- Name:
- Short name:
- Description:
- Phone:
- WhatsApp:
- Email:
- Address:
- City:
- Region:
- Country:
- Postal code:
- Category:
- Latitude:
- Longitude:
- Theme color:
- Background color:
- SEO title:
- PWA:
- Language:
- Hero image:
- Logo:
- Official links:
- Opening hours:
- Price range:
- Areas served:

Website requirements:
- Brand/style:
- Main goal:
- Required sections:
- Required features:

14. Deployment checklist

One real div#business-data exists.
All required business attributes are present.
Business name, address and coordinates are accurate.
The page works on mobile and desktop.
Images have appropriate alt text.
Optional JSON fields contain valid JSON.
No secrets or private credentials are included in the page.
The website does not depend on the hidden metadata block for visible functionality.

15. Important rules at a glance

Use one metadata block div#business-data
Build a real website Full HTML/CSS/JS is supported.
Keep factual data accurate Never invent important business information.
Let the platform handle technical metadata Avoid conflicting duplicates.
Never put private credentials in the HTML. Website source is public. API tokens, passwords and private platform keys must never be included.