Enlarged screenshot

How To Use Custom Templates in YACSS - Custom Templates page explained

The Custom Templates page is where you upload and manage your own custom-designed HTML page templates for use when generating websites in YACSS. Instead of being limited to the built-in templates, you can design your own pages in any HTML editor and upload them here. YACSS then uses your uploaded HTML files as the visual shell for generated websites, replacing the template variables you placed inside them with the real project content at generation time.

Each custom template you create can consist of up to six different page types — a homepage, a sitemap page, an about us page, a privacy policy page, a news list page, and a news article detail page. Only the homepage file is required. The rest are optional and only used if the corresponding features are enabled in your project. Once uploaded, your template appears as a card in the template grid with a thumbnail preview, and it becomes available for selection when generating a new website in masspage builder.

Prerequisites

Before you start, you should have your custom HTML files ready with the correct YACSS template variables placed where you want dynamic content to appear.

A completed homepage HTML file — this is the only required file
A preview image of your template design for identification purposes
Optionally, HTML files for the sitemap, about us, privacy policy, news list, and news article pages

1

Click On Sidebar Custom Templates

In the sidebar, click on Custom Templates to open the Custom Templates page. This is where all of your uploaded templates appear as cards in a grid.

Step 1: Sidebar with Custom Templates highlighted
2

Click Add Template

Click the Add Template button in the top right corner. This opens a popup form where you upload your HTML files and configure the template for the first time.

Step 2: Custom Templates page with Add Template button highlighted
3

Template Name (Required)

Enter a descriptive name for this template so you can identify it later when selecting it during website generation. For example "Modern Blue Layout" or "Client Agency Template 2025." This name appears on the template card in the grid and in the template selector when generating a website.

Step 3: Add New Template modal with Template Name field highlighted
4

Template Image (Required)

Upload a screenshot or preview image of your template so you can visually identify it in the template grid and in the template selector on the generation form. The image is displayed as a thumbnail on the template card. Any standard image format is accepted such as JPG or PNG. This image is purely for identification purposes and does not appear on any generated pages.

Step 4: Add New Template modal with Template Image field highlighted
5

HomePage .html (Required)

This section is where you upload the actual HTML files for each page type. Each file should be a complete HTML page with the appropriate YACSS template variables placed where you want the dynamic content to appear. You can download the variable reference sheet for each page type using the Download link next to each field — the CSV lists every available variable and exactly how to use it in your HTML.

HomePage (.html) — Required. Upload the HTML file for the main content pages of your website. This is the primary template used for every page in the site unless a more specific template file is provided below. Your homepage HTML file should contain the content variables such as {meta_title}, {content1} through {content7}, the navigation variables, and the footer variables. Click the Download Homepage Variables link next to this field to download the full reference list before building your template.

Step 5: Add New Template modal with HomePage html field highlighted
6

Sitemap Page .html (Optional)

Upload the HTML file for the sitemap page. If your project has HTML sitemap generation enabled, YACSS will use this file to build the sitemap.html page. Your file should include the {sitemap_content} variable where you want the list of all URLs to appear, along with the standard navigation and footer variables. If you do not upload a file here the sitemap page will not be generated.

Step 6: Add New Template modal with Sitemap Page html field highlighted
7

About Us Page .html (Optional)

Upload the HTML file for the About Us page. If About Us page generation is enabled in your project settings, YACSS uses this file to build the about-us.html page. Your file should include the {aboutus_content} variable where you want the about us text to appear, along with any embeds and standard navigation and footer variables. If no file is uploaded here no About Us page will be generated even if the feature is enabled.

Step 7: Add New Template modal with About Us Page html field highlighted
8

Privacy Page .html (Optional)

Upload the HTML file for the Privacy Policy page. YACSS uses this file to generate the privacy-policy.html page when the Privacy Policy feature is enabled in your project. Your file should include {privacy_content} where the policy text should appear, along with the navigation and footer variables.

Step 8: Add New Template modal with Privacy Page html field highlighted
9

News Page .html (Optional)

Upload the HTML file for the news listing page. This is the page that shows a summary list of all news articles. Your file should include {news_content} where the article listing should appear.

Step 9: Add New Template modal with News Page html field highlighted
10

News Detail Page .html (Optional)

Upload the HTML file for individual news article pages. This is the template used to display a single full news article. Your file should include the article-specific variables such as {news_headline}, {news_image}, {news_author}, {news_date}, and {news_description}.

Step 10: Add New Template modal with News Detail Page html field highlighted
11

Click Upload

Click Upload to submit the form and save the new template. All uploaded HTML files and the template image are stored on the server. Once saved, the template immediately appears in the template grid and becomes available for selection when generating a website.

Done! Your custom template is uploaded and ready to select when generating a website.

YACSS Template Variables — Full Reference Guide

When you build a custom HTML template for use in YACSS, you use special placeholder variables written inside curly braces — for example {meta_title} or {logo}. When YACSS generates a website it replaces each variable with the real content from your project settings: the company name, images, page content, links, and so on. This allows you to design one template that works dynamically across hundreds of generated pages.

Each page type in YACSS — Homepage, Sitemap, About Us, Privacy Policy, News List, and News Article — has its own set of variables. The navigation and footer variables are the same across all page types, so you only need to learn them once.

Navigation Variables (Shared Across All Pages)

{logo} — Displays the business logo image. Place inside an <img> tag wherever you want the logo to appear in the header.
{menulinks} — Outputs all navigation menu links. Remove hardcoded links and place this inside a single anchor tag; YACSS populates all menu links while preserving your anchor styling.
{contact_us_button} — Outputs the Contact Us link. Place inside any anchor tag wherever you want the button to appear.
{top_banner} — Displays the top banner image. Place inside an <img> tag the same way as the logo.

Footer Variables (Shared Across All Pages)

{company_name}, {phone}, {email_address}, {city}, {state}, {zip}, {address} — Output the corresponding business details. Place anywhere in the footer, such as inside a <p> or <span> tag.
{google_business_profile_link} and {google_business_website_link} — Output the Google Business Profile URL and the website URL listed on it. Wrap inside an anchor tag.
{company_website_link} — Outputs the main company website URL. Use inside an anchor tag.
{service_link} and {blogpost_link} — Output links to service pages and blog posts. Wrap inside an anchor tag.
{sitemap_link}, {privacy_link}, {aboutus_link} — Output links to the sitemap, privacy policy, and about us pages. Wrap each inside an anchor tag.
{special_footer} — Outputs any special footer content configured in project settings. Place inside any tag such as a <p>.
{footer_image} — Displays the footer image. Place inside an <img> tag.
{facebook_url}, {linkedin_url}, {instagram_url}, {youtube_url}, {twitter_url}, {tumblr_url} — Output the respective social media URLs. Place inside the href of an anchor tag wrapping your icon or text.

Homepage Template Variables

The homepage template has the richest set of variables since it carries the main page content, images, and widgets.

{meta_title} — Outputs the page's main keyword or title. Place wherever you want the primary heading to appear, e.g. <h1>{meta_title}</h1>.
{content1} through {content7} — Seven content text blocks for the main body sections. Place each inside a paragraph tag.
{header1} through {header7} — Seven heading variables corresponding to the seven content blocks. Place each inside a heading tag.
{content3_image} through {content7_image} — Image variables for content sections 3 through 7. Place inside an <img> tag with your own styling.
{youtube_embed} and {map_embed} — Output embedded YouTube video and Google Maps iframes. No wrapping tag needed.
{news_widget} — Outputs a news widget showing recent articles. No wrapping tag needed.
{google_wiki_data} — Used in AI Local website mode. Outputs Wikipedia and Google review data for the business. No wrapping tag needed.
{jumplinks} — Outputs in-page navigation using the seven section headers as anchor links. Typically placed below the second content block.
{interlinking} — Outputs internal links to other pages on the site. YACSS wraps each in <li> tags automatically.
{sitemap_urls} — Outputs a list of all sitemap URLs, automatically wrapped in <li> tags.
{faqs} — Outputs a full FAQ widget with all questions and answers. YACSS handles all markup automatically.
{special_keyword1} through {special_keyword4} — Four special keyword headings for highlighted service or topic blocks.
{special_content1} through {special_content4} — The corresponding content text for each special keyword block.

Sitemap Template Variables

Uses all the standard navigation and footer variables plus one page-specific variable: {sitemap_content} — outputs all the sitemap URLs for the website as a formatted list. YACSS handles all the link formatting automatically.

About Us Template Variables

Uses all the standard navigation and footer variables plus three page-specific variables:

{aboutus_content} — Outputs the full About Us page content. YACSS automatically inserts all the text.
{youtube_embed} — Outputs an embedded YouTube video iframe. No wrapping tag needed.
{map_embed} — Outputs an embedded Google Maps iframe. No wrapping tag needed.

Privacy Policy Template Variables

Uses all the standard navigation and footer variables plus one page-specific variable: {privacy_content} — outputs the full Privacy Policy content.

News List Template Variables

Uses all the standard navigation and footer variables plus one page-specific variable: {news_content} — outputs all the news article listings, including headlines, images, and summaries. YACSS handles all the individual article card markup automatically.

News Article Template Variables

Used for individual news article pages. Uses all the standard navigation and footer variables plus:

{news_image} — Displays the featured image for the article. Place inside an <img> tag.
{news_headline} — Outputs the article headline, e.g. inside an <h1> or <h2> tag.
{news_author} — Outputs the author name for the article.
{news_date} — Outputs the publication date of the article.
{news_description} — Outputs the full body text of the news article.

Template Homepage Example

A full working example of a homepage template file, showing how the navigation, header, content blocks, special sections, contact form, embeds, and footer variables all fit together in one HTML file. Use this as a starting point for building your own homepage template.

<!DOCTYPE html> <html> <head> <title>{title}</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/dist/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <style> body {font-family: "Times New Roman", Georgia, Serif;} h1, h2, h3, h4, h5, h6 { font-family: "Playfair Display"; letter-spacing: 5px; } footer a{ color: white; text-decoration: underline; } footer{ background: black; } ul{ padding-left: 0px } </style> </head> <body><!-- Navbar (sit on top) --> <div class="w3-top"> <div class="w3-bar w3-white w3-padding w3-card" style="letter-spacing:4px;"> <a href="#home" class="w3-bar-item w3-button"><img src="{logo}" width="100px" alt="{logo_alt}"></a> <!-- Right-sided navbar links. Hide them on small screens --> <div class="w3-right w3-hide-small"> <a class="w3-bar-item w3-button">{menulinks}</a> <a href="" class="w3-bar-item w3-button">{contact_us_button}</a> </div> </div> </div><!-- Header --> <header class="w3-display-container w3-content w3-wide" style="max-width:100%;min-width:500px" id="home"> <img class="w3-image" src="{top_banner}" alt="{top_banner_alt}" width="100%" height="800"> <div class="w3-display-bottomleft w3-padding-large w3-opacity"> <h1 class="w3-xxlarge">{meta_title}</h1> </div> </header><!-- Page content --> <div class="w3-content" style="max-width:1100px"><!-- About Section --> <div class="w3-row w3-padding-64" id="about"> <div class="w3-col m6 w3-padding-large w3-hide-small"> <img src="{content3_image}" class="w3-round w3-image w3-opacity-min" alt="{content3_alt}" width="600" height="750"> </div><div class="w3-col m6 w3-padding-large"> <h1 class="w3-center">{header1}</h1><br/> <h5 class="w3-center">{header2}</h5> <p class="w3-large">{content1}</p><div style="width: 400px;height: 400px;">{youtube_embed}</div> </div> </div><hr><div class="w3-col l3" style="background: black;color: white;padding: 10px;border-right: 1px solid white"> <div class=" row-item"> <h4>{special_keyword1}</h4> <p class="mb-0"></p><p>{special_content1}</p><p></p> </div> </div> <div class="w3-col l3" style="background: black;color: white;padding: 10px;border-right: 1px solid white"> <div class=" row-item"> <h4>{special_keyword2}</h4> <p class="mb-0"></p><p>{special_content2}</p><p></p> </div> </div> <div class="w3-col l3" style="background: black;color: white;padding: 10px;border-right: 1px solid white"> <div class=" row-item"> <h4>{special_keyword3}</h4> <p class="mb-0"></p><p>{special_content3}</p><p></p> </div> </div> <div class="w3-col l3" style="background: black;color: white;padding: 10px;border-right: 1px solid white"> <div class=" row-item"> <h4>{special_keyword4}</h4> <p class="mb-0"></p><p>{special_content4}</p><p></p> </div> </div><div class="w3-col l12" style="margin-top: 50px"> <div class=" row-item"> <h4>{citation_keyword}</h4> {citation_links} </div> </div><!-- Menu Section --> <div class="w3-row w3-padding-64" id="menu"> <div class="w3-col l6 w3-padding-large"> <h1 class="w3-center">{header4}</h1> <h4>{header5}</h4> <p class="w3-text-grey">{content2}</p> {jumplinks} </div><div class="w3-col l6 w3-padding-large"> <img src="{content4_image}" class="w3-round w3-image w3-opacity-min" alt="{content4_alt}" style="width:100%;margin-bottom: 20px"> {sitemap_urls} </div> </div><div class="w3-row w3-padding-64" id="menu"> <div class="w3-col l6 w3-padding-large"> <img src="{content5_image}" class="w3-round w3-image w3-opacity-min" alt="{content5_alt}" style="width:100%"> </div> <div class="w3-col l6 w3-padding-large"> <h1 class="w3-center">{header6}</h1><p class="w3-text-grey">{content3}</p> </div> </div> <!-- Menu Section --> <div class="w3-row w3-padding-64" id="menu"> <div class="w3-col l6 w3-padding-large"> <h1 class="w3-center">{header5}</h1><p class="w3-text-grey">{content4}</p> <p class="w3-text-grey">{content5}</p> <p class="w3-text-grey">{content6}</p> </div><div class="w3-col l6 w3-padding-large"> <img src="{content4_image}" class="w3-round w3-image w3-opacity-min" alt="{content4_alt}" style="width:100%"> </div> </div> {faqs} <hr> <div class="w3-col l6 w3-padding-large "> <h4 class="no-show">Check our other pages :</h4> {interlinking} </div><div> {news_widget}</div><!-- Contact Section --> <div class="w3-container w3-padding-64" id="contact"> <h1>{header7}</h1> <p>{content7}</p> <form action="/action_page.php" target="_blank"> <p><input class="w3-input w3-padding-16" type="text" placeholder="Name" required name="Name"></p> <p><input class="w3-input w3-padding-16" type="number" placeholder="How many people" required name="People"></p> <p><input class="w3-input w3-padding-16" type="datetime-local" placeholder="Date and time" required name="date" value="2020-11-16T20:00"></p> <p><input class="w3-input w3-padding-16" type="text" placeholder="Message \ Special requirements" required name="Message"></p> <p><button class="w3-button w3-light-grey w3-section" type="submit">SEND MESSAGE</button></p> </form> </div> </div>{map_embed}{google_wiki_data} </div><!-- Footer --> <footer class=" text-light"> <div class="pt-5 py-4 container"> <div class="row"><div class="col-lg-3"> <p>{company_name}</p> <p><span class="no-show">Phone :</span>{phone}</p> <p><span class="no-show">Email :</span>{email_address}</p> <p><span class="no-show">City :</span> {city}</p> <p><span class="no-show">State :</span> {state}</p> <p><span class="no-show">Zip :</span>{zip}</p> <p><span class="no-show">Address :</span> {address}</p> <p><a href="" >{google_business_profile_link}</a></p> <p><a href="" >{google_business_website_link}</a></p> <p><span class="no-show">Company Website :</span> <a class="" href="" >{company_website_link}</a></p> </div><div class="col-lg-3"> <p class="no-show">USEFUL LINKS</p><p><a href="" target="_blank">{service_link}</a></p></div> <div class="col-lg-3 no-show"><p>LATEST BLOGPOSTS</p> <p><a href="" oftarget="_blank">{blogpost_link}</a></p> <p><a href="" >{sitemap_link}</a></p> <p><a href="" >{privacy_link}</a></p> <p><a href="" >{aboutus_link}</a></p><p class="no-show">{special_footer}</p><p></p> <div class="col-lg-12"> <img class="img-fluid " src="{footer_image}" > </div> <p></p> </div><div class="col-lg-3"> <div> <p class="no-show">Follow us</p> <a href="{facebook_url}" class="facebook " ><i class="fa fa-facebook"></i></a> <a href="{linkedin_url}" class="pinterest " ><i class="fa fa-linkedin"></i></a> <a href="{instagram_url}" class="google -plus" ><i class="fa fa-instagram"></i></a> <a href="{youtube_url}" class="youtube " ><i class="fa fa-youtube"></i></a> <a href="{twitter_url}" class="twitter " ><i class="fa fa-twitter"></i></a> <a href="{tumblr_url}" class="tumblr " ><i class="fa fa-tumblr"></i></a> </div> </div></div> </div> </footer></body> </html>
Shopping Cart
Scroll to Top