Select one or more tags, then press “Search Plugins”

Find Plugin with any / all of the selected criteria
Search Plugin

Perennial – Auto-Updating Copyright Year Block Wordpress Plugin - Rating, Reviews, Demo & Download

Perennial – Auto-Updating Copyright Year Block Preview Wordpress Plugin - Rating, Reviews, Demo & Download
No ratings yet
Free
Follow for free plugins, new theme releases and theme news

Plugin Description

Every site has a copyright line in the footer, and every site eventually has the wrong one —
because the year was typed in by hand and nobody remembered to change it.

This plugin adds a single block that works the year out when the page is served, so the notice
is right on 1 January without anyone touching it.

What it does

  • Shows the current year, resolved in your site’s timezone — not the visitor’s browser.
  • Optionally shows a range — © 2001 – 2026 in English. Set the start year to the current
    year and it shows that year on its own rather than a range of one. The format is
    translatable, so a locale can set its own separator, numerals or placement for the © symbol.
  • Uses your site title as the copyright holder by default, so renaming the site updates
    every notice at once. Type a different name if you want one.
  • Optionally appends “All rights reserved.”, punctuated correctly.
  • Lets you style the year separately from the rest of the notice — its own color, font
    size and weight. The © symbol follows the year’s styling.

Built to stay correct

The notice is rendered on the server, which matters more than it sounds:

  • The year is never written into your post content, so it cannot go stale, and your saved
    posts never break when the year rolls over.
  • Search engines see the finished text in the page source, with no JavaScript to run first.
  • No JavaScript is loaded on the front end at all — on any theme. On a block theme the
    stylesheet is inlined into only the pages that use the block; on a classic theme WordPress
    loads every registered block’s stylesheet site-wide, including this one.

The one thing server rendering cannot fix is somebody else’s copy of the finished page. So when
the year turns over, the plugin clears the cache for you on WP Rocket, W3 Total Cache, WP Super
Cache and LiteSpeed Cache
— those four. Any other cache can clear itself by hooking the rollover
action; see the FAQ.

Alignment, color, spacing, font size and line height all come from the standard WordPress block
controls, so the notice inherits your theme’s palette and type scale rather than fighting it.

External services

This plugin contacts no external services. It makes no network requests of any kind — no license
check, no update check of its own, no analytics, no telemetry, no remote fonts or assets. Nothing
about your site or your visitors leaves your server because of it.

The one thing that might look like an exception is not one. When the year turns over the plugin
clears the cache for WP Rocket, W3 Total Cache, WP Super Cache and LiteSpeed Cache — but it does
that by calling those plugins in PHP on your own site, if they happen to be installed. That is a
function call inside WordPress, not a request to anybody.

Source code

The editor JavaScript this plugin ships is compiled. The sources it is compiled from are
published here, tagged to match each release:

https://github.com/theghostlab/wp-ghostlabs-perennial

That repository holds the plugin exactly as distributed, plus the src/ it was built from and
the lockfile, package.json and webpack config needed to rebuild it. A clean install and a
rebuild reproduce the shipped bundle:

pnpm install --frozen-lockfile && pnpm run build

The bundle that ships inside the plugin is minified, which is the whole reason that repository
exists: the readable source is published there rather than padding every install with it. Nothing
is obfuscated.

The plugin loads no JavaScript on the front end at all — that bundle is the block editor’s, and
nothing else.

Screenshots

  1. The rendered notice in a site footer. The year is worked out when the page is served, so it turns over on 1 January by itself — nothing is stored in your content.

    The rendered notice in a site footer. The year is worked out when the page is served, so it turns over on 1 January by itself — nothing is stored in your content.

  2. Set a start year and the notice reads as a range — © 2016 – 2026 — with the end always the current year. The Statement of rights toggle appends "All rights reserved.", punctuated for you.

    Set a start year and the notice reads as a range — © 2016 – 2026 — with the end always the current year. The Statement of rights toggle appends “All rights reserved.”, punctuated for you.

  3. The year and its © symbol get their own size, weight and color, set separately from the rest of the line — so it can carry the footer without the notice shouting.

    The year and its © symbol get their own size, weight and color, set separately from the rest of the line — so it can carry the footer without the notice shouting.

  4. Add it once to your block theme's footer template part in the Site Editor, and every page that uses that footer carries the notice.

    Add it once to your block theme’s footer template part in the Site Editor, and every page that uses that footer carries the notice.


Reviews & Comments