RRR makes structured data for WordPress really rich, and really easy.

Overview

Really Rich Results - JSON-LD Structured Data (Google Rich Results) for WordPress

Really Rich Results Banner

Search engines are putting more weight on structured data than ever before. By leveraging JSON-LD schema markup as part of your SEO strategy, a whole world of opportunities arise within Google's Rich Results.

Really Rich Results works with your WordPress site's existing content to quickly and accurately generate JSON-LD schema markup with minimal effort required. In addition to generating markup for the primary content on the page, Really Rich Results also detects any additional child elements that are being displayed, such as related content, products, page context, and more.

In addition to a large library of standard patterns that are automatically recognized, Really Rich Results offers limitless customization to fit your unique needs. Whether you're customizing your structured data from within the GUI or by providing your own custom code, Really Rich Results has you covered.

RRR makes structured data for WordPress really rich, and really easy.

Installing

Just jump over to the Releases page, download the plugin zip, and install it on your WordPress site.

Building

The instructions below are for building from the GitHub repository. If you'd like to try out a pre-packaged version, see the releases.

Requirements

  • Yarn
  • Composer

Compiling for Development

  1. Clone the plugin.
  2. Run a composer install.
  3. Run yarn install.
  4. Run yarn start to build the development bundle.
  5. Activate.

Compiling for Release

If you just want to download the latest release, see releases.

  1. Clone the plugin.
  2. Run yarn install
  3. Run yarn build:dist

Extending

TODO

How it works

Quick rundown of how it works:

  1. Main functionality exists inside src/Main.php.
  2. First it hooks into the wp action to check for the primary content.
  3. Next, it hooks into the the_content hook to collect any posts being displayed. Those collected posts are detected, used to create a data source, and added to Main::$found_posts.
  4. Data sources are then used to create schema objects. They can be either auto-detected or defined manually by passing a schema object and the data source through Schema::build_schema()
  5. Finally, they're output through a wp_footer action. By this time, we should have all the posts we need to build any schema.

General locations for things are as follows:

  • really-rich-results.php: Just loads up the autoloader and inits src/Main.php
  • src/Common.php: Other stuff. Mostly helper functions.
  • src/Main.php: Main functionality. Basically a controller. Collects queried posts, hands them off to wherever they need to go, stores objects, and outputs.
  • src/Admin/: Houses any WordPress admin tasks, such as settings pages.
  • src/Schema/: Transforms data sources into structured data schema objects. Files are named according to the schema type and inherit their parent schema. Follows the schema.org spec.
  • src/Data_Sources/: Various data sources. Helps translate schema properties from different types of content.
  • src/Content_Types/: Handles various content types that might need to handle a data source or group of data sources differently than normal. For example, archive pages that contain an ItemList of Article schema objects inside another main CollectionPage schema object.
  • src/Factories/: Factories for generating schema and content type objects.
  • src/Routes/: Contains REST API routes.
  • assets: Various JS, SCSS, and image assets.
  • tests: Codeception tests.

Contributing

Pull requests or issue reports are always welcome. Please be sure to run the PHPCS ruleset at phpcs.xml before submitting a pull request.

You might also like...
ConFOMO is a simple tool that makes it easy to track your friends at conferences.
ConFOMO is a simple tool that makes it easy to track your friends at conferences.

Connecting your online community with the real world, one conference at a time. Built in 4 hours to help me track who I wanted to meet at Laracon 2014

Melek Berita Backend is a service for crawling data from various websites and processing the data to be used for news data needs.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Makes water in cauldrons boil when there's fire under it and allows players to cook food in the boil

BoilingCauldrons Makes water in cauldrons boil when there's fire under it and allows players to cook food in the boil • Description • Planned Features

This package is used to validate the telephone numbers of the countries taken into account. It also makes it possible to verify that a number is indeed a number of an operator X

phone-number-checker This package is used to validate the telephone numbers of the countries taken into account. It also makes it possible to verify t

Magento extension which makes it impossible for a customer to log in until the account has been activated by the administrator.

This Magento 1 extension is orphaned, unsupported and no longer maintained. If you use it, you are effectively adopting the code for your own project.

Makes indexing of your Magento store around x times faster! ‼️ Maintainers wanted!

FastIndexer This module has never been used in production. No more empty results in the frontend due to a long taking reindex process! Integrates seam

This extensions makes it possible to modify the TCA of container children elements

This extensions makes it possible to modify the TCA of container children elements

WARNING! This software is currently non-functional. - A system which makes installing Jexactyl far, far easier.
WARNING! This software is currently non-functional. - A system which makes installing Jexactyl far, far easier.

Jexactyl Assistant A system which makes installing Jexactyl far, far easier. WARNING 🚧 This software is currently in heavy alpha testing and WILL NOT

Import data from and export data to a range of different file formats and media

Ddeboer Data Import library This library has been renamed to PortPHP and will be deprecated. Please use PortPHP instead. Introduction This PHP library

Comments
  • Product schema error and Organization Name out put issue

    Product schema error and Organization Name out put issue

    Hi Jeff,

    Thank you for such a fast and lightweight plugin.

    Issue 1 Hi, I’m getting errors with one of my article pages we enabled Product schema but decided to remove it. The problem is that even though we disabled the Product schema and it still outputs it when you inspect the URL. Google Search Console is also showing a critical error for that page schema. Here's the page: onlinebusinessconsultants.net/wordpress-seo-tips-and-checklist/

    Issue 2

    When you add the name of the Organization in the plugin setting. It is not showing them on the output.

    Can you please let me know how to resolve these problems?

    Thanks again for such a cool plugin.

    opened by onlinebizconsulting 0
Releases(0.1.3)
Owner
Pagely
Managed WordPress Hosting
Pagely
WordPlate is a wrapper around WordPress. It makes developers life easier. It is just like building any other WordPress website with themes and plugins. Just with sprinkles on top.

WordPlate is simply a wrapper around WordPress. It makes developers life easier. It is just like building any other WordPress website with themes and plugins. Just with sprinkles on top.

WordPlate 1.7k Dec 24, 2022
Fact Extraction and VERification Over Unstructured and Structured information

Repository for Fact Extraction and VERification Over Unstructured and Structured information (FEVEROUS), used for the FEVER Workshop Shared Task at EMNLP2021.

Rami 49 Dec 9, 2022
Build lightning-fast and feature-rich websites with ProcessWire.

WIREKIT Core Build lightning-fast and feature-rich websites with ProcessWire. Website: wirekit.dev (in plans) Demo: start.wirekit.dev/core/ Updates: W

Ivan Milincic 10 Nov 3, 2022
Hoa is a modular, extensible and structured set of PHP libraries

Hoa is a modular, extensible and structured set of PHP libraries. Moreover, Hoa aims at being a bridge between industrial and research worlds. Hoa\Ust

Hoa 403 Dec 20, 2022
Smd tags - A Textpattern CMS plugin for unlimited, structured taxonomy across content types.

smd_tags Tag articles, images, files and links with stuff, then use the public-side tags to display the lists, filter or find related content. Feature

Stef Dawson 4 Dec 26, 2022
Demo of symfony/console features to build rich command line utilities

Symfony Console Demo This project is a demonstration of symfony/console features. To run the project with Docker. With bash: docker build -t myconsole

Jérôme Tamarelle 3 Jun 16, 2022
Utilities for the Contentful Rich Text

rich-text.php This library is built to help you with the parsing and rendering of the rich text field type in Contentful. It requires PHP 7.2 and up o

Contentful 8 Oct 1, 2022
PHP bundle which makes array traversing / inserting dead easy.

XTraverse.php This bundle makes it dead easy to traverse through nested arrays/objects in PHP. Installation Via Composer composer require phiil/xtrave

Philipp Martini 2 Feb 12, 2022
This package makes it easy to add early access mode to your existing application.

This package makes it easy to add early access mode to your existing application. This is useful for when you want to launch a product and need to gat

Neo 174 Nov 26, 2022