Welcome back

Sign in to Fourge

Build the foundation. Ship the site.

Forgot?
Pour
the
foundation.
A new version of Fourge is available.
Workspace
JM
JM
WORKSPACE
Overview
Pages
Targeted Landing Pages
Posts
Forms
Media
Plugins
Analytics
CONFIGURE
Design
SEO
Site Foundry
Settings
ADAptify
Reviews
Map
Events
SYSTEM
Users
Revisions
Good morning.
The foundation is set.
WORKSPACE
STATUS
● ALL SYSTEMS
Live pages
Posts published
Media items
Active plugins
Your pages.
— TOTAL
PAGE
STATUS
AUTHOR
MODIFIED
VIEWS
Loading…
/
PAGES
Click to edit

Click any text, image, or link on the page to edit it here.

Your posts show wherever the post list is placed — or link posts.html in your nav for the built-in blog page.

No posts yet

Click New Post to write your first article.

Publish
Featured Image
Details
Duplicate existing pages and auto-localize them for a specific city — full local SEO, schema, and a city intro. Published pages are indexed and added to your sitemap, but not added to your nav menu.
Pull from the 44i platform
The account manager already entered which service goes with which town. Pull that list and Fourge builds exactly those pages — one per pair — instead of you re-typing them here.
Stored encrypted on the server and never sent back to a browser — the key is the only lock on that feed, so Fourge calls it server-side rather than putting the key in this page.
1. Target Cities — or build a set by hand
Each city generates its own set of pages from the selected sources.
2. Select Pages to Localize
Generated Pages
Your city landing pages live here — kept out of the main Pages list so it stays clean. They're still indexed and in your sitemap. Edit, view, or delete them below.
Add Field
Form Actions
Notifications
After Submit
Form Header
Styles
Custom CSS
Outbound Webhook
Protections

+ MEDIA LIBRARY
Media library.

No media yet

Upload images, video, and documents.

Site Identity

Basic information about this website.

Brand Colors

Your two main brand colors. Pick them here and click Apply, and they’ll be used across every page of your site. They start from the colors your site already uses, so you can adjust from there.

Fonts

The fonts for this whole site, in four groups: everything, paragraphs, headings and buttons. Set them once here and every page uses them, including pages you add later. Most designs set fonts on individual pieces, so Fourge overrides those pieces too; icons are left alone, since icon sets draw their symbols from a font of their own.
Save & Publish stores the choice, and any page you edit from then on picks it up on save. Use this button to sweep the pages nobody has opened since.

Heading Styles

Choose the font, size, weight, alignment, and color for your headings across the whole site. Headings are the titles on your pages — H1 is the main page title, H2 the section titles, and so on down to H6. Leave any box empty to keep what your design already uses. (A single page can still set its own heading look in that page's settings.)

Custom CSS

Advanced: your own CSS rules, applied to every page on the site. Anything you write here wins over the fonts and heading styles above, so use it for one-off tweaks the rest of Design doesn't cover. Leave it blank if you don't need it.
Save & Publish stores it, and any page you edit from then on picks it up on save. Use this button to sweep the pages nobody has opened since.

Favicon

The small icon shown in browser tabs, bookmarks, and search results. Upload a square image (512×512 PNG recommended; SVG, ICO, JPG, and WebP also work). It's saved to the site root as /favicon, the tab / Android / iPhone sizes are generated automatically, and it's applied to every page instantly — new pages pick it up when saved. Replacing it publishes under a fresh address, so browsers can't keep showing the old icon.

Contact Info

Social Profiles

Lead Generation

Leads and conversations, updated live.

Analytics

Google Analytics 4, Tag Manager, and Ads tracking — with live data and monthly reports.

Loading…

GitHub Integration

Repo is read from data/site.json. The token is stored encrypted on the server — page saves and revisions mirror to GitHub for every editor, from any browser.
Needs repo scope.
Backfill to GitHub
Normally this runs on its own the next time an admin signs in after an engine update. Use this to run it right now instead of waiting: pushes every current page, post, event, and core data file into the repo above (skipping anything already byte-identical there), and makes sure the repo itself is set to private.

Repository Override

Manually set GitHub repo if data/site.json hasn't been configured yet.

Markup API Key

Powers Markup generation (SEO + block extraction). Visible to the Architect account only.

Custom AI Endpoint

Optional — point Markup generation at a self-hosted, OpenAI-compatible endpoint (Open WebUI, Ollama, LM Studio, vLLM…) instead of the key above. Used only when all three fields below are set; clear any one of them (blank + Save) to fall back to the Markup API Key automatically. Visible to the Architect account only.

Contact-Form Email

Send a test email through the same transport your forms use (your SMTP relay, or the Mailgun API) to check delivery. Email is configured server-side in admin/config.secret.php. Submissions are always saved under Forms → Entries even if email fails.
Leave blank to send to your own account email (or the site's notify address).

Post-Launch Check

Run this after a site goes live. It audits everything the launch runbook covers — forms & reCAPTCHA, clean page addresses, crawlability, Google Analytics coverage, the sitemap, titles & meta descriptions on every page, and image alt text / unused media — then hands you the punch list of what still needs doing.

Launch: Domain Find & Replace

Going live? Swap every reference to the old (dev) address for the new domain — across all pages, blog posts, forms, SEO data, plugins, and site settings, in one pass. Scan first to preview exactly which files change and how many times; nothing is written until you approve it. Changed files are backed up to data/bak/, and the sitemap + robots file are rebuilt afterward. Tip: enter addresses without https:// (e.g. dev-client.44interactive.comwww.clientdomain.com) so every form of the link is caught.

Change Password

Logged in as:

Go Live — Find & Replace URL

Swap a domain across every page when a site goes live — e.g. replace a staging/preview URL with the production domain. Scans all pages, posts, sitemap.xml and robots.txt. Run Preview first; the replace is a literal text swap and can't be undone (keep your git history).
SITE FOUNDRY
Scan your server

Click Scan public_html to find all HTML files and import them as editable pages.

Revisions

Every page save is logged here, with who made the change. View opens that version; Restore redeploys it to the live page.

ADAptify

A floating accessibility menu (contrast, text size, grayscale, readable font, and more) shown on every page. Settings here are stored server-side and apply site-wide — disabling or recoloring updates all pages.

Status

Placement

Brand colors

The launcher button and the accessibility figure take these colors.
Preview:
First time? Click Install on all pages once to add the widget script to your pages. After that, Save alone updates the widget everywhere.

Google Reviews

Pull reviews from this business's Google listing, keep them here, and choose which ones appear on the site. Add the Reviews block to any page in the page editor — it reads from this list, so hiding a review or fetching new ones updates every page without re-saving them.

Google connection

The API key is stored encrypted on the server and is never sent back to the browser or written into any public file. Only the server calls Google with it.
Checking…
The ID of this business's Google listing. Press Find if you do not have it.
Used for the “Leave a review” / “See all reviews” link on the block.

What shows on the site

Applies on top of the individual show/hide switches below.
Newest first. Leave blank for all of them.

Key safety

The key is encrypted on the server and never sent to a browser — but two things are worth proving rather than assuming: that the files holding it cannot be downloaded, and that the key would be useless to anyone who got it anyway.

Saved reviews

Google's API hands back at most five reviews at a time, and picks which five. Every fetch is merged into this list rather than replacing it, so the collection grows as Google rotates them — and your show/hide choices are never overwritten.

Map

Locations with a pin and a popup — dealers, clinics, campuses, service areas, or points on an image you upload. Add the Map block to any page in the page editor; it reads this list when the page loads, so fixing an address or hiding a location updates every map on the site without re-saving pages.

Where the map comes from

All three draw the same pins and the same popups. Only the background changes.

Map tiles — advanced

The default is OpenStreetMap's public tile service, which is free and fine for a normal business site. If a map ever gets heavy traffic, paste a tile URL from a provider here instead — the map itself does not change.
Required by most tile providers, OpenStreetMap included.

How the map opens

1 is the whole world, 15 is a neighbourhood, 18 is a street.

Categories

A colour and a marker, set once and shared by every pin that uses it — so restyling forty locations is one edit. With two or more, visitors get a legend they can click to filter, and a page can carry a map of just one category.

Pins

Each pin is a set of fields, not a piece of code — which is what lets the same pins fill the popup, the location list under the map, and the structured data search engines read. Need something the fields do not cover? Add it under Extra fields.

Popup design

One template for every pin. {{title}}, {{subtitle}}, {{address}}, {{phone}}, {{url}}, {{image}} and any extra field as {{custom.hours}}. Wrap a part in {{#phone}}…{{/phone}} and it disappears for pins that have no phone. {{{body}}} keeps the HTML in the description; everything else is escaped, and scripts are stripped.
Applies to every map on the site. Prefix rules with .fourge-map so nothing leaks into the rest of the page.
Worth keeping: it is what screen readers and search engines read, and it is the only part of the map that works with no JavaScript at all.

Where the map appears

In the page editor, click a section and press Insert map. You can pick which categories that particular block shows, so a city page can carry only its own locations.

The map is always live. The written location list and the structured data are stamped into a page when it is saved — press this after a round of pin edits to bring them up to date everywhere without opening the editor.
Link /events in your nav once the pages are created. Give each page its own look under Pages → Page Settings → Custom CSS.

No events yet

Click New Event to add your first one.