Write a simple local site, download a ZIP, then put it online. A volunteer can do the tech steps.
Also see
Most locals only need Part 1. Stop when the ZIP is on your computer. Part 2 is for whoever will put those files on the internet.
Part 1
Your job here is to write the content and download a ZIP. You can stop as soon as that file is on your computer.
A local website is not a news feed. It is the page members, media, and new hires still find months later.
A link that stays put
Social feeds change and posts scroll away. A website keeps the contact email, officer names, and meeting basics in one place.
Search and credibility
Members, media, and employers search for your local. A simple public page beats a sparse Facebook profile alone.
Your copy, your timeline
You decide what stays live. No algorithm. The template opens the member’s email app so messages go straight to your inbox.
A new member should answer these in under a minute: Who are you? Who runs the local? How do I reach you? Where do I follow updates?
About your local
Two short paragraphs: who you represent, where you work, and what you stand for. Orientation, not a novel.
Executive officers
Names and roles (president, steward coordinator, treasurer). Keep them in Org Chart, then use those names in Website Template after every election.
Contact path
One monitored local email, plus office address or steward hours if you have them. Prefer one inbox over five personal addresses that go stale.
Social or member channel
Link your Facebook group or other member channel. The site points there; social can point back for officers and email.
Think in layers: always-on identity, campaign updates when active, and a short list of things that belong elsewhere.
Always on the site
About text, current officers, contact email, and your main social or group link.
Add during active rounds
A short bargaining or strike update paragraph, plus links to official parent-union resources. Not blow-by-blow chat logs.
Optional later
Meeting calendar, how to file a grievance overview, or links to CA highlights — only if someone will keep them current.
Keep off the public site
Member personal data, confidential strategy, unconsented photos, and anything your executive has not approved for public posting.
Five minutes of prep saves a broken-looking site. Gather these from Brand Kit and your local executive.
Website Template fills a simple site in your browser. Preview it, then download a ZIP. You do not need a hosting account until someone publishes.
Open Website Template
Confirm Brand Kit colours and logo look right in the live preview before you type anything else.
Fill the fields
Add the name, tagline, about text, contact, Facebook, address, and officers. Replace every sample line before anyone publishes.
Check the preview
Read it like a new member: can you find who to email and who the president is without scrolling forever?
Download the ZIP
Save the ZIP to your computer. It holds the site pages, a short README with the same publish steps, and a CNAME.example file if you later add a custom domain.
Part 2
These steps put your downloaded ZIP on the internet so members can open a real web address.
Hand this off if you want
Now that you have your website ZIP file, it needs to be put on the internet. If you are not comfortable with technical web setup, you can hand your downloaded ZIP file and this guide to a tech-savvy volunteer.
Already on WordPress?
Website Template can also download a WordPress theme. UnionOps does not support WordPress. Use that file only if someone already runs your site. Everyone else should stay with the GitHub Pages ZIP in this part.
On Squarespace?
Squarespace does not let you install a custom theme from a file. UnionOps cannot export a Squarespace template. If you already pay for Squarespace, rebuild the same sections in their editor using your colours, logo, and copy.
GitHub Pages puts a simple site on the internet for free. You need a free GitHub account and about fifteen minutes the first time. The README inside the ZIP repeats these steps.
Create a free GitHub account
Sign up at github.com with an email the local can keep. Prefer a shared officer account over one personal login.
Create a public repository (an online folder)
Click New repository. Name it something clear, for example local243-site. Make it public so free GitHub Pages works. Skip adding a README if you will upload the ZIP next.
Upload the ZIP contents, then commit (save)
Unzip the file on your computer. Upload index.html, css/, js/, assets/, and README.md to the root of the online folder, not inside an extra folder. Click Commit changes to save the upload.
Turn the site on in Settings → Pages
Open Settings → Pages. Under Source, choose Deploy from a branch. Select main (or master) and / (root), then Save. That is the deploy step: GitHub starts building the public site.
Wait for the live address
GitHub usually finishes in a few minutes. Check Settings → Pages for the address, then open it in a private window to confirm links and the contact email.
If a GitHub screen looks different from this guide, use GitHub’s own help: GitHub Pages documentation
Skip this unless you already own a short domain (for example local243.org) and someone can change the address book at the company that sold it. The free github.io address works fine on boards and QR cards.
Add a CNAME file (a one-line domain name)
In the repository root (the online folder), add a file named CNAME with no file extension. Put only your domain on the first line, for example local243.org. Commit (save) it.
Point the domain at GitHub (DNS)
At the company where you bought the domain, add the records GitHub lists in its custom-domain help. DNS is the internet’s address book; changes can take minutes to a day.
Enter the domain in Settings → Pages
In Settings → Pages, type the custom domain, save, and wait until the secure lock (HTTPS) shows as ready. Then save the final address in Brand Kit.
GitHub’s step-by-step for pointing a bought domain at Pages: GitHub Pages custom domains
A stale officer list is worse than no site. Assign ownership and a light refresh rhythm.
Name one site steward. Share the GitHub login or add a second trusted account so updates do not die when someone leaves.
After elections, contact changes, bargaining starts, or when a campaign needs a short public note.
Easiest: import the site file from last year’s ZIP in Website Template, edit, and upload a fresh ZIP. Or edit index.html in GitHub’s web editor for small fixes.
Delete expired campaign blurbs and old meeting dates. Linking to a year-old “urgent” update teaches members to ignore the site.
The website is the fourth First week channel, not a replacement for boards, print, or social.
Union boards
Put a site QR in the socials zone of the bare-minimum board so offline members still reach officers.
QR link cards
Print wallet or letter cards to the live address. Save the website link in Brand Kit first so tools can pull it.
Social posts
In bios and pinned posts, link the site for who you are and how to contact. Social for timely updates; site for stable facts.
Brand Kit
Keep colours and the website address in Brand Kit so regenerating the template or printing new QR materials stays consistent.
External resources cited in this guide. National and government URLs often move; if a link 404s, search from that organization’s home page. OPSEU / SEFPO pages on opseu.org may block automated checks — open those links in a browser before you share them in a workshop.
Live example local site built by Local 243 volunteers (local243.org redirects here). The Website Template tool is a simplified, parameterised version of this GitHub Pages site.
Free static site hosting used by the exported website ZIP. No server or database required.
Optional step to point a domain like local243.org at a GitHub Pages repo.