Search

Find an article

← Back to articles
Editorial Workflow 10 min read

Schedule Blog Posts: Time Zone Rules That Stop 3am Posts

Fix blog scheduling errors by setting one CMS time zone, accounting for daylight saving changes, and publishing when someone can check the post.

Shah Alom
Shah Alom

Shah Alom is the founder and writer behind Kahuk, covering content management systems, WordPress,…

When you schedule blog posts, time zone confusion is behind almost every post that goes live at 3am. The fix is short: set your CMS’s site time zone to a city rather than a fixed offset, treat that zone as the one publishing clock for everyone, write the zone next to every time in your calendar, and schedule each post for an hour when the person who approved it is awake to check it. Your CMS did not misbehave. It read a clock nobody on the team was looking at.

The rest of this guide covers where that clock lives on the common platforms, the daylight saving weeks that trip up distributed teams, and a five-minute test to run before you trust a schedule again.

Why posts go live at 3am

A post that lands in the middle of the night almost always traces back to one of four causes. They are worth separating, because each has a different fix.

The site’s clock was set by someone else. The time zone on a site is often chosen by whoever created it: a developer, a previous freelancer, or the platform itself. Squarespace’s help center, for example, says it sets a site’s default location from the IP address the site was created from. If a contractor in another country built the site, your “9:00” may be their 9:00.

The person scheduling is thinking in their own time. An editor in Chicago types 9:00 into a CMS set to London time. The platform does exactly what it was told and publishes at 9:00 London, which is 3:00 in Chicago.

The site uses a fixed offset instead of a city. A fixed offset like UTC-5 never moves. When daylight saving starts or ends, the real local time drifts by an hour against it, and every scheduled slot drifts with it.

The scheduler never fired at all. Some platforms only run scheduled jobs when something triggers them. This is not a time zone problem, but it looks like one, because the post shows up hours late.

Before You Schedule Blog Posts: Time Zone Settings to Check on Each Platform

WordPress, Ghost and Webflow all document that scheduling follows a site-level time zone, not the clock on your laptop. Squarespace keeps a site time zone in its region settings, although its scheduling help page does not say which clock the scheduler reads. The table below was checked against each platform’s own help pages on September 23, 2026. Menus move, so confirm on your own dashboard.

PlatformWhich clock the schedule readsWhere the time zone is setWhat to watch
WordPress (one example)Site time zoneSettings, General, TimezoneChoose a city, not an Etc GMT offset. Scheduled jobs run on page load unless the host sets up a real cron
GhostSite time zoneSettings, GeneralA scheduled post can also go out as an email newsletter, so the scheduled time is also inbox time
WebflowSite’s configured time zoneSite settingsIts help center says scheduling applies to CMS items that have not been published before
SquarespaceNot stated on its scheduling help pageRegional settings (7.1) or Language and region (7.0)Some dashboard panels show times in your device’s zone, not the site’s, so test before relying on it

On Ghost, the Ghost help center’s publishing guide (read September 23, 2026) states that the scheduling time uses the timezone configured in Settings, General in Ghost Admin. That one sentence answers most “why did it go out early” questions on that platform.

WordPress’s own Settings General documentation tells you to pick a city in your time zone, such as New York for US Eastern time, so that daylight saving is handled for you, and to use an Etc GMT option only when no city fits. The same advice applies on any platform that offers both: a named city follows the local clock changes, and a raw offset does not.

If your site is self-hosted, also check that scheduled jobs actually run. The WordPress Plugin Handbook’s page on cron (read September 23, 2026) explains that WP-Cron is only triggered on page load, and gives the example of a task scheduled for 2:00PM that does not run until a page loads at 5:00PM. On a quiet site at 3am, that gap can be long. Who fixes that kind of problem, you or a vendor, is one of the real differences covered in self-hosted versus cloud CMS hosting.

Pick one publishing clock for the whole team

Once you know which clock your CMS reads, make it the only clock anyone uses for publishing. Small teams get into trouble when three people in three zones each translate times in their heads.

A workable rule set for a team of two to five:

  • The site time zone is the publishing clock. Every scheduled time, deadline and calendar slot is written in it.
  • Every time carries its zone label. “Tue 09:00 ET” or “Tue 14:00 London”, never “Tuesday morning”. A label costs three characters and removes the guesswork.
  • Freelancer deadlines use the same clock. “Draft due Monday 17:00 site time” is unambiguous. “Due end of day Monday” means a different hour for a writer on another continent.
  • Shared calendars show the zone explicitly. Many calendar tools convert times into each viewer’s own zone. That is helpful for meetings and confusing for publishing slots, so put the site-time label in the event title too.

If you are still settling who does what on a small team, the handoffs in our guide to an editorial workflow for a team of two to five are where the publishing clock should be written down.

Schedule for the person on watch, not only the reader

Most advice on timing asks when your readers are online. That matters, but for a small operation there is a more useful question: who will be awake when this post goes live?

A scheduled post is a timer. It publishes with nobody present, so anything still wrong inside it goes public unattended: a broken link, a missing image, the wrong category, a leftover note to the editor. If the post fires at 3am in the approver’s time zone, those problems sit live for hours.

So choose a slot that falls within working hours for whoever owns the final check, then confirm the post went out correctly within the first hour. For many blogs, a post keeps being found through search long after its first morning, so shifting the time by a few hours to suit the person on watch often costs little. Time-sensitive posts are different, and so are newsletters.

That is where the clocks multiply. On Ghost, a scheduled post can be sent as an email at the same moment it publishes, so the scheduled time is also when it lands in subscribers’ inboxes. Social scheduling tools keep their own settings as well: Buffer’s help center (checked September 23, 2026) says each connected channel has its own time zone. One article can end up governed by three clocks at once: the CMS, the newsletter and the social scheduler. Check all three.

Having one named person who confirms the post is live is the same principle behind one final approver for every piece. Scheduling does not remove the need for that person. It only moves the moment they are needed.

The daylight saving weeks that catch every distributed team

Twice a year, the gap between your team members’ clocks changes for a week or more, and scheduled slots quietly shift.

This year, according to the published time-change calendars at timeanddate.com and TimeChange.org (checked September 23, 2026), summer time in the UK and EU ends on Sunday, October 25, 2026, while most of the United States and Canada fall back a week later, on Sunday, November 1, 2026. For that week, New York is four hours behind London instead of the usual five. Arizona (outside the Navajo Nation) and Hawaii do not change their clocks at all, so an editor there drifts against everyone else twice a year.

What that week can do to a schedule:

  • A recurring “09:00” slot set by a London editor lands an hour off for a New York approver.
  • A site set to a fixed offset keeps publishing at the old real-world hour, while everyone’s calendars move.
  • Deadlines written without a zone label get read two ways.

The same kind of gap opens in spring, when the US changes first. The practical habit is simple: at the start of each changeover period, open every post scheduled inside it and reread its time in the site’s zone.

A five-minute test before you trust the schedule

Run this once per site, and again after anyone changes the site settings or a new person starts scheduling.

  1. Read the site time zone. Open the site settings and write down exactly what it says. If it is a raw offset, consider switching to a city in the same zone.
  2. Compare it to the team’s clock. Does the zone match what your calendar and your freelancers are using? If not, decide which one changes. Do not leave both.
  3. Read the time the editor shows for “now”. Open a draft and look at the date and time field before you schedule anything. If it does not match the current time in the site’s zone, the scheduling screen is showing you a different clock.
  4. Check that scheduled jobs run. On self-hosted platforms, look at the next scheduled post after its time passes. If it is still waiting, the platform’s scheduler needs attention, usually from your host.
  5. Write the zone into your templates. Add the site-time label to your calendar template and brief template so nobody has to remember it.

Scheduling works best as its own named step in the process, with an owner, rather than something that happens in the last thirty seconds of editing. If your process does not have that step yet, the stages every publishing process has is a good place to add it.

When your readers are spread across time zones

One post publishes once. You cannot make it land at 9:00 for everyone, so pick a rule and stick to it:

  • Main audience first. If most readers are in one region, schedule for their morning.
  • Overlap hours. If readers are split across the Atlantic, a slot in the US morning still falls within the working day in Europe.
  • Separate regional sites, separate clocks. If you run a site per country or language, each one should carry its own site time zone, and your calendar should say which site each slot belongs to.

Resist republishing the same post at different times for different regions. It creates duplicate URLs and splits whatever attention the post earns.

What scheduling cannot fix

Getting the time zone right removes the 3am surprise. It does not do everything:

  • It does not make a post correct. A draft that was not ready goes out at the right hour, still not ready.
  • It does not fix a scheduler that never fires. That is a hosting or platform question.
  • It does not guarantee what happens to already-scheduled items when you change the site time zone. Platforms handle this differently, so after changing the setting, open each scheduled item and check its time.
  • It does not make the exact minute matter more than it does. For evergreen posts, a reliable routine beats a perfect slot.

FAQ

Does my CMS use my computer’s time zone when I schedule a post?

Usually not. WordPress, Ghost and Webflow schedule against a time zone set at the site level. Some dashboards still display certain times in your device’s zone, which Squarespace’s help center notes for some panels, so always check which clock the scheduling screen is showing.

Should I set my site’s time zone to UTC or to a city?

Choose a city in the zone your team publishes in. A city follows daylight saving changes automatically, while a fixed offset stays put and drifts against local time for part of the year. WordPress’s documentation gives the same advice.

Why did my scheduled post publish hours late or not at all?

On platforms where scheduled jobs run only when the site gets a visit, such as default WordPress, a quiet site can miss the exact minute. Load the site to trigger it, then ask your host about a real server cron if it keeps happening.

What time should I schedule blog posts for readers in another country?

Schedule for your main audience’s morning, but only if someone on your team can check the post within an hour of it going live. If those two conflict, favor the check.

Leave a Reply

Your email address will not be published. Required fields are marked *