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.
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.
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>
6. What the platform handles automatically
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.
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.
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
div#business-data exists.15. Important rules at a glance
div#business-data