Content

Scheduling articles in Joomla: publish dates, time zones and the cache

Scheduling articles in Joomla: publish dates, time zones and the cache

Joomla can publish and unpublish articles on a set date and time. How the four date fields work, why the time zone matters, and why the cache delays it.

Joomla can publish an article for you next Tuesday at nine and take it offline again on the first of the month. The fields have been in the article editor since Joomla 1.5, but most sites only use them by accident. And when they are used on purpose, the article often fails to appear on time, for reasons that have nothing to do with the date you entered.

The four dates on the Publishing tab

Open an article and go to the Publishing tab. Two pairs of dates matter here:

  • Start Publishing and Finish Publishing decide when the article is visible at all. Before the start date and after the finish date, visitors get nothing, even though the status is still Published.
  • Start Featured and Finish Featured decide when the article counts as featured. These only appear once Featured is set to Yes. After the finish date the article drops off the Featured Articles page, but stays visible everywhere else.

The status field and the dates work together. An article set to Unpublished never shows, whatever the dates say. An article set to Published shows only between its start and finish dates.

How to recognise a scheduled article in the list

In the Articles list, the status icon changes for articles that are Published but outside their window. Hover over it and Joomla tells you whether the article is pending or has expired. That icon is the quickest way to answer the question "why can nobody see my article?" on a site where several people write.

There is no separate filter for pending articles, so on a busy site it pays to agree on one habit: scheduled articles get a note in the Note field, such as "planned", which shows up under the title in the list.

Time zones decide when "nine o'clock" is

Dates are stored in UTC and shown in the time zone of the user who looks at them. That time zone comes from the user's own account settings, and when that is empty, from Website Time Zone in the Global Configuration, on the Server tab.

If that setting is still on UTC while your editors are in Amsterdam, an article planned for 09:00 goes live at 11:00 local time in summer. Set the website time zone to the place where most of your editors work, and check the account settings of anyone who works from elsewhere.

Why the article is late anyway

Joomla does not run a job at the start date. It simply leaves the article out of every query until the current time is past the start date. That means anything that stores a copy of the page can keep showing the old version:

  • Page cache. With the System - Page Cache plugin on, the home page is stored as a finished HTML file. The new article appears when that copy expires, which is set by Cache Time in the Global Configuration.
  • Module cache. A Latest Articles or Newsflash module with caching on keeps its list until its own cache time runs out.
  • Hosting cache. Many hosts put a proxy cache in front of the site. That cache does not know about your publish date and serves the old page until it is cleared or expires.

For a site that schedules a lot, keep cache times short on pages that list new content, or clear the cache right after the planned time.

Finish Publishing is not a cleanup

An expired article is still in the database with status Published. It no longer shows on the site, but it is still counted, still searchable in the back end, and still has its menu items and links. Anyone with the direct URL gets a 404 from that moment on, so links from newsletters and social posts break on the finish date.

For an offer that ends, a better approach is often to leave the article online and change the text, or to unpublish it and add a redirect to a follow-up page in the Redirects component. Use Finish Publishing for content that really has no value after a date, such as an event announcement on a page that also lists the next event.

Smart Search and scheduled content

Smart Search indexes an article when it is saved, including its publishing dates, and leaves it out of search results until the start date. That works, as long as the index is kept current. If you index with a scheduled task or from the command line, and the Content - Smart Search plugin is off, a planned article only becomes searchable after the next index run.

A short checklist for scheduled posts

  • Website Time Zone set to where your editors are, and their account time zones checked.
  • Status set to Published, with a start date in the future.
  • Cache times on the home page and list modules short enough for your schedule.
  • A finish date only for content that is worthless afterwards, with a redirect if it was linked from outside.
  • After the start time, one look at the site in a private window to confirm it is there.

Scheduling works well in Joomla once the time zone is right and the cache is understood. Everything else is just two date fields.

Stuck on something else?

Doctor Joomla is a project of Cloudfaction, a Dutch agency building and maintaining Joomla sites since 1999. The articles are made with the help of AI, so tell us if something does not match your screen. Mail info@cloudfaction.nl if you want someone to look at yours.

Rather have someone look at it

Doctor Joomla is a Cloudfaction project.

A Dutch agency that has been building and running Joomla sites since 1999. If your site needs more than an article can fix, get in touch.