Admin Panel

The admin panel lives at admin.nortonshop.net. It has ten tabs across the top: Welcome, Pages, Drafts, Hours, Promotions, Media, Directory, Jobs, Board, and Settings. Some tabs contain collapsible sections — click a section header to expand it.

First login — guided tour

The first time you log in, you'll see a short guided tour that walks you through each tab. It highlights one tab at a time with a brief explanation of what it does. Click Next to move through the steps, or Skip tour to jump straight in. The tour only appears once — after that you'll go straight to the Welcome tab.

Logging in

Login happens at auth.nortonshop.net/login. After you authenticate, you are redirected to the admin panel at admin.nortonshop.net.

When an account is created, you choose a login method: authenticator app, security key, or both. There is no password — instead you verify your identity with the method you chose. You can change or add methods at any time from the Settings tab → My Account section.

The available login methods are:

We recommend using both an authenticator app and a security key — that way if you lose one, you still have the other. But either method works fine on its own, and you can always add the other later.

Hardware keys are optional. A YubiKey or similar security key costs around £25–50 and adds a strong second layer of security. The authenticator app alone is perfectly secure for most use and completely free — the hardware key is there as a backup. You cannot remove your last login method, so there's always at least one way to get in.

Admin tabs overview

The admin panel has ten tabs across the top. Some tabs are grouped — when you click them, you'll see collapsible sections inside. Click a section header to expand it and see the form inside. All sections start collapsed so you can see what's available at a glance.

Welcome

The Welcome tab is the first thing you see after logging in. It contains this editing guide — a plain-English reference for everything you can do in the admin panel. Come back to it any time you need a reminder.

Pages

Edit page content using Markdown. Select the page you want to edit — the available pages are Home, About, Post Office, Community, CLT, Housing, Membership, Directory, Board, Jobs, Contact, and Privacy. Make your changes in the text editor and click Publish to make them live, or Save as draft to save your work without publishing. Use the toolbar for formatting — bold, italic, headings, links, lists, tables, and more. Click the Preview button to see how it will look before saving, or click the ? button for a quick Markdown cheatsheet.

Pages that haven't had any content added yet show a loading animation. Once you publish content through the admin panel, it appears on the live site straight away.

Hours

Edit opening hours for both the shop and the Post Office. Each has its own table — just type the day name and the hours for each row. You can add or remove rows if needed (for example, combining "Monday – Friday" into one row during a holiday period, or adding a special "Christmas Eve" row).

The Hours Notice field at the top lets you add a banner message that appears above the hours tables on the home page and Post Office page. Use this for bank holidays, seasonal changes, or anything temporary — for example "Closed on all bank holidays" or "Reduced hours 23–27 December — see notice in shop". Leave it empty to hide the banner.

Promotions (grouped tab)

This tab groups three sections: Offers, Seasonal, and News & Events. Click a section header to expand it.

Media (grouped tab)

This tab groups four sections: Gallery, Site Images, Videos, and CDN Files. Click a section header to expand it.

Directory

Manage the local business directory. Each business has a name, category (e.g. Plumber, Electrician, Mechanic), contact details, a short description, and a listing expiry date. Businesses pay an annual fee for their listing.

Add a new business using the form at the top. Existing listings are shown in a table — click Edit to update details or Remove to delete one. Expired listings are greyed out in the admin panel and hidden from the public directory page automatically.

The category field suggests categories that already exist, so you get consistent naming (e.g. always "Plumber" rather than sometimes "Plumbing"). You can type a new category at any time.

Jobs

Manage the community jobs and services board. The shop acts as a middleman — no personal details are published on the website. Anyone interested in a listing pops into the shop to enquire.

There are four categories: Jobs (hiring), Gigs (one-off paid work), Available (people looking for work), and Volunteers (unpaid help wanted or offered). Available and Volunteers listings are free; Jobs and Gigs have a custom fee set when the listing is created.

Add a new listing using the form at the top — fill in the title, category, description, and expiry date. For Jobs and Gigs, set the listing fee and tick Paid once payment has been received (unpaid listings are hidden from the public page). Click Send push notification to alert subscribers when a new listing goes live.

Active listings are shown in a table with their fee, payment status, and days until expiry. Click Edit to update details, Delete to remove a listing, or Renew to extend an expired listing by another 30 days.

Board (grouped tab)

This tab groups sections for board-related content, plus team management and site configuration. Click a section header to expand it.

Placing a video in a specific spot

When you upload a video (in the Media tab → Videos section), it normally appears at the bottom of its page. To place it in a specific position within the page text, add a video marker in the page editor where you want it to appear:

<!-- video:Star Wars Kid -->

Replace Star Wars Kid with the exact title you gave the video when you uploaded it (capitalisation doesn't matter). The video player will appear at that spot instead of at the bottom of the page.

You can place as many videos as you like — just add a marker for each one. Any uploaded videos that don't have a matching marker still appear at the bottom as usual.

Example: Say you've uploaded two videos to the Home page — "Star Wars Kid" and "sneezing panda". Your page text might look like this:
## Welcome to the shop

Here's a classic to brighten your day:

<!-- video:Star Wars Kid -->

And here's another favourite:

<!-- video:sneezing panda -->
Each video appears exactly where you put the marker.

Embedding external videos and content

You can embed videos from YouTube, Facebook, Vimeo, and other services directly into page text. Go to the video on the external site, find the Share or Embed option, and copy the embed code (it starts with <iframe). Then paste it into the page editor where you want the video to appear:

<iframe width="560" height="315"
  src="https://www.youtube.com/embed/dQw4w9WgXcQ"
  title="YouTube video" frameborder="0"
  allowfullscreen></iframe>

The website automatically applies some privacy and safety protections:

You don't need to do anything to get these protections — they happen automatically when the page loads.

Supported services include YouTube, Facebook, Instagram, LinkedIn, Vimeo, Dailymotion, TikTok, Pinterest, Spotify, SoundCloud, and Google Maps. Embed codes from other sources are ignored for security.

Only paste embed codes from trusted services. Embed codes from unknown websites won't work — the site only allows a fixed list of providers. If an embed doesn't appear, check that the source is in the list above.

Drafts

Most content areas (Offers, Seasonal, News, and Pages) support drafts. When you click Save as draft, your changes are saved but not published — only you and other admins can see them. A yellow banner appears at the top of the form showing that a draft exists. From there you can Publish the draft (makes it live) or Discard it (throws it away and goes back to the live version).

The Drafts tab (next to Pages) shows all unpublished drafts at a glance. Each draft is labelled with where it came from — for example "Promotions › Offers" or "Pages › Home" — so you can quickly see what's waiting to be published.

This is useful when you want to prepare content in advance — for example, writing up next week's offers on a quiet afternoon, then publishing them on Monday morning.

Markdown is a simple way to format text. Here are the basics:

# Big heading
## Smaller heading
### Even smaller heading

**Bold text**
*Italic text*
[Link text](https://example.com)

- Bullet point
- Another bullet point

1. Numbered item
2. Another numbered item
Tip: The toolbar buttons do the formatting for you — you don't need to memorise the Markdown syntax. Just select some text and click the button. There's also a ? button in the toolbar that opens a quick Markdown cheatsheet right inside the editor.

Settings (grouped tab)

This tab groups account and administration sections. The My Account section is available to all users. Users, Visitor Analytics, and Audit Log are visible to admins and the owner. Server is owner only. Click a section header to expand it.

Community Metrics

Admin panel → Settings tab → expand Community Metrics. Set the current number of volunteers and members. These numbers appear on the public About page (volunteers) and Membership page (members) — for example, "23 volunteers help keep the shop running for the community." If a count is zero or empty, the metric is hidden on the public site.

Visitor Analytics

Admin panel → Settings tab → expand Visitor Analytics (admin/owner only). View website traffic data from the self-hosted visitor counter — no third-party analytics services are used. See daily visitors, returning visitors, top pages, and country breakdown. Use the range selector to switch between 7 days, 30 days, year to date, and all time.

Push Notifications

The website can send push notifications to visitors who have subscribed (via the "Enable notifications" prompt). Notifications are sent automatically when you tick Send push notification on a new Jobs listing, or when triggered by other admin actions. Subscribers receive a small alert on their phone or computer that links directly to the relevant page.

Visitors opt in from their browser — you don't need to collect email addresses or phone numbers. Notifications work even when the website isn't open, as long as the visitor's browser is running.

Volunteer sign-up form

The Membership page includes a collapsible "Volunteer with us" button that reveals an embedded Tally form. Visitors can sign up directly on the website. Form submissions go to the Tally dashboard — no admin panel action needed. The form loads only when the visitor expands the section, so it doesn't slow down the page.

Roles

There are three roles:

There is exactly one owner. The first account created is the owner. Ownership can be transferred to another user from the Settings tab → Users section — this is like handing over the keys. The previous owner is demoted to admin. The owner account can never be deleted or locked.

Recovery codes

When your account is created (or when you reset your authenticator), you're shown 12 recovery codes. You can download these as a .txt file. Keep them somewhere safe — they are only shown once and each one works only once.

Owner recovery phrase

When the owner account is first created, a 24-word recovery phrase is generated. This is the master key — if the owner loses access to their authenticator, security keys, and all 12 recovery codes, the recovery phrase is the last resort.

To use it: go to the login page, enter the owner username, switch to the Recovery phrase tab, and type all 24 words separated by spaces. This resets the authenticator and generates a new QR code and fresh recovery codes.

The recovery phrase is only shown once — when the owner account is created. Write it down on paper and store it somewhere secure (e.g. the shop safe). It can also be downloaded as a .txt file during setup.
If you run out of recovery codes or lose your authenticator, an admin can reset your login from the Settings tab → Users section, which generates a new QR code and a fresh set of 12 recovery codes.
If every admin has lost access, the owner can recover using their 24-word recovery phrase. If even that is lost, someone who looks after the server can reset an account from the command line. See the Server Guide for details.
Back to top