How to handle business hours.
Business hours are among the most commonly searched, frequently changed, and frequently inconsistent pieces of business information online.
They can also become confusing because your structured data hours and the hours customers see on your website are two separate things.
Schema Nerd lets you manage the hours included in your LocalBusiness schema regardless of what CMS or website platform you use. If you use WordPress, the optional Schema Nerd plugin and hours shortcode can also help keep customer-visible hours synchronized with that same information.
Quick Answer
- Use Schema Nerd as your source of truth for the hours included in your LocalBusiness schema.
- Schema Nerd-generated JSON-LD can be copied and added to any CMS or custom website that supports structured data.
- If you manually install your schema, copy the updated JSON-LD and replace the previous version whenever you change your hours.
- Customer-visible hours, such as hours in your footer or contact page, are separate from your schema and may need to be updated independently.
- WordPress users can optionally use the Schema Nerd plugin and hours shortcode to automate schema retrieval and keep supported visible hours displays synchronized.
- Validate your structured data after making changes and check for conflicting LocalBusiness schema from other sources.
Schema Hours vs. Visible Website Hours
It helps to separate two different types of business-hours information.
Schema Hours
These are the hours stored in your Schema Nerd LocalBusiness entry and included in the JSON-LD Schema Nerd generates.
They tell search engines and other systems when a particular business location is open.
Schema Nerd can generate this structured data regardless of whether your website uses WordPress, another CMS, or a completely custom website.
Visible Website Hours
These are the hours customers actually see on your website, such as those displayed in:
- Your website footer
- A contact page
- A location page
- A sidebar or information panel
- A theme or page-builder module
Changing your hours in Schema Nerd does not automatically rewrite ordinary text that was manually entered elsewhere on your website.
If you use WordPress, the Schema Nerd hours shortcode provides an optional way to display those hours dynamically instead of maintaining separate static copies.
What “Correct Hours” Means
For business hours to remain consistent:
- Your hours should match what customers experience in the real world.
- Your customer-visible hours should match the hours in your schema.
- Each location should have its own correct schedule.
- Hours should be formatted consistently and clearly.
- Your website should not contain conflicting LocalBusiness schema from another plugin or tool.
If your website displays one schedule, your schema contains another, and your business listings show a third, customers and search engines receive conflicting information.
The goal is not necessarily to make one system control everything. The goal is to know where each version of your hours is stored and keep those sources synchronized.
Managing Hours on Any CMS or Custom Website
You do not need WordPress or the Schema Nerd plugin to manage business hours with Schema Nerd.
Step 1: Update the Correct Location in Schema Nerd
Open the appropriate LocalBusiness entry in the Schema Nerd Dashboard and update its hours.
If you manage several locations, confirm that you are editing the correct one before saving.
A clear naming convention can help, such as:
- Brand Name, City
- Brand Name, Neighborhood
- Brand Name, Street Name
Save your changes when the schedule is correct.
Step 2: Copy the Updated Schema
Open the Schema Markup Viewer and review the generated JSON-LD.
Use Copy to Clipboard to copy the updated schema.
Step 3: Replace the Previous Schema on Your Website
If you installed your schema manually, replace the previous JSON-LD with the newly generated version.
Depending on your website platform, your schema may be installed through:
- A CMS custom-code or schema field
- A header or code-injection area
- A website template
- A tag-management or custom HTML area
- Developer-controlled HTML or source code
The exact implementation method depends on your website, but the generated JSON-LD itself is not limited to WordPress.
Step 4: Update Customer-Visible Hours
If your website displays business hours as ordinary text, update those separately.
For example, you may need to change hours in your:
- Footer
- Contact page
- Location page
- Navigation or sidebar
- Page-builder module
Updating the Schema Nerd entry changes the schema stored in Schema Nerd. It does not automatically rewrite static text elsewhere on a manually managed website.
Step 5: Validate the Updated Schema
After replacing the schema, use Schema Nerd’s validation tools to review the updated structured data.
Then check the live website to confirm that the new version is actually being output.
You can also view the page source and search for:
application/ld+json
Find the LocalBusiness object for the location you updated and confirm that the current hours appear in the markup.
Managing Hours With the Schema Nerd WordPress Plugin
WordPress users have an additional option.
When your WordPress website is connected to Schema Nerd through the plugin, the plugin can retrieve your Schema Nerd data instead of requiring you to manually copy and replace the JSON-LD each time something changes.
This makes updating hours easier, especially for businesses that change schedules regularly.
Structured Data
Update the location’s hours in Schema Nerd and save your changes.
The connected WordPress integration can retrieve the updated schema without requiring you to manually copy a new version into the site.
Customer-Visible Hours
Schema Nerd also includes a WordPress shortcode for displaying business hours on customer-facing pages.
You can place the appropriate shortcode anywhere supported by your WordPress setup, including:
- Website footers
- Contact pages
- Location pages
- Other customer-facing content areas
Instead of manually entering the same schedule in several places, each shortcode instance can draw from the corresponding Schema Nerd location.
When the hours are updated in Schema Nerd, supported shortcode displays can reflect the updated schedule as well.
When to Use the Schema Nerd Hours Shortcode
The hours shortcode is a WordPress feature, not a requirement for using Schema Nerd.
It is useful when you want Schema Nerd to serve as the source for both:
- The hours included in your structured data
- The hours displayed to visitors on your WordPress website
This reduces the number of separate places where the same schedule has to be maintained.
If your website does not use WordPress, you can still use Schema Nerd normally. Install the generated JSON-LD manually and manage your customer-visible hours through your CMS or website.
Common Business Hours Mistakes
1. Hours Manually Entered in Multiple Places
This is the most common cause of mismatched hours.
Separate copies of your hours may appear in:
- The website footer
- A contact page
- One or more location pages
- A theme or page-builder widget
- An SEO plugin
- Schema generated by another plugin
- Google Business Profile
- Third-party business listings
If you update one source but forget another, your business information becomes inconsistent.
Using the Schema Nerd shortcode in several places does not create this problem. Every instance of the shortcode pulls from the same Schema Nerd hours data, so they update together.
2. Updating Schema but Forgetting Visible Hours
Changing your hours in Schema Nerd updates the information used to generate your schema.
It does not automatically change manually entered text elsewhere on your website.
If you use a manual implementation, remember to update both:
- The schema installed on the website
- Any visible hours that customers can read
WordPress users can reduce this maintenance by using the Schema Nerd hours shortcode for supported displays.
3. Forgetting to Replace Manually Installed Schema
If you copied Schema Nerd JSON-LD into another CMS or custom website, updating the information inside Schema Nerd does not automatically replace that copy.
After changing your hours:
- Save the changes in Schema Nerd.
- Open the Schema Markup Viewer.
- Copy the updated JSON-LD.
- Replace the previous schema on your website.
- Validate the live version.
4. Conflicting Schema From Other Sources
Another plugin, theme, SEO tool, or custom script may also generate LocalBusiness markup.
If multiple sources describe the same business location with different hours, troubleshooting becomes much more difficult.
To check your website:
- View the page source.
- Search for
application/ld+json. - Look for more than one LocalBusiness object describing the same location.
- Check for conflicting
openingHoursoropeningHoursSpecificationinformation.
You do not necessarily need to disable every other type of schema on the website. Another tool may still handle Article, Product, BreadcrumbList, or other markup that does not conflict with the LocalBusiness schema managed through Schema Nerd.
5. Caching Makes Updated Hours Look “Stuck”
Caching can cause an older version of a page or its structured data to remain visible temporarily.
Depending on your website setup, this may include:
- CMS or WordPress caching
- Hosting-level caching
- CDN caching
- Browser caching
If your changes are not appearing, clear the applicable cache layers and check the live page again.
Recommended Workflow in Schema Nerd
Step 1: Make Schema Nerd Your Source of Truth
For most websites using Schema Nerd, the simplest approach is:
- Store and manage LocalBusiness hours in Schema Nerd.
- Use Schema Nerd as the authoritative source for structured-data hours.
- Display customer-visible hours using the Schema Nerd shortcode.
- Avoid maintaining separate copies of the same schedule whenever possible.
This keeps the structured data and customer-visible hours synchronized while reducing the number of places you need to update.
Step 2: Update the Correct Location
Make your changes within the correct Schema Nerd LocalBusiness entry. Check the location name before saving, especially if you manage several locations with similar business names.
Adopt a clear naming convention, such as:
- Brand Name, City
- Brand Name, Neighborhood
- Brand Name, Street Name
Keep your time formatting consistent across every location.
Step 3: Use the Hours Shortcode
Place the Schema Nerd hours shortcode wherever customers should see the location’s hours, such as:
- The website footer
- The contact page
- The relevant location page
- Other customer-facing page sections
Once the shortcode is in place, you do not need to edit each display separately. Updating the location’s hours in Schema Nerd updates every instance of the corresponding shortcode.
Step 4: Validate After Changes
Use Schema Nerd’s validator to review results from the Schema.org Schema Markup Validator.
- If you see errors, correct them first.
- If you see warnings, read them carefully. Some warnings relate to optional information, but they may still identify missing or unclear details.
Step 5: Confirm the Live Output
Check both the visible shortcode display and the structured data after making changes.
To inspect the structured data, open your live website, view the page source, and search for:
application/ld+json
Find the LocalBusiness object for the location you updated and confirm that it contains the new hours. Depending on the schema structure, the hours may appear under openingHours or openingHoursSpecification.
Displaying Hours With the Schema Nerd Shortcode
Current Functionality: Synchronized Hours
Schema Nerd already includes a shortcode for displaying business hours on your website.
The workflow is simple:
- Enter and manage the location’s hours in Schema Nerd.
- Place the appropriate shortcode wherever those hours should appear.
- Update the hours once in Schema Nerd.
- Let every shortcode instance reflect the updated schedule automatically.
This removes the need to manually edit hours in several page sections whenever the schedule changes.
Coming Soon: Additional Customization Options
Improvements to the hours display are coming soon. These changes will provide more control over how the synchronized hours look without changing the basic update process.
The shortcode will continue drawing its information from Schema Nerd, allowing you to manage the schedule in one place while displaying it consistently throughout the website.
Troubleshooting: Hours Updated but Not Showing
1. Determine What Is Not Updating
First, determine whether the problem involves:
- The structured data in your page source
- A Schema Nerd shortcode display
- Manually entered text in a page or footer
- Hours displayed by Google or another business listing
These are separate sources. Schema Nerd should update its schema and shortcode displays, but it will not rewrite manually entered page text or directly update third-party listings.
2. Confirm the Shortcode Uses the Correct Location
If you manage multiple locations, confirm that the shortcode is connected to the location you updated. A shortcode associated with another Schema Nerd entry will continue displaying that location’s hours.
3. Clear Every Cache Layer
Clear caches in this order:
- Your WordPress caching or performance plugin
- Your hosting cache
- Your CDN cache, if applicable
Then open the page in a private or incognito window and check again.
4. Confirm Schema Nerd Is the Only LocalBusiness Schema Source
If an SEO plugin or another schema tool is outputting LocalBusiness markup, it may also be outputting hours.
To check:
- View the page source.
- Search for
application/ld+json. - Look for more than one LocalBusiness object.
- Search for multiple
openingHoursoropeningHoursSpecificationproperties.
If several tools describe the same location, choose one tool to own the LocalBusiness schema output.
You do not necessarily need to disable every other schema type. An SEO plugin may still be responsible for breadcrumbs, articles, products, or other markup that Schema Nerd does not replace.
5. Check Script Optimization Settings
In rare cases, aggressive performance settings can alter, remove, or delay JSON-LD scripts or shortcode output. Temporarily disable script delay, combination, or aggressive minification features and check the page again.
If the correct hours appear after disabling an optimization feature, adjust that feature to exclude Schema Nerd’s output.
6. Allow Search Engines Time to Recrawl
If the visible shortcode and live page source contain the correct hours, Schema Nerd is outputting the update successfully. Search engines may still need time to recrawl the website before their displayed information changes.
Updating Schema Nerd also does not directly update your Google Business Profile or other listings. Make those changes separately wherever customers may see your hours.
Best Practices for Multi-Location Hours
For businesses with several locations:
- Create and maintain a separate Schema Nerd LocalBusiness entry for each location.
- Use a clear naming convention so locations are easy to distinguish.
- Confirm that you are editing the correct location before saving.
- Keep time formatting consistent across locations.
- Make sure each location’s visible website hours match its schema.
- If you manually install JSON-LD, replace the schema after making changes.
- If you use the WordPress shortcode, confirm that each shortcode points to the correct location.
- Avoid allowing several tools to manage competing LocalBusiness schema for the same location.
- Review seasonal and holiday hours early enough to update every relevant source.
- Validate the structured data after significant changes.
Next Steps
To set up a location schema entry, read:
For more information about manually adding Schema Nerd JSON-LD to your website, see:
If your schema is not showing up at all, read: