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.
H1 and Schema Codes Set Up Correctly?
-
Greetings:
It was pointed out to me that the h1 tags on my website (www.nyc-officespace-leader.com) all had exactly the same text and that duplication may be contributing to the very low page authority for most URLs.
The duplicate h1 appears in line 54-54 (see below) of the home page: www.nyc-officespace-leader.com:
itemscope itemtype="http://schema.org/LocalBusiness" style="position:absolute;top:-9999em;">
<span<br>itemprop="name">Metro Manhattan Office Space</span<br>
<img< p="">But the above refers to schema" so is this really duplicate H1 or is there an exception if the H1 is within a schema?
Also, I was told that the company street address and city and state were set up incorrectly as part of an alt tag. However these items also appear as schema in lines 49-68 shown below:
Dangerous for me to perform surgery on the code without being certain about these key items!! Could ask my developer, however they may be uncomfortable considering that they set this up in the 1st place. So the view of neutral professionals would be highly welcome!
itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span<br>itemprop="streetAddress">347 5th Ave #1008
<span<br>itemprop="addressLocality">New York
<span<br>itemprop="addressRegion">NY
<span<br>itemprop="postalCode">10016<div<br>itemprop="brand" itemscope itemtype="http://schema.org/Organization">
---------------------------------------------------------------------------</div<br></span<br></span<br></span<br></span<br></img<> -
For suggestion 1, I should clarify that you already are using Microdata. Your Microdata is repeating what is already in the page, rather than "tagging" your existing content inline. Microdata is a good tool to use if you are able to tag pieces of content as you are communicating it to a human reader; it should follow the natural flow of what you are writing to be read by humans. This guide walks you through how Microdata can be implemented inline with your content, and it's worth reading through to see what's available and how to step forward with manual implementation of Schema.org with confidence.
Will these solutions remove the duplicate H1 tag?
Whatever CMS or system you are using to produce the hidden microdata markup needs to be changed to remove its attempt entirely. The markup of the content itself is good, but it needs to be combined in with existing content or implemented with JSON+LD so that it is not duplicating the HTML you are showing the user.
Are these options relatively simple for an experienced developer? Is one option superior to the other?
Both should be, but it depends on your strategy. Are you hand-rolling your schema.org markup? Is somebody going into your content and wrapping the appropriate content with the correct microdata? This can be a pain in the butt and time-consuming, especially if they're not tightly embedded with your content production team.
I downloaded the HTML and reviewed the Microdata implementation. I don't mean to sound unkind but it looks like computer-generated HTML and it's pretty difficult to read and manipulate without matching tags properly.
Is one option superior to the other?
Google can read either without issue; they recommend JSON+LD (source).
In your case, I'd also recommend JSON+LD because:
- Your investment in Microdata is not very heavy and appears easy enough to unwind
- The content you want to show users isn't exactly inline with the content you want read by crawlers anyway (for example, your address isn't on the page and visible to readers)
- It's simple enough to write by hand, and there exist myriad options to embed programmatically-generated schema.org content in JSON+LD format
Please review this snippet comparing a Microdata solution and a JSON+LD solution side by side.
PLEASE DO NOT COPY AND PASTE THIS INTO YOUR SITE. It is meant for educational and demonstrative purposes only.
There are comments inline that should explain what's going on: https://gist.github.com/TheDahv/dc38b0c310db7f27571c73110340e4ef
-
Hi Again:
Will option #1 (keeping existing microdata) remove the duplicate h1 tag? Your suggestion listed below:
"So, wherever the
tag with the company name lives that is rendered and shown to the user, ad the "LocalBusiness" itemscope to the parent tag that surrounds it and its content. Basically you'd merge your Schema.org code with the user-facing content"
-
Hi David:
Schema was added to the site discretely provide location data to Google.
You suggested 2 potential solutions:
1. Use Microdata...
2. Use JSON+LD..
Will these solutions remove the duplicate H1 tag?
We are concerned that the low rank of our URLs (80% are 1) are caused by duplicate H1s on each page.
Are these options relatively simple for an experienced developer? Is one option superior to the other?
Thanks for your patience in explaining these options, my programming understanding is limited.
Alan -
I see that you're using CSS to get that markup into the page, but definitely not visible to the user. Am I interpreting that right? If so, it seems like your goal is to get some Schema.org tags into the page to mark up your content as a LocalBusiness.
I have 2 ideas for you:
Use microdata (the markup format you're using now) to mark up your tags inline with your existing content. So, wherever the
tag with the company name lives that is rendered and shown to the user, ad the "LocalBusiness" itemscope to the parent tag that surrounds it and its content. Basically you'd merge your Schema.org code with the user-facing content
Use JSON+LD markup instead. You can get the same information "repeated" but the JSON+LD markup isn't rendered for users. jsonld.com has a great page with a template you can copy and adjust to suit your business. If you go this route, remove the microdata-laden HTML hidden off the page with the inline CSS and replace it with the JSON+LD wrapped in . Google also has some great documentation around the LocalBusiness type.
Hope that helps!
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
-
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?
Intermediate & Advanced SEO | | bherman0 -
How to find correct schema type
Dear Moz members, I m currently working on schema optimizations of my website casinobesty.com which review online casino websites. I have a doubt which schema itemReviewed type I have to use in the review pages. Currently I m using type as "Game" but I m not sure it is correct. "description": "",
Intermediate & Advanced SEO | | CongthanhThe
"itemReviewed": {
"@type": "Game",
"name": "LeoVegas Casino",
"url": "https://casinobesty.com/casino/leovegas-casino/"
}, Thank you1 -
How does educational organization schema interact with Google's knowledge graph?
Hi there! I was just wondering if the granular options of the Organization schema, like Educational Organization (http://schema.org/EducationalOrganization) and CollegeOrUniversity (http://schema.org/CollegeOrUniversity) schema work the same when it comes to pulling data into the knowledge graph. I've typically always used the Organization schema for customers but was wondering if there are any drawbacks for going deep into the hierarchy of schema. Cheers 😄
Intermediate & Advanced SEO | | Corbec8880 -
Allowing correct crawlers for GeoIP Redirect
Hi All, I am working on an international site and we have started running into issues with crawlers successfully crawling the site. GeoIPEnable On Redirect one country RewriteEngine on
Intermediate & Advanced SEO | | michaelpw
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$
RewriteCond %{HTTP:X-Host} !.nexcesscdn.net$ [NC]
RewriteRule ^(.)$ https://us.website.com/ [R,L] The main reason for working on a hard GEOIP redirect would be that we are unable to show certain products in certain regions, the customer should not be given the option which is best practice. Can anyone advise? Thanking in advance.0 -
Set Placeholder Page ASAP or Wait For Full Website?
It can take some time for a new business website to get picked up by all the search engines and indexed. Let's assume it's going to take a month to build your new full-fledged business website. Would it be advantageous in the mean time to immediately launch the domain with an introductory website using a template site so you might have just two pages, a home page with logo, title, brief description of pages, a couple images, etc and a contact page. Would this help give the site a "jump start" on being indexed? Or could that do more harm than good by putting up something "quick & dirty" versus the complete website with much more content, that has been SEO optimized?
Intermediate & Advanced SEO | | Jazee0 -
Schema.org snippet for thumbs up-down reviews
Hi guys, I'm deep into the Schema.org meta-tags implementation for the reviews on my website and I'd love to know how do you think I should implement it when I have Positive-Negative reviews as opposed to star ratings. I couldn't find a site that had this with schema tags for reference. Fiverr used to have thumbs up/down, but recently changed to star rating. On our services marketplace we allow users to review the providers they worked with and ask them for a positive-negative review - thumbs up/down with an additional open text area. I thought about adding a schema.org meta-tags like this: Lets assume one of our providers got two reviews, one is positive and the second is negative. So, first I thought about adding an aggregateReview meta-tag on top, just like this: And also add a meta-tag for any review, like this: Two days ago by
Intermediate & Advanced SEO | | ShaqD
Kareem Abdul-Jabbar
Joe is a great guy, I'd recommend him to my friends. Does that make sense? Has anyone had the chance to implement a schema.org meta tags for this kind of situation or familiar with a website who does it that way? Thanks so much for your help! Shaqd0 -
Schema.org Markup for Currencies in Multiple Countries.
Hello - Just getting in to a bit of Markup for rich snippets etc. This site sells from New Zealand , but our target market is Australia and most of our sales are there and we locate it there in Webmaster tools. Our Site changes currency / location automatically detecting IP Addresses. So -primarily I have a product with multiple variations on one page that I want to show offers in Google.com.au - in Australian Dollars Syntol Probiotic
Intermediate & Advanced SEO | | s_EOgi_Bear
90 caps $25AUD 180 Caps $50AUD 360 Caps 75AUD Here is the page http://www.return2health.net/syntol.html Ideas around that? Ideally I would like to add some country specific data to it I guess..?0 -
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