How to handle business hours.
Business hours are one of the most commonly searched, most frequently changed, and most frequently inconsistent pieces of information on a website. Hours are also easy to get wrong in structured data, especially when multiple plugins, themes, and listings tools are all trying to “help.”
This guide explains how to keep your hours accurate in Schema Nerd, how to avoid common mistakes, and how to troubleshoot hours that do not appear to update.
Quick answer
- Keep one source of truth for hours.
- Update hours in Schema Nerd, not in scattered page sections.
- Validate after changes using Schema Nerd’s validator.
- If updates are not visible, clear caches and check for schema conflicts.
- Hours widget improvements are coming soon and will make it easier to display synchronized hours anywhere via shortcode.
What “correct hours” means
For structured data, “correct hours” means:
- Your hours match what customers experience in the real world.
- Your hours are formatted consistently and clearly.
- Your hours do not conflict with other sources on the site.
If your website shows one set of hours, your schema shows another, and your listings show a third, you are creating confusion for both customers and search engines.
Common business hours mistakes
1) Hours listed in multiple places
This is the number one cause of mismatched hours.
Examples:
- Hours in the footer
- Hours on a contact page
- Hours inside a location page
- Hours in a theme widget
- Hours output by an SEO plugin
- Hours included in schema output by a different plugin
If you update hours in one place but forget another, your site becomes inconsistent.
2) Caching makes hours look “stuck”
Even if Schema Nerd is outputting updated schema, cached pages can keep showing old content and old markup.
This is especially common when you update hours ahead of holidays or seasonal changes.
3) Conflicts from other schema sources
If another plugin or theme is outputting LocalBusiness schema, it may also be outputting hours. That can result in duplicate hours data in your markup, which makes validation and troubleshooting harder.
Recommended workflow in Schema Nerd
Step 1: Decide your single source of truth
For most sites using Schema Nerd, the simplest approach is:
- Store and manage business hours in Schema Nerd
- Display hours on your site using Schema Nerd features as they roll out
This reduces drift and makes validation easier.
Step 2: Update hours in Schema Nerd
Make your updates in the Schema Nerd LocalBusiness schema entry. Keep your time format consistent across every location.
Tip: If you manage multiple locations, adopt a naming convention that makes it easy to update the correct entry, such as:
- Brand Name, City
- Brand Name, Neighborhood
- Brand Name, Street Name
Step 3: Validate after changes
Use Schema Nerd’s validator to review Google’s Schema Markup Validator feedback.
- If you see errors, fix them first.
- If you see warnings, read them carefully. Warnings are often optional fields, but they can highlight missing information that improves clarity.
Step 4: Confirm output on your live site
Open your site, view page source, and search for application/ld+json. Confirm that the LocalBusiness schema includes the updated hours.
Display hours on your website
Today: keep display consistent with your schema plan
If you currently display hours in multiple page sections, decide which place is authoritative and update it whenever you update schema. The goal is consistency.
Coming soon: improved hours widget
Schema Nerd includes an hours widget, and customization improvements are coming soon. The direction is simple:
- Place hours anywhere via shortcode
- Update hours once in Schema Nerd
- Let the widget reflect the correct hours on every page where it is used
This reduces the most common hours problem, which is duplication across pages.
Troubleshooting: hours updated, but not showing
1) Clear cache layers
Clear caches in this order:
- Your WordPress caching plugin
- Your host cache
- Your CDN cache, if applicable
Then refresh the page in a private or incognito window.
2) Confirm Schema Nerd is the only LocalBusiness schema source
If an SEO plugin or another schema tool is outputting LocalBusiness schema, it might also be outputting hours.
To check:
- View page source
- Search for
application/ld+json - Look for more than one LocalBusiness object, or more than one
openingHoursstyle field
If you find duplicates, choose one tool to own LocalBusiness schema output.
3) Check optimization settings that strip or delay scripts
Some performance plugins can remove or delay JSON-LD scripts. Temporarily disable script delay or aggressive minification features, then check again.
Best practices for multi-location hours
- Keep formatting consistent across every location.
- Update seasonal hours early, then validate and confirm output.
- Use one source of truth, and avoid updating hours in multiple plugins.
- After any hours change, validate and clear caches before assuming the update failed.
Next steps
To set up a location schema entry, read:
If your schema is not showing up at all, read: