Where to put schema.org tags in HTML page? - seo

Where should I put schema.org tags?
I have 3 options:
at detail page of article
at category page where are articles of
category
at search page
Should I put schema.org tags on all these pages or?

You can use Schema.org on all pages.
Various consumers might find it useful. Why should they have to visit a specific page to see your Schema.org markup for content they already see?
Just make sure that you don’t create several items for the same thing on the same page, unless you denote them as being about the same thing (e.g., with Microdata’s itemid or by using the same subject URI in RDFa).
You could use mainEntity/mainEntityOfPage to denote which item the page is primarily about.

Related

Multiple Schema.org markups on a single page

We have several Schema.org items on a single page. For example, a category page has BreadcrumbList markup to show navigation and ItemList markup to show products. A product page has Product markup plus BreadcrumbList markup and (sometimes) several ItemLists (upsells and crossells). ListItems are always Product markup.
Some are implemented as <script type="application/ld+json"> and some are inline markups.
Structured Data Testing Tools show no error or warning.
All these markups are unrelated (physically) to each other. That is they are not included in a single "GlobalPage" markup.
Is it correct to include several markups on a single page?
In fact I used Microdata all the time and I think it is more "natural" but after GWT (now Search Console) showed the only "correct" example for product I change it to ld+json format (w/out seo improvement). SDTT means nothing. GWT still shows "Start with..." even if everything were 5* for years.
I understand that no true answer may exist (untraceable route of Google) but I want to hear an expert opinion on the subject.
Yes, it’s fine to describe multiple entities on the same page. But, if possible, you should use properties to relate these entities.
For your examples:
For a category page, you can use CollectionPage and its properties breadcrumb (for the BreadcrumbList entity) and mainEntity (for the ItemList entitiy that contains the products).
For a product page, you can use ItemPage with the same properties, but here the mainEntity property references a Product entitiy as value. Schema.org also defines properties for related products (but they don’t expect an ItemList as value).
If using different syntaxes on the same page (e.g., JSON-LD and Microdata) this becomes harder; you would have to define a URI for each entity (in JSON-LD with #id, in Microdata with itemid) and reference these URIs as values for the properties. If using only one syntax, you can simply nest the entities.

SEO - Submitting Search results page URLs of the website with parameters ... Good or duplicate content?

I have 100 dance classes offered by different people on the page x.com/dance-classes.
Each page only lists 20, so you navigate through 5 pages to see "ALL" the dance classes.
x.com/dance-classes
(with a Title, some content describing the results that are displayed on the page and then the results. Results are "ALL DANCE CLASSES" targeting keywords like "Dance classes")
user searches for dance classes for kids/adults from google
x.com/dance-classes?for=kids
(with a different title, results that are may/maynot have been on the /dance-classes page, results are for "ALL DANCE CLASSES FOR KIDS")
http://x.com/dance-classes?for=adults
(with a different title, results that are may/maynot have been on the /dance-classes page, results are for "ALL DANCE CLASSES FOR ADULTS")
Duplicate content?
I want google to index all three URLs as they specifically aim at different sets of keywords. So, rel=canonical is not an option.
This blog by Matt Cutts talks about something relevant to my case. Should i be worried?
https://www.mattcutts.com/blog/search-results-in-search-results/
Your x.com/x?=x is not friendly for SEO. It would be better to change your URLs to this type:
x.com/dance-classes/kids , x.com/dance-classes/adults
Or you can use jQuery and anchor text.
For example:
x.com/dance-classes#Adults , x.com/dance-classes#kids
In the first type, you can set a focus keyword for any page, but I don't know about jQuery and anchor text.

Schema microdata: Is it damaging to reference an item that is only present on some pages?

I'm building a WordPress theme. The LocalBusiness entity is stated in the header of the website (present on every page). I would like to "itemref" the business description, which is only present on the home page. I can put the reference in and it will work on the home page, but on every other page there will be a reference to a non-existent item. Is this a bad thing or not?
The itemref attribute can only be used for referencing elements from the same document.
What to do instead?
You could duplicate the description on each page. If you don’t want to have it as visible content, you could use a meta element.
You could omit the description on the additional pages.
You could (and should anyway) provide the url for the item (typically the homepage, if the whole site is about this business), and hope that consumers interested in this item will follow the URL to learn more about it (so they would find the description).

Canonical tag for content split across multiple pages

We have pages which have been split into multiple pages as they are too in depth. The structure currently...
Page (www.domain.com/page)
We have split this up like so...
Page + Subtitle (www.new-domain.com/page-subtitle-1)
Page + Subtitle (www.new-domain.com/page-subtitle-2)
Page + Subtitle (www.new-domain.com/page-subtitle-3)
I need to know the correct way of adding in multiple canonical tags on the original page. Is it search engine friendly to add say 3/4 canonical tags linking to 3/4 separate pages?
Well, this is what you should do -
Keep the complete page even if you are dividing into component pages.
Use rel="next" and rel="prev" links to indicate the relationship between component URLs. This markup provides a strong hint to Google that you would like it to treat these pages as a logical sequence, thus consolidating their linking properties and usually sending searchers to the first page.
In each of the component pages, add a rel="canonical" link to the original (all content) page. This will tell google about the all content page.
This strategy is recommended by google - read here.
Canonical tags are basically to consolidate link signals for duplicate or similar content. With that said, you are not supposed to have multiple canonical tags in a page. You have two options.
If your old page is going to go away, then you should pick one primary page(in the split pages) and do a 301 redirect, so the SEO value are carried over to that new primary URL.
If its going to stay, you can create internal links to the new pages. But make sure the content is different, so that it does not count as duplicate pages.
Hope this helps.

How do I make primary content in the right-rail SEO friendly?

My site design has three rails: navigation on the left, user generated discussions in the center (liquid), and a primary editorial block in the right rail (no advertising). So, an article would be published by me and appear at the top of the right rail, and user comments would appear in the center rail.
I want search engines to see the right rail content as the primary content, and so the meta description for each page would be related to the right rail.
Is it possible to do this in an SEO friendly way?
[Note: an SEO consulting firm have implied to my boss that web crawlers only "care about the center rail", and if the meta information disagrees with center rail content they will ignore the page]
Search engines cannot see the page the way human users do. Search engines see just the html code of the page, so they cannot distinguish between left, center or right rails. They do, however, have a sense of were the header, the body and the footer of a page is.
When it comes to the body of a page, search engines tend to give more relevance to text which closer to the the top. So if you can have a block of text at the top of your html source, move it visually with CSS somewhere lower on the page, and still (probably) remain more relevant than other blocks of text.
However, there is no way to specify to search engines what your "primary content" of a page is. Search engines determine the relevancy of a page in relation to keywords based on a lot of different on-page signals, so you should focus on those.
As for the meta description, your boss should choose the SEO consulting firms more carefully, as what they recommended is actually a nonsense. Meta descriptions are only used (eventually) by Google (for example) to generate the snippet for your pages in search results. They have no value when in comes to rankings.
Here's two SEO facts regarding meta descriptions that come directly from Google: Seo Fact NO.3, Seo Fact NO.4
Positioning of visible content on a page is handled using CSS.
There's a number of different approaches available from using float to position:absolute etc. For SEO purposes, there's no single-best approach, as long as you have your article content appear closest to the <body> tag, before the other "rails" or "columns".