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.
Navigation
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
- Publish or update the page.
- 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.
- 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.