Title: CitedBy SEO Fields
Author: seofields
Published: <strong>Oktòb 12, 2026</strong>
Last modified: Oktòb 12, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/citedby-seo-fields.svg)

# CitedBy SEO Fields

 By [seofields](https://profiles.wordpress.org/seofields/)

[Download](https://downloads.wordpress.org/plugin/citedby-seo-fields.0.4.0.zip)

 * [Details](https://hat.wordpress.org/plugins/citedby-seo-fields/#description)
 * [Reviews](https://hat.wordpress.org/plugins/citedby-seo-fields/#reviews)
 * [Development](https://hat.wordpress.org/plugins/citedby-seo-fields/#developers)

 [Support](https://wordpress.org/support/plugin/citedby-seo-fields/)

## Description

Keeps an SEO title and a meta description for each published page and post, and 
prints them
 in the page head: the title in the title tag, the description in one
meta description tag. A page with no SEO title keeps the title WordPress gives it.
A page with no description gets no description tag.

It can also keep one business schema block for a page or post: a schema.org LocalBusiness(
or
 a more exact kind, such as Plumber) with the business’s name, phone, address,
area served, website and profile links. It prints it as one JSON-LD script in that
page’s head. Nothing else can go in the block: no reviews or ratings, no other kinds
of schema.

It is made for sites with no other SEO plugin. While another SEO plugin is active,
or a theme
 with SEO built in, it prints no title or description. A theme that prints
its own title tag stops the title and description only.

The business block works with no SEO plugin, printed as its own script, and with
Yoast SEO
 (version 20 or later, without Yoast Local SEO), placed inside Yoast’s
own schema through Yoast’s public filter. When Yoast’s schema names the same business,
that entry is given the business type, phone, address and area, and keeps its own
name exactly as written; otherwise the block is added as its own entry. Names count
as the same when they differ only in capitals, in apostrophes, full stops or commas,
in “&” against “and”, in spacing, or by one closing Ltd, Limited, LLP or PLC. It
is left out whenever the page’s schema already holds a local business, or Yoast’s
entry names a different business, or already has a phone, address or area. With 
any other SEO plugin or an SEO theme, it prints no block and will not store one.

It does not import anything from another SEO plugin.

It never changes a page’s content, its own title, a menu or a theme file. It adds
no admin
 screen and contacts no outside server.

Switched off, it prints nothing and keeps what it stored. Deleted, everything it
stored is
 removed. A page or post deleted for good takes its business block with
it.

Asked for its fields by page or post id, it reads each one directly, so another 
plugin’s
 query filter cannot leave one out. The full list, asked without ids, goes
through WordPress’s own query: with a language plugin it may hold one language only.

### The service that fills it in

This plugin is the WordPress side of CitedBy (https://citedby.co.uk), a paid service
for UK
 local businesses. CitedBy works out the SEO title, meta description and 
business block for a page, and sends them to this plugin through the WordPress REST
API. It uses an application password that an administrator of the site creates and
gives to CitedBy.

CitedBy calls the site; the plugin never calls CitedBy or any other outside server.
What CitedBy
 sends: a page or post id and the title, description or business block
for it. What it reads back: what the plugin holds for that page, its version, and
whether another SEO plugin stops it printing.

Any tool holding an administrator’s application password can use the same calls.
CitedBy is the
 one it is made for.

CitedBy’s terms: https://citedby.co.uk/terms
 CitedBy’s privacy policy: https://
citedby.co.uk/privacy

## FAQ

### How are the fields filled in?

Through two REST API calls at `/wp-json/seo-fields/v1/seo_fields`: GET reads the
stored
 fields, POST writes them. Both need a user who can manage the site’s options;
a write also needs that user to be allowed to edit the page or post. They are meant
for CitedBy, which the site owner connects with an administrator’s application password.
The plugin adds no screen of its own.

### What if a field is changed while a write is on its way?

A write can say what it expects each field to hold now. The field is then written
only while it
 still holds exactly that, checked by the database in the same step
as the write. If anyone has changed it since, nothing is written and the answer 
says so, with what the fields hold now. The read says `conditional_write: true` 
when the plugin supports this.

### How is the business block filled in?

Through `/wp-json/seo-fields/v1/schema`, with the same rights as the fields. Every
write names
 the revision it read, and is done only while the block still holds 
exactly that, checked by the database in the same step as the write. Each page’s
block is one row in the options table, named `citedby_seo_fields_schema_` and the
page id, so two writers filling an empty block at the same moment cannot both win.
An undo puts back the block that write replaced, or removes the block if that write
created it, and only while the block still holds exactly what that write stored.

### Which pages can hold them?

Published pages and posts with no password. A page WordPress never shows as itself,
such as a
 WooCommerce shop page, is refused, since nothing stored for it could 
print.

### Does it work on a multisite network?

Not in this version. On a network it registers nothing and prints nothing.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CitedBy SEO Fields” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ seofields ](https://profiles.wordpress.org/seofields/)

[Translate “CitedBy SEO Fields” into your language.](https://translate.wordpress.org/projects/wp-plugins/citedby-seo-fields)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/citedby-seo-fields/),
check out the [SVN repository](https://plugins.svn.wordpress.org/citedby-seo-fields/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/citedby-seo-fields/)
by [RSS](https://plugins.trac.wordpress.org/log/citedby-seo-fields/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.4.0

 * Every function, constant and stored name starts with citedby_seo_fields_, so 
   none can clash with another plugin. Values stored by earlier versions are moved
   to the new names once.
 * The title and description are printed with WordPress’s own escaping; the business
   block with wp_json_encode’s own escaping kept.
 * Prints nothing while this plugin under its old name, SEO Fields, is active.

#### 0.3.3

 * Preserve empty schema revisions after Undo and refuse stale retries.
 * Preserve recovery of earlier changes; new approvals only fill an empty schema
   slot.

## Meta

 *  Version **0.4.0**
 *  Last updated **21 è ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/citedby-seo-fields/)
 * Tags
 * [local business](https://hat.wordpress.org/plugins/tags/local-business/)[meta description](https://hat.wordpress.org/plugins/tags/meta-description/)
   [schema](https://hat.wordpress.org/plugins/tags/schema/)[seo](https://hat.wordpress.org/plugins/tags/seo/)
   [title](https://hat.wordpress.org/plugins/tags/title/)
 *  [Advanced View](https://hat.wordpress.org/plugins/citedby-seo-fields/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/citedby-seo-fields/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/citedby-seo-fields/reviews/)

## Contributors

 *   [ seofields ](https://profiles.wordpress.org/seofields/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/citedby-seo-fields/)