BLACK FRIDAY
Save 59% on PageForge Annual $191/year $485/year
Claim 59% Off →
Perennial – Auto-Updating Copyright Year Block icon
Actively maintained Tested with WP 7.1 #82 in copyright

Perennial – Auto-Updating Copyright Year Block

Keeps your footer's copyright year current automatically — server-rendered, no JavaScript. Never edit a footer on New Year's Day again.

Active installs<10New
Downloads · 30d278• 0% vs prev. 30d
Rating—0 reviews
Health score64/100Good
All-time downloads279Since Oct 2026
Support resolved—No recent threads
RequiresWP 6.4PHP 7.4+
Downloads · 7d197▼ -1.5% week over week
Our verdict

Solid choice

Perennial is a solid plugin choice in 2026, with a few things worth checking first. Was last updated 2 weeks ago, and scores 64/100 on our health check.

  • Actively developed — last update 2 weeks ago
  • Tested with the latest WordPress (7.1)
  • Small user base (<10 active installs)
  • Very few reviews so far

How does it stack up?

Side-by-side on installs, updates, ratings & support

Daily downloads

295989Sep 30Oct 6Oct 12
Yesterday1
Daily average (1y)21
Peak day119Oct 6, 2026
Last 12 months278

Download spikes usually follow a new release — each site that auto-updates counts as a download.

Rankings

Where Perennial stands today

WordPress.org search rankings

Live position in the plugin search, top 100
KeywordPositionCompeting pluginsCategory
copyright >100 1,659 Best copyright plugins →
copyright year #36 242 Best copyright year plugins →
current year >100 1,434 Best current year plugins →
footer >100 5,006 Best footer plugins →
year >100 3,732 Best year plugins →

About Perennial

From the official readme · v1.0.0

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.

Installation

From your dashboard

  1. Go to Plugins, then the screen for adding one — Add Plugins.
  2. Search for Perennial.
  3. Click Install Now, then Activate.

From a downloaded .zip

  1. Go to Plugins and open the Add Plugins screen.
  2. Click Upload Plugin at the top, choose the .zip file, and click Install Now.
  3. Click Activate Plugin.

By FTP

  1. Unzip the file and upload the ghostlabs-dynamic-copyright-notice folder to /wp-content/plugins/.
  2. Activate the plugin from the Plugins screen.

Then add the notice

In any post, page, or template, add the Perennial: Copyright Notice block.

On a block theme, add it once to your footer template part in Appearance → Editor and every
page that uses that footer carries it. On a classic theme there is no footer template part to add
it to, so place the block wherever you want the notice.

There is no settings screen. Everything the block does is in its own settings and styles in the
editor sidebar.

Frequently asked questions

Do I have to do anything on January 1?

No. The year is worked out each time the page is served.

I use a caching plugin. Will the year still update?

The notice itself is always right — it is worked out when the page is served. What can go stale is a cached copy of the finished page: one cached on 31 December keeps serving last year’s notice until that cache is cleared. So the plugin clears it, on four caching plugins by name. The first request of the new year that WordPress actually builds notices the year has changed and clears the cache. There is no scheduled task and nothing to configure — a cached page is served without WordPress ever loading this plugin, so the only thing that can trigger the check is the next request that is not…

Can I clear my own cache when the year rolls over?

Yes — two hooks, both reached on that same first request of the new year. Neither fires on a brand-new install, which has no previous year on record to compare against. The ghostlabs_perennial_year_rolled_over action is passed the new year and the year before it. It fires whether or not this plugin clears anything, so it is the place to purge a cache, CDN or host layer this plugin does not know about. add_action( 'ghostlabs_perennial_year_rolled_over', function ( $current, $stored ) { // Clear your own cache here. }, 10, 2 ); The ghostlabs_perennial_purge_on_rollover filter defaults to true…

Which year does it use if my visitors are in other countries?

Your site’s, as set in Settings → General → Timezone. Working it out in the visitor’s browser instead would mean someone in Auckland and someone in Los Angeles could see different years for a few hours around New Year.

What if I leave the name blank?

The notice uses your site title, and keeps using it — so if you rename the site later, every notice updates. Type a name only if you want it to differ from the site title.

Can I make the year a different color or size from the rest of the line?

Yes. Select the block, open the Styles tab, and use Year typography and Year color. These affect only the year and the © symbol. The rest of the notice uses the block’s normal color and typography controls. The year’s font size is offered in rem, em, ch and % rather than pixels, so it scales with your theme and with a reader’s text-size settings. The block’s own font size control offers whatever units your theme does.

Changelog

First release.

1.0.0

  • First release.
  • The notice is rendered on the server, so a saved year can never go stale and posts do not
    break when the year changes.
  • Separate color and typography controls for the year and © symbol.
  • The copyright holder follows the site title when left blank, rather than being fixed at the
    moment the block was inserted.
  • Alignment, color and typography settings apply on the front end.
  • The cache is cleared when the year turns over, on WP Rocket, W3 Total Cache, WP Super Cache
    and LiteSpeed Cache. The check runs on the first request of the new year that WordPress
    handles itself rather than serving from cache — a page view, an admin screen, a REST call or
    a crawler. There is no scheduled task.
  • Added an action, ghostlabs_perennial_year_rolled_over, passed the new and previous
    year, so any other cache, CDN or host layer can clear itself.
  • Added a filter, ghostlabs_perennial_purge_on_rollover (default true), to turn the
    plugin’s own purging off. The action fires either way.
  • The year range uses an en dash — © 2001 – 2026 — which is the correct punctuation for a
    range, and the year format is translatable.

Full changelog on WordPress.org →

Screenshots

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…
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 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…
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…

For developers

Is this your plugin? Show off the numbers.

Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.

Active installs badge Rating badge Health score badge

Best Perennial alternatives

All copyright plugins →
Alternatives
Rank Plugin Active installs Rating Updated Health
1 Secure Copy Content Protection and Content Locking Secure Copy Content Protection and Content Locking Copy Protection plugin is activated it disables the right click, copy paste, content… by Ays Pro 20K+ ★★★★★★★★★★ 4.3 (62) 6 days ago 91
2 WP Content Copy Protection WP Content Copy Protection WP Content Copy Protection uses aggressive techniques in protecting your online content… by tychesoftwares 10K+ ★★★★★★★★★★ 3.5 (163) 3 years ago 40
3 Automatic Copyright Year Automatic Copyright Year Automatic Copyright Year seeks to solve a common problem: keeping your copyright year… by Miina Sikk 6K+ ★★★★★★★★★★ 4.3 (9) 7 years ago 38
4 WP-Copyright-Protection WP-Copyright-Protection Simple copyright protection for your images and text. No right click, no text selections… by Dave Ligthart 5K+ ★★★★★★★★★★ 4.4 (21) 2 years ago 46
5 FSM Custom Featured Image Caption FSM Custom Featured Image Caption Allows adding custom captions to the featured images of the posts. by Fesomia 5K+ ★★★★★★★★★★ 4.6 (22) 6 months ago 54
6 Auto Copyright Year Updater Auto Copyright Year Updater This plugin short code update the copyright year automatically every year using shortcode. by eraplugins 4K+ ★★★★★★★★★★ 5 (10) 2 years ago 41
7 Dynamic Year Block Dynamic Year Block A block that always displays the current year in your footer copyright notice. by Marcio Duarte 2K+ ★★★★★★★★★★ 5 (8) 2 months ago 79
8 Add Link to Copied Text Add Link to Copied Text Add a link to the page/website when users copy and paste text from your website or prevent… by Amit Sonkhiya 1K+ ★★★★★★★★★★ 4.3 (12) 6 years ago 36
9 DMCA Website Protection Badge DMCA Website Protection Badge The DMCA Protection plugin for WordPress lets you install protection badges on your site in… by NewClarity 1K+ ★★★★★★★★★★ 3.2 (19) 2 weeks ago 75
10 WF Magnific Lightbox WF Magnific Lightbox WF Magnific Lightbox allows the user to view larger versions of images and galleries in a… by wunderfarm 1K+ ★★★★★★★★★★ 5 (12) 4 months ago 67

FAQ

Perennial: quick answers

Straight answers, pulled from live WordPress.org data.

Live data from WordPress.org · checked Oct 13, 2026

Is Perennial free?

Yes. Perennial is free to download and use from the official WordPress.org plugin directory.

Is Perennial safe to use in 2026?

Perennial is a solid plugin choice in 2026, with a few things worth checking first. Was last updated 2 weeks ago, and scores 64/100 on our health check.

How many websites use Perennial?

Perennial is active on <10 WordPress websites and has been downloaded 279 times since it launched in October 2026. It was downloaded 278 times in the last 30 days.

Does Perennial work with WordPress 7.1?

Yes. The developer has tested Perennial up to WordPress 7.1.3, the latest release. It requires WordPress 6.4 or newer.

What PHP version does Perennial need?

Perennial requires PHP 7.4 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.

When was Perennial last updated?

The latest version, 1.0.0, was released on October 2, 2026 (2 weeks ago).

Who makes Perennial?

Perennial is developed and maintained by GhostLabs.

What are the best alternatives to Perennial?

The most popular alternatives to Perennial are Secure Copy Content Protect… (20K+ installs), WP Content Copy Protection (10K+ installs) and Automatic Copyright Year (6K+ installs).

Powered by PageForge

Want thousands of pages that rank like these? Build them in an afternoon.

This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.

  • CSV, Google Sheets & API data sources
  • AI content, schema & internal links per page
  • Works with Elementor, Gutenberg, Yoast & Rank Math
  • Free on WordPress.org — no credit card
Sarah is here to help!
Hi there! 👋 Need help finding what you're looking for?
Sarah
Sarah
Online & Ready to Help
Hi there! 👋 Need help finding what you're looking for?

We'll use this to continue our conversation

Just now ✓ Verified

Join 500+ SEO Pros Scaling Their Strategy

Get exclusive programmatic SEO tactics, AI content workflows, and the latest PageForge updates delivered straight to your inbox. Stay ahead of the algorithm.

We care about your data in our privacy policy.