SE Live Blog — User Guide

 

Introduction

SE Live Blog is a real-time live blogging and sports match centre for Joomla 5 and 6. It lets you run professional live coverage — rolling commentary, breaking news, or full sports scoreboards — directly from your Joomla site with no third-party accounts, no external data feeds, and no JavaScript framework dependencies.

 

This guide covers every feature of the component and its companion module, from initial setup through to advanced configuration.

 

Requirements

       Joomla 5.0 or later (Joomla 6 compatible)

       PHP 8.1 or later with OPcache recommended for busy sites

       A valid SE Live Blog license key from se24media.co.uk

       MySQL 5.7+ or MariaDB 10.3+

 

Installation

Install SE Live Blog via Joomla's standard extension installer. Navigate to System > Install > Extensions, upload the package ZIP, and click Install. The installer creates all required database tables, sets up the media directory, and registers the module and component in a single step.

 

After installation, go to Components > SE Live Blog > Options and enter your License Server URL and License Key from your purchase confirmation email. Save, and the component will activate. Without a valid license, feeds will display in the frontend but entries will be watermarked.

 

Global Options

Options (Components > SE Live Blog > Options) contains site-wide defaults. Individual feeds can override most of these settings.

 

Licensing

License Server URL: The URL of your SE24 Media subscription server, as provided in your purchase email (e.g. https://se24media.co.uk).

License Key: Your license key in the format SS-XXXX-XXXX-XXXX-XXXX.

 

Appearance

Match Header Background: Background colour of the score header on Sports feeds when no header image is set. Default: #1a1a2e.

Header Text Colour: Colour of secondary header text — competition line, venue, aggregate score. Default: #aaaaaa.

Header Height / Padding: Set overall header height (e.g. 800px) or use a keyword: compact, normal, or spacious. Advanced: pass two values for exact padding (e.g. 30px 50px).

Accent Colour: Brand colour used for the LIVE badge, new-entry notification bar, and breaking news accents. Default: #e74c3c.

Live / Half-Time / Full-Time Status Colours: Individual colours for each match status badge.

Header Image Overlay Colour and Darkness: Default colour and opacity (0–1) of the tint placed over header background images. Individual feeds can override both.

 

Component

Default Polling Interval: How often visitors' browsers poll for updates, in seconds or minutes. Default: 30 seconds. Can be overridden per feed. Do not set below 10 seconds on shared hosting.

Micro-cache Lifetime: How long AJAX polling responses are cached server-side. Collapses database load when many people view a feed simultaneously. Editors' saves purge the cache immediately. Default: 8 seconds. Set to 0 to disable.

Entries per Page: Default number of entries loaded initially and per "Load More" click. Default: 20. Can be overridden per feed.

Sound Notification: Enable or disable the audio chime when new entries are posted. Can be overridden per feed and toggled by visitors via the Sound button.

Show Match Header: Show or hide the score/hero header globally. Can be overridden per feed.

Auto-show New Entries: Show new entries automatically as they arrive, or hold them behind a notification bar for visitors to reveal. Default: notification bar. Can be overridden per feed.

Entry Content Filtering: Standard allows trusted authors to post images and rich formatting. Strict permits only basic formatting and strips images and embeds — use when editing access is granted to contributors you do not fully trust.

Structured Data: Enable JSON-LD LiveBlogPosting schema markup for search engines.

Show Live Viewer Count: Display a live count of current feed viewers. Can be overridden per feed.

 

Typography

Separate typography settings are available for Desktop, Tablet, and Mobile breakpoints. Each breakpoint controls heading size, weight, and colour; body size, weight, and colour; meta size and colour; and timestamp size and colour. These control the appearance of entry content in the feed, not the score header.

 

Sport Types

Sport Types define the scoring format for Sports feeds. Navigate to Components > SE Live Blog > Sport Types to manage them. Each sport type has a title, an alias (used to determine the scorer icon), and a score format.

 

The score format determines how the score detail breakdown is displayed and how the headline score is calculated automatically:

 

       Simple — Football, hockey, and any sport where the score is a single number per team. Headline score is entered manually; no breakdown available.

       Sets — Tennis, volleyball. Tracks sets played as home/away pairs. The headline set count is derived automatically from completed sets (a set is complete when one player leads by at least two games from six, or wins 7-6 in a tiebreak, or wins a match tiebreak at 10+). An in-progress set does not advance the score.

       Rugby — Tracks tries, penalty tries, conversions, penalties, and drop goals per side. Headline score is calculated automatically: try 5pts, penalty try 7pts, conversion 2pts, penalty 3pts, drop goal 3pts.

       Cricket — Tracks innings per side with runs, wickets, overs, and a declared flag. The innings detail replaces the headline score entirely; the result is set via the Match Period field.

       Baseball — Tracks runs per inning as home/away pairs. Headline score is the sum of all innings.

       Periods — Basketball, ice hockey, and similar. Tracks score per period. Headline score is the sum of all periods.

       Gridiron — American football. Tracks score per quarter. Headline score is the sum of all quarters.

       Custom — Free-text breakdown for formats not covered above. Headline score is entered manually.

 

The sport type alias also determines the scorer icon shown next to scorer names in the header (e.g. alias "football" shows ⚽, "rugby" shows 🏉, "tennis" shows 🎾). Set the alias to match one of the recognised names to get the appropriate icon.

 

Feeds

A Feed is the core unit of SE Live Blog — it represents a single match, event, or live blog. Navigate to Components > SE Live Blog > Feeds to create and manage feeds.

 

Basic Settings

Title: The name of the feed, displayed in the browser title and as the page heading in News mode.

Alias: URL-friendly version of the title, auto-generated if left blank.

Mode: News or Sports. News mode shows a hero header with the feed title and a rolling LIVE COVERAGE badge. Sports mode shows the full match score header.

Coverage Status (News mode): Live shows a pulsing LIVE COVERAGE badge. Ended shows a grey COVERAGE ENDED badge and stops front-end polling.

Status: Published, Unpublished, or Trashed.

Access Level: Joomla access level controlling who can view the feed frontend.

Description: Optional editorial description shown in News mode.

Featured Image: Background image for the News mode hero header.

 

Sports Settings

Sport Type: Select from your configured sport types. This determines the score format and scorer icon.

Competition Name and Round: Displayed in the header above the team names, e.g. "Premier League — Matchweek 34".

Home / Away Team Name and Logo: Team names and badge images displayed in the score header.

Venue: Stadium or location displayed beneath the score.

Match Date/Time: Kick-off or start time shown in the header and module widget.

 

Match State

Match Status: Controls the status pill in the header and module. Options: Scheduled, Pre-Match, Live (1st Period), Half-Time / Break, Live (2nd Period), Full Time, Abandoned, Postponed.

Current Period: Free text shown inside the status area, e.g. "1st Half", "2nd Period", "3rd Innings". In Cricket mode this field holds the result text.

Match Minute/Time: Displayed alongside the LIVE badge, e.g. "67" or "Q3 5:42".

Home / Away Score: The headline score. For Rugby, Sets, Baseball, Periods, and Gridiron formats this is calculated and filled automatically by the score detail editor when you make changes. For Simple and Custom formats it is entered manually.

Aggregate Score: Optional aggregate shown in parentheses below the main score, e.g. "Agg 2–3".

Home / Away Scorers: JSON array of scorer objects, each with a name and optional minute, e.g. [{"name":"Saka","minute":"23"}]. These appear below the team logos in the header.

Score Detail: Managed visually by the score detail editor (see below). Stores the breakdown JSON for period-by-period, set-by-set, or innings data.

 

Score Detail Editor

When a feed uses a sport type with a breakdown format (Rugby, Sets, Cricket, Baseball, Periods, Gridiron), a visual editor appears on the Match State tab. This replaces direct JSON editing with sport-specific controls.

 

       Rugby: Steppers for tries, penalty tries, conversions, penalties, and drop goals per side. Headline score updates automatically as values change.

       Sets (Tennis/Volleyball): A grid with one row per set. Each row has home and away games. Add sets with the Add Set button; remove with the × button. The headline set count updates automatically from completed sets only.

       Cricket: Innings panels per side with runs, wickets, overs, and a declared checkbox. Supports two innings per side for multi-day matches. Headline score is replaced by the innings detail.

       Baseball: Grid with one row per inning, home and away runs. Add/remove innings freely. Headline score is the total.

       Periods / Gridiron: Grid with one row per period or quarter. Add/remove periods. Headline score is the total.

 

The editor shows a live preview line below the controls so you can see exactly how the breakdown will appear on the frontend before saving.

 

Feed Settings

Polling Interval: Override the global polling interval for this feed. Leave blank to use the global setting.

Entries per Page: Override the global load-more count for this feed.

Show Feed Header: Show or hide the header on this feed's page. Useful if you are using the module widget in a sidebar instead.

Header Background Image: Upload a background image for this feed's score or news header. Overlaid with a translucent tint whose colour and darkness can be set below.

Home / Away Logo Height: Override the logo display size in the header, e.g. 80px.

Header Overlay Colour and Darkness: Per-feed overrides for the header image tint.

Theme Overrides: Per-feed colour overrides for header background, accent colour, and header text colour.

Header Height Override: Override the header height or padding for this feed only.

Auto-show New Entries: Per-feed override of the global setting.

Sound Notification: Per-feed override of the global setting.

Show Live Viewer Count: Per-feed override of the global setting.

 

Entries

Entries are the individual posts in a feed — the commentary, updates, goals, analysis, and any other content. Navigate to Components > SE Live Blog > Entries, or click directly into a feed from the Feeds list.

 

Feed: Which feed this entry belongs to.

Entry Type: Update (standard post), Breaking (highlighted with accent colour), Analysis, or Opinion. Breaking entries receive additional visual emphasis on the frontend.

Title: Optional headline. Displayed prominently if set; omitted if left blank.

Content: The main body of the entry. Supports full rich text via the Joomla editor. Images, links, formatting, tables, and embedded media are all supported (subject to the content filtering setting in Options).

Pinned/Sticky: Pinned entries stay at the top of the feed regardless of chronological order.

Match Minute: Optional timestamp within the match, e.g. "45+2". Displayed alongside the entry time in the feed.

Image: Optional image displayed within the entry card.

Embed URL: A YouTube or Twitter/X URL to embed directly in the entry.

Status: Published or Unpublished.

 

Module (mod_seliveblog)

The SE Live Blog module displays a compact scoreboard widget that can be placed in any module position — sidebar, homepage, header, or footer. It polls for updates independently and keeps the score live without any page interaction from the visitor.

 

Add it via Extensions > Modules > New > SE Live Blog Module. Assign it to a module position and a menu item (or All Pages), then configure:

 

Module Settings

Feed: Select which feed to display. The module shows the current score, status, competition, venue, scorers, and team logos from that feed.

Polling Interval: Override the polling interval specifically for this module instance.

Show Competition: Show or hide the competition name and round above the score.

Show Venue: Show or hide the venue line.

Show Scorers: Show or hide scorer names beneath the score.

Show Aggregate Score: Show or hide the aggregate score.

Show Team Names: Show or hide team names. Disable to show only logos — useful when logos are well-known and space is limited.

Link to Feed Page: Show a Follow Live link at the bottom of the module linking to the full feed page.

 

Module Appearance

Theme: Dark or Light.

Background Colour: Module background. Default: #1a1a2e.

Text Colour: Primary text colour. Default: white.

Accent Colour: Colour of the LIVE badge and status indicators. Default: #e74c3c.

Background Image: Optional background image for the module widget.

Overlay Colour and Opacity: Tint over the background image.

Home / Away Logo Height: Logo display height in the module widget.

 

Module Typography

Separate typography controls are available for Desktop, Tablet, and Mobile breakpoints within the module, covering team name size, weight and colour; score size, weight and colour; and meta text size and colour.

 

Frontend Behaviour

Polling and Updates

When a visitor opens a feed page or a page containing the module, their browser begins polling the server at the configured interval. Only one database query is made per interval per feed regardless of how many people are watching, because responses are micro-cached server-side. When a new entry is posted or the score is updated, the change appears on all viewers' screens at the next poll.

 

New entries either appear automatically (if Auto-show is enabled) or are held behind a notification bar that the visitor clicks to reveal. When a new entry arrives, the audio chime plays if sound is enabled. Visitors can mute the sound using the Sound On/Off toggle in the bottom-right corner of the feed.

 

Cloudflare and High Traffic

SE Live Blog works particularly well behind Cloudflare. Because the polling endpoint returns consistent responses within each polling window, Cloudflare's edge cache serves the vast majority of viewer requests from the edge without those requests ever reaching the origin server. A site running behind Cloudflare can handle very large simultaneous audiences — tens of thousands or more — with minimal load on the hosting environment.

 

Viewer Count

When Show Live Viewer Count is enabled, each viewer's browser sends a lightweight heartbeat to the server. The current count is displayed in the feed header and updated on every poll. Stale heartbeats are automatically purged so the count reflects only currently active viewers.

 

Load More

Feeds load the most recent N entries on page load (N is set by the Entries per Page setting). Older entries are loaded on demand via the Load More button at the bottom of the feed. Entries are always displayed in reverse chronological order, newest first, with any pinned entries held at the top.

 

Recommended Workflow for a Sports Feed

       Create a Sport Type for the sport (e.g. "Football" with Simple format, alias "football").

       Create a Feed, set Mode to Sports, assign the Sport Type, enter team names, logos, competition, venue, and match date.

       Set Match Status to Scheduled before the match. Visitors will see the kick-off time.

       Change to Pre-Match shortly before kick-off. Change to Live when play begins.

       Update Home Score and Away Score (or use the score detail editor for breakdown formats) as goals or scores occur.

       Post Entries for commentary, key moments, substitutions, and analysis throughout the match.

       Update Match Status to Half-Time / Break at the interval. Change to Live (2nd Period) when play resumes.

       Set Match Status to Full Time at the final whistle. Update the final score.

       Optionally set Coverage Status to Ended to stop polling and freeze the feed.

 

Limitations

SE Live Blog uses a polling architecture rather than persistent connections. Score and entry updates reach visitors at the next poll interval rather than instantaneously. This is a deliberate design choice that makes the component compatible with standard PHP hosting without requiring WebSocket support.

 

The headline score for Simple and Custom format sports is entered manually. There is no automatic score ingestion from external data providers — all match data must be entered by an administrator or editorial team.

 

Auto-calculation of the headline score from the breakdown editor is available for Rugby, Sets, Periods, Gridiron, and Baseball formats. Cricket does not have a headline score field at all; the innings detail is the definitive score for that format.

 

On shared hosting without a CDN, a single feed can comfortably serve several hundred simultaneous viewers. For sustained audiences above 1,000 concurrent viewers per feed, a VPS or dedicated server with OPcache is recommended. Behind Cloudflare, the practical limit is very high and is determined by Cloudflare's edge capacity rather than the origin server.

Contact us

If you have any questions, need a quote or want to chat to us about websites, please fill out the form and we will get back to you as soon as possible.

Image