Codedication Schema Blocks
Structured data that lives with your content Most schema plugins park your structured data somewhere else: a metabox, a separate settings screen, a template file. The page says one thing, the markup says another, and nobody notices until a rich result quietly disappears. Schema Blocks works the other way round. You write the recipe, the FAQ, the product details or the job ad as blocks in the editor, and those same blocks emit the JSON-LD. What a visitor reads and what a search engine parses come from the same source, so they cannot drift apart. Nine blocks for the things people actually publish FAQ – questions and answers in a native accordion. Visitors get a real disclosure widget, machines get FAQPage / Question / Answer markup they can read. Review – review snippets with a 1-5 rating for products, books, movies, restaurants, local businesses or any Thing. Pros, cons, rating explanation, and book details (author, publisher, ISBN, page count, external identity URLs) when the reviewed item is a book. Recipe – recipe rich results built from inner blocks: ingredients, instructions and nutrition are content on the page, not hidden fields. Plus prep, cook and total time, yield, category, cuisine, keywords and rating. Product – product rich results with price, currency, availability, condition, SKU, GTIN and MPN, brand, manufacturer and aggregate rating. Event – event rich results with start and end dates, attendance mode, status, a physical or virtual location, organizer and ticket offers. Local Business – local business markup with subtype (Restaurant, Store, ProfessionalService and dozens more), address, geo coordinates, telephone, price range, cuisine served and opening hours. How-To – ordered steps with images, estimated cost, total time, tools and supplies, described in the page itself. Job Posting – job posting rich results with employment type, hiring organization, location, posting and validity dates, and base salary. Breadcrumb – breadcrumb markup generated from your site hierarchy, or a manual trail when the hierarchy does not match the story. Where the block is used it replaces the site-wide trail, so a page never emits two. Configure the site once The Settings screen holds everything that belongs to the whole site, with a live JSON-LD preview and a completeness ring next to it: Site Identity – Organization or Person, with name, logo, description, contact details, address, social profiles and founding year. WebSite – site name, alternate name, description, language and the search action. Breadcrumbs – the site-wide BreadcrumbList, with separator and home label. Content – map each public post type to Article, Blog posting or nothing. Posts default to Article, so a normal blog is marked up correctly the moment you activate the plugin. Blocks – switch off the blocks you do not use. They leave the inserter and stop emitting anything. Advanced – Wikidata ID, Wikipedia URL, legal name, VAT ID and employee count for organizations; job title, credentials and ORCID, LinkedIn or ResearchGate profiles for people; areas of expertise for either, emitted as knowsAbout. There is also a switch that suppresses the site-level nodes when another plugin already emits them. Validgraph – the optional validation connection described below. Your authors are people, not strings An author name typed into a field is text. An author entity is something a search engine can recognise across your site and beyond it. Every WordPress user gets a Schema – author profile section on their profile screen: Job title, honorific prefix, credentials and areas of expertise. sameAs URLs: LinkedIn, ORCID, Wikidata, a personal site. Where they studied (alumniOf) and which colleagues they work with, picked from the other authors who have a profile, so the Person nodes reference each other. An avatar override, and two opt-ins that tie the author to the site organization: member of it (worksFor) and founder of it. Those fields enrich the Person node referenced by every article that user writes, down to givenName and familyName taken from their WordPress first and last name. Their author archive is typed as ProfilePage, and the Organization node lists the authors who opted in as employee and founder: the full roster on the front page, the current author elsewhere. This is about being unambiguous, which is what E-E-A-T signals are made of. Nobody can promise you a ranking from it. Per-post control when the site-wide rule is wrong A Schema panel in the document sidebar overrides the defaults for a single post or page: Content type – Article, Blog posting, News article, or none, whatever the post type mapping says. Page type – About page, Contact page, Profile page, Item page or Collection page. There is also a smart rule you never have to configure: when the main content of a page is a schema block, that entity becomes the page’s mainEntity instead of a redundant Article node. One connected graph, not a pile of snippets The plugin prints a single containing one @graph. Inside it, every entity has a stable @id and references the others: the WebPage node points at the site identity and the WebSite, the article points at its author, the breadcrumb trail belongs to the page, and the primary image is a node instead of a bare URL. Posts mapped to Article carry the detail a machine needs to place them: the manual excerpt as description, the word count, the tags as keywords and every category in articleSection, alongside headline, dates, publisher, primary image and the author entity. Block-level entities join the same graph. A Recipe can take its author from the post author, an Event can name your Organization as the organizer, a Product can point its brand and manufacturer at the site identity, and a Local Business block can become the site identity rather than compete with it. Optional: check your work before you publish Connect a ValidGraph account under Settings and the editor gains a validation panel: a completeness score, an AI discoverability breakdown, rich-result eligibility, errors, range warnings and the recommended fields you have left empty, per schema on the page. A small indicator on each block shows its state, and a summary appears in the pre-publish panel. It is entirely opt-in and read-only. The API key is stored on your server and every call goes through a server-side proxy, so it never reaches the browser. Skip it and the plugin emits exactly the same markup, which you can check with the Google Rich Results Test and the Schema.org Validator. It sits beside your SEO plugin Schema Blocks is not an SEO plugin and does not want to replace one. It writes structured data; Yoast SEO, Rank Math, All in One SEO or The SEO Framework keep doing titles, meta descriptions, sitemaps and redirects. If another plugin already emits the same node type, the plugin tells you: a notice on the settings screen lists the conflicts it detects. From there you either disable that schema type in the other plugin, or use the Advanced switch to stop emitting the site-level nodes here. For developers The output is filterable at every level, and the extensibility contract (1.8.0) is documented and versioned: cddc_schema_faq_output, cddc_schema_review_output, cddc_schema_recipe_output, cddc_schema_product_output, cddc_schema_event_output, cddc_schema_local_business_output, cddc_schema_howto_output, cddc_schema_jobposting_output, cddc_schema_breadcrumb_output – the node each block emits. cddc_schema_blocks_graph_nodes – the whole @graph before it is printed. cddc_schema_blocks_author_person – enrich the author Person node. cddc_schema_blocks_page_content_type – override the content type per post in code. cddc_schema_blocks_identity_extra_schema, cddc_schema_blocks_organization_schema, cddc_schema_blocks_website_schema, cddc_schema_blocks_breadcrumb_schema – the site-level nodes. Schema_Graph::flag_main_entity(), Schema_Graph::ensure_author_person() and Schema_Graph::registered_identity_id() are public seams for add-ons. The editor toolkit used by the blocks is exposed on window.cddcSchema.ui, so an add-on can build cards that look native. Blocks are registered from block.json, rendered server-side, and the FAQ accordion uses the Interactivity API with no jQuery and no custom front-end framework. Privacy The plugin generates and prints JSON-LD on your own server. Nothing is sent anywhere unless you connect a ValidGraph account with your own API key, and until you do, no request leaves your site.
Top keywords
- schema32×2.35%
- page18×1.32%
- blocks17×1.25%
- cddc16×1.18%
- cddc schema16×1.18%
- author14×1.03%
- site12×0.88%
- output10×0.73%
- schema blocks9×0.66%
- type9×0.66%
- article8×0.59%
- graph8×0.59%
TablePress – Tables in WordPress made easy
Boost your website with feature-rich tables that your visitors will love! TablePress is the most popular and highest-rated WordPress table plugin. Easily create, edit, and manage beautiful and modern data tables, from simple price lists to searchable directories, product and model tables, inventories, schedules, and research datasets. Add live sorting, pagination, searching, and other interactive features that help visitors find what they’re looking for on any device. Use any type of data and enrich your tables with images, links, and even math formulas. Import and export tables from/to Excel, CSV, HTML, and JSON files or URLs, including spreadsheet data from Google Sheets, Excel Online, and files stored on Dropbox or OneDrive. Embed tables into posts, pages, or other site areas using the block editor, an Elementor widget, or Shortcodes. All with no coding knowledge needed! Even more great features for you and your site’s visitors and priority email support are available with a Premium license plan of TablePress. Go check them out! Common use cases TablePress will handle a wide range of tables, from simple price lists to searchable directories and large datasets. Popular examples include: Product and model tables Service and price lists Directories and listings Schedules and timetables Participant and member lists Inventories and collections Comparison tables Research and statistical data Accessible and SEO-friendly tables TablePress creates accessible HTML tables whose content can be searched by visitors, WordPress search, and search engines alike. Interactive features like sorting, filtering, and pagination include accessibility enhancements for screen readers and other assistive technologies. This makes it easy for visitors to find relevant information, whether they are browsing a large directory, searching a product table, or using your site’s search function. More information Visit tablepress.org for more information, take a look at example tables, or try TablePress on a free test site. For latest news, follow @TablePress on Twitter/X or subscribe to the TablePress Newsletter. How to use TablePress After installing the plugin, you can create and manage tables on the “TablePress” screen in the WordPress Dashboard. To insert a table into a post or page, add a “TablePress table” block in the block editor or a widget in the Elementor page builder and select the desired table or use Shortcodes with other page builders. Beginner-friendly step-by-step tutorials, guides, and how-tos show how to achieve common and popular tasks with TablePress. You can find examples for common styling changes via “Custom CSS” code on the TablePress FAQ page. You may also add features like sorting, pagination, searching, filtering, alternating row colors, row highlighting, and more by enabling the corresponding options on a table’s “Edit” screen. Premium features Need additional functionality for larger tables or advanced use cases? Premium license plans for TablePress add features such as: Options for responsive tables Advanced filtering and search Fixed table headers and columns Automatic periodic imports Custom styling options And much more Priority email support is also included. Check out the details on the TablePress website.