Skip to main content
Signocore
// signocore seo docs

Structured data

Set up your organization details and let Signocore SEO build one connected schema.org graph for every page.

Signocore SEO adds structured data to every page as one connected schema.org graph in JSON-LD. The nodes refer to each other, so search engines see which organization publishes the site, which page they are on and what the page is about.

Important: Structured data starts once you save Signocore SEO → Company or Signocore SEO → Social for the first time. Fill in your company details and click Save Changes, even if you change nothing else.

Company details

Go to Signocore SEO → Company. The same details are used in other places too, so fill them out completely.

Contact Information:

Field Default In the structured data
Company Name Your site title The organization's name
Address, Zip/Postal Code, City, Country Empty The postal address, added only when all four are filled in
Email Address The WordPress admin email email
Phone Number Empty telephone
VAT Number Empty vatID

C/O Address and Address Line 2 are stored with your details but are not part of the structured data.

General Information:

  • Company Image: a picture that represents your company. Without one, your site logo is used.
  • Opening Hours: one field per weekday, in 24-hour format such as 8:00-16:00. Leave a day empty when you are closed. Opening hours are only added when Organization Type is something other than Organization.

The organization also gets your site logo (from the theme's site logo, or the header image when there is no logo) and your site tagline as its slogan.

On a multilingual site, the company details, organization type and opening hours can hold one value per language. A field you leave empty in a language falls back to the primary language, and Copy from primary language copies a value over.

Organization type

Pick the most specific type in Organization Type. The list starts with Organization, LocalBusiness and general groups such as FoodEstablishment, LodgingBusiness, MedicalBusiness and Store, each with its own subtypes, for example Restaurant, Hotel, Dentist or BookStore. Any type other than Organization is output together with Organization.

When you pick FoodEstablishment or one of its subtypes, three more fields appear:

  • Cuisine: separate several with commas, for example Spanish, Italian.
  • Menu: the page that shows your menu.
  • Booking: check Customers can make reservations if you take bookings.

Under Navigation, choose a menu in Primary Navigation. Each menu item with a full URL is added to the graph as a site navigation element, which helps search engines understand the main sections of your site.

Article schema

Setting Default What it does
Article Post Types Posts Content types that are marked up as articles.
Article Type Article Article, BlogPosting (suits blogs) or NewsArticle (suits news publishers).

The article node holds the headline, publish and update dates, author, word count, comment count, featured image, tags as keywords and your organization as publisher. When comments are open, it also invites comments.

What each page contains

Every page gets these nodes:

  • WebSite, including your site search.
  • Organization, with your company details and social profiles.
  • BreadcrumbList, the same trail the breadcrumbs shortcode shows.
  • The page's main image: its featured image, its social image or the Default Social Image.
  • A node for the page itself.

On top of that, the page type decides the rest:

Page Page node Also added Added with Pro
Post of an article post type WebPage Article with its author A separate Person node for the author
Page WebPage, or the Schema Type you choose
Blog page, a front page that shows your latest posts, category, tag and other archives CollectionPage ItemList of the listed posts
Author archive ProfilePage, with the author as main entity ItemList and a Person node
WooCommerce product ItemPage Product with price, availability, ratings and reviews
Signocore FAQ entry WebPage FAQPage on the page node, and a Question node per question
Signocore Glossary term WebPage DefinedTerm

Schema type per post

Every post and page has a Schema Type field under Advanced SEO Settings in its SEO box. It is not shown for media, FAQ entries or glossary terms.

  • Default: the type Signocore SEO picks from the table above.
  • WebPage, ContactPage or AboutPage: adds that type to the page node.

For published posts, the field has links to Test in Google Rich Results and Inspect in Search Console.

Advanced types

Pro: This needs a Signocore SEO Pro license.

Pro adds six types, each with its own fields that appear when you select it. The type is added as its own node, built from the post title, the meta description (or the start of the content) and these fields:

Type Fields
Recipe Prep Time, Cook Time, Total Time (ISO 8601, for example PT15M), Yield, Calories, Ingredients and Instructions (one per line)
Event Start Date, End Date, Location Name, Location Address, Performer, Price, Currency
Course Provider Name, Provider URL, Price, Currency
JobPosting Company Name, Location, Min Salary, Max Salary, Currency, Employment Type, Date Posted, Valid Through
SoftwareApplication Operating System, Application Category, Price, Currency, Rating, Rating Count
VideoObject Thumbnail URL, Upload Date, Duration, Embed URL, Content URL

Currency fields take a code such as USD. Prices are only added when both price and currency are filled in.

FAQ and glossary markup

Pro: This needs a Signocore SEO Pro license.

Signocore SEO reads content from two other Signocore plugins:

  • Signocore FAQ: each FAQ entry becomes an FAQPage. The entry's title and text form one question, and each FAQ element block inside it adds another. FAQ element blocks placed in an ordinary post or page add FAQPage and their questions to that page too.
  • Signocore Glossary: each term becomes a DefinedTerm. The glossary page becomes a DefinedTermSet that lists up to 500 published terms, and each term points back to it.

WooCommerce products

Pro: This needs a Signocore SEO Pro license.

With Pro, each product gets a Product node with name, description, images, SKU, GTIN, brand, category, offers, rating and reviews, linked to the page node. WooCommerce's own structured data is turned off, so products are not described twice. Without Pro, WooCommerce keeps its own markup.

Custom JSON-LD

Pro: This needs a Signocore SEO Pro license.

The Custom JSON-LD field under Advanced SEO Settings adds your own nodes to a post's graph. It accepts one node, a list of nodes or an object with @graph. Any @context is removed, because the nodes join the existing graph, and nodes without @type are skipped.

{
  "@type": "Service",
  "name": "Furniture repair",
  "areaServed": "Portland, OR",
  "provider": { "@id": "https://example.com/#organization" }
}

The field shows Valid JSON or Invalid JSON while you type. Invalid JSON and anything over 20,000 characters is not saved. Only users with WordPress's unfiltered HTML permission can edit the field.

Social profiles

The URLs under Signocore SEO → Social → Social Profiles are added to the organization as its official profiles. Authors' profile links from the Contact Info section of their WordPress user profile are added to their Person node. See Analytics, verification and scripts for the rest of that page.

Test your structured data

  1. Publish or update the page.
  2. In the SEO box, open Advanced SEO Settings and click Test in Google Rich Results under Schema Type. You can also paste the URL into Google's Rich Results Test yourself.
  3. Check which rich results the page is eligible for and fix any errors the test reports.

The Rich Results Test only shows types Google uses for rich results. To see every node in the graph, use the Schema Markup Validator.

Developers can change the graph with wpsseo_schema_graph and the page types with wpsseo_schema_page_types.

Stuck on something the docs don't cover?

Questions go straight to the developer who builds the plugins. Replies usually within a day.

September Sale

€20 off Signocore SEO Pro

Pay €49 instead of €69, one time for unlimited sites. code SEP20