Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
Can Schema handle two sets of business hours?
-
I have a client who, due to covid, will have two sets of business hours. Morning hours for business customers, and afternoon hours for general customers. Is it possible to designate this distinction in schema?
-
What it will break is the ability to indicate that a place is closed over lunch-time with a single OpeningHoursSpecification node, which works currently because you can simply sort the times for opens/closes to reconstruct the intended order, like so:
<code># opens 8:00 - 12:30 and 14:00 - 20:00 opens 08:00:00 closes 12:30:00 opens 14:00:00 closes 20:00:00</code>
if you allow
<code># opens 20.00 - 02:00 next day opens 20:00:00 closes 02:00:00</code>
then there can be cases that become ambiguous, e.g. i. if you use more than one pair per OpeningHoursSpecification without making the case undecidable, like so:
<code># opens 8 - 16:00 and 21:00 - 9:00: next day opens 08:00:00 closes 16:00:00 opens 21:00:00 closes 09:00:00</code>
It could also mean opens 8:00 - 9:00 and 21:00 - 16:00 next day.
What might work is a rule that cross-midnight intervals are only allowed if you have exactly one pair of opens / closes properties. And we need to precisely define how this works in the light of additional statements for the next day of the week, in particular with validity constraints (like seasonal opening hours).
-
Hello,
covid I with you and your client safe days ahead
https://developers.google.com/search/docs/data-types/special-announcements
https://www.schemaapp.com/how-to/your-guide-to-covid-19-structured-data/ https://schema.org/CovidTestingFacility
https://support.google.com/business/answer/3039617?co=GENIE.Platform%3DiOS&hl=en
for Structured data I would use it like pharmacy’s do but name is what you like.
this tool will help you make your own
https://technicalseo.com/tools/schema-markup-generator/
Here are some great examples
<title>Dave's Department Store</title>
<scripttype="application ld+json"="">{
"@context":"https://schema.org",
"@type":"Store",
"image":[
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"@id":"http://davesdeptstore.example.com",
"name":"Dave's Department Store",
"address":{
"@type":"PostalAddress",
"streetAddress":"1600 Saratoga Ave",
"addressLocality":"San Jose",
"addressRegion":"CA",
"postalCode":"95129",
"addressCountry":"US"
},
"geo":{
"@type":"GeoCoordinates",
"latitude":37.293058,
"longitude":-121.988331
},
"url":"http://www.example.com/store-locator/sl/San-Jose-Westgate-Store/1427",
"priceRange":"$$",
"telephone":"+14088717984",
"openingHoursSpecification":[
{
"@type":"OpeningHoursSpecification",
"dayOfWeek":[
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"opens":"08:00",
"closes":"23:59"
},
{
"@type":"OpeningHoursSpecification",
"dayOfWeek":"Sunday",
"opens":"08:00",
"closes":"23:00"
}
],
"department":[
{
"@type":"Pharmacy",
"image":[
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"name":"Dave's Pharmacy",
"telephone":"+14088719385",
"openingHoursSpecification":[
{
"@type":"OpeningHoursSpecification",
"dayOfWeek":[
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens":"09:00",
"closes":"19:00"
},
{
"@type":"OpeningHoursSpecification",
"dayOfWeek":"Saturday",
"opens":"09:00",
"closes":"17:00"
},
{
"@type":"OpeningHoursSpecification",
"dayOfWeek":"Sunday",
"opens":"11:00",
"closes":"17:00"
}
]
}
]
}</scripttype="application>remember to submit the changes to google here [https://search.google.com/search-console/special-announcement](https://search.google.com/search-console/special-announcement) I didn’t finish the last one but the tool will help ma it work sincerely, Tom
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
One domain or two for one company with two lines of business?
Let's say you are building a new company that is involved in two lines of business. Let's for example say one line of business is handling logistics for large conventions where the customer(s) are large corporation and the other line is for wedding planning. Let's say that for certain reasons the owner wants to operate under one brand name, say "PROEVENT" So they will market themselves as PROEVENT Convention Logistics and PROEVENT Wedding Planners. From an SEO perspective, if you have one side of the business doing B-to-B corporate business and the other doing B-to-C do you create two different websites on different domains (proeventconventions.com and proeventweddings.com) with unique design and content, or, do you just use provent.com in order to build better domain authority and on your marketing you use conventions.provent.com that takes you to the convention section of the website and weddings.provent.com takes you to the weddings section?
Intermediate & Advanced SEO | | Jazee0 -
Can noindexed pages accrue page authority?
My company's site has a large set of pages (tens of thousands) that have very thin or no content. They typically target a single low-competition keyword (and typically rank very well), but the pages have a very high bounce rate and are definitely hurting our domain's overall rankings via Panda (quality ranking). I'm planning on recommending we noindexed these pages temporarily, and reindex each page as resources are able to fill in content. My question is whether an individual page will be able to accrue any page authority for that target term while noindexed. We DO want to rank for all those terms, just not until we have the content to back it up. However, we're in a pretty competitive space up against domains that have been around a lot longer and have higher domain authorities. Like I said, these pages rank well right now, even with thin content. The worry is if we noindex them while we slowly build out content, will our competitors get the edge on those terms (with their subpar but continually available content)? Do you think Google will give us any credit for having had the page all along, just not always indexed?
Intermediate & Advanced SEO | | THandorf0 -
How can I stop spam Google Organic traffic?
Hey Moz, I'm a rather experienced SEO who just encountered a problem I have never faced. I am hoping to get some advice or be pointed in the right direction. I just started work for a new client. Really great client and website. Nicer than most design/content. They will need some rel canonical work but that is not the issue here. The traffic looked great at first glance 131k visits in April. Google Analytics Acquisition Overview showed 94% of the traffic as organic. When I dug deeper and looked at the organic source I saw that Google was 99.9% of it. Normal enough. Then I looked at the time on site and my jaw dropped. 118,454 Organic New Users for Google only stayed on the site for 3 seconds. There is no way that the traffic is real. It does not match what Google Webmaster tools, Moz, and Ahrefs are telling me. How do I stop a service that is sending fake organic Google traffic?
Intermediate & Advanced SEO | | placementLabs0 -
Can you apply schema to a newsletter signup link?
I was curious if it is possible to markup a newsletter signup link for a client. If yes, what schema property should I use? https://schema.org/Action?
Intermediate & Advanced SEO | | RosemaryB0 -
Keyword Phrases - Can You Break Them Up?
Can you break up a search query across a sentence and have Google still recognize which query you are targeting? Let's say I'm trying to rank a page for the phrase "best haircuts calgary". Is Google's algorithm advanced enough to look at page title "Best Haircuts - Where To Get Them In Calgary" and know it's targeting the query "best haircuts calgary"? If it can't do this right now, I could see it advancing to this at some point in the future, which would then change the game quite a bit in terms of how creative you can get creating pages for queries.
Intermediate & Advanced SEO | | reidsteven750 -
My website (non-adult) is not appearing in Google search results when i have safe search settings on. How can i fix this?
Hi, I have this issue where my website does not appear in Google search results when i have the safe search settings on. If i turn the safe search settings off, my site appears no problem. I'm guessing Google is categorizing my website as adult, which it definitely is not. Has anyone had this issue before? Or does anyone know how to resolve this issue? Any help would be much appreciated. Thanks
Intermediate & Advanced SEO | | CupidTeam0 -
Can Google Read Text in Carousel
so what is the best practice for getting Google to be able to read text that populates via JQuery in a carousel. If the text is originally display none, is Google going to be able to crawl it? Are there any limits to what Google can crawl when it comes to JavaScript and text? Or is it always better just to hardcopy the text on the page source?
Intermediate & Advanced SEO | | imageworks-2612900 -
Schema.org on Youtube iframe embed?
So I've tried scouring the internet on the proper way to markup youtube videos. I know there's the VideoObject propery but that seems to be more made for the old school embed code that looks like this: <embed width="100%" id="video-player-flash" height="100%" type="application/x-shockwave-flash" src="http://s.ytimg.com/yt/swfbin/watch_as3-vflpp9opi.swf" allowscriptaccess="always" allowfullscreen="true" bgcolor="#000000" flashvars="el=embedded&fexp=904001%2C914057%2C918000%2C910206%2C907217%2C907335%2C921602%2C919306%2C922600%2C919316%2C920704%2C912804%2C913542%2C919324%2C912706&is_html5_mobile_device=false&tabsb=1&hl=en_US&eurl=http%3A%2F%2Fwww.dial800.com%2Fblog%2Fvideos%2Fdial800-product-overview-video&iurl=http%3A%2F%2Fi4.ytimg.com%2Fvi%2Fgk1aD9UCKYA%2Fhqdefault.jpg&tspto=12000&probably_logged_in=1&tsp_buffer=10&video_id=gk1aD9UCKYA&tsp_dvrloop=50&sendtmp=1&enablejsapi=1&sk=WZy3rFIXzzhTB_BpmE1p1tTsbxMib1vIC&rel=1&playlist_module=http%3A%2F%2Fs.ytimg.com%2Fyt%2Fswfbin%2Fplaylist_module-vfl3lol2H.swf&jsapicallback=ytPlayerOnYouTubePlayerReady&playerapiid=player1&framer=http%3A%2F%2Fwww.dial800.com%2Fblog%2Fvideos%2Fdial800-product-overview-video"> Do I need to use that code or is it possible to mark it up using just the clean iframe src that youtube provides now?
Intermediate & Advanced SEO | | SirSud0