MarkExcell Meta Tags and Structured Data
MarkExcell Meta Tags and Structured Data is a lightweight plugin for WordPress sites that need precise control over their on-page SEO metadata without installing a full SEO suite.
Every feature is controlled from a pair of meta boxes that appear directly on the page or post edit screen, keeping everything in context.
What it does:
- Adds a custom title tag per page or post, with a fallback to the WordPress default (post title + site name).
- Adds a custom meta description, falling back to the post excerpt, then the site-wide tagline.
- Outputs Open Graph tags (
og:title,og:description,og:image,og:url,og:type,og:site_name) with per-page overrides. - Outputs Twitter Card (
summary_large_image) tags using the same data. - Provides a freeform JSON-LD structured data field for any page or post, with JSON validation on save and a clear error message if the JSON is malformed.
- Auto-generates a
BlogPostingschema for posts when no manual JSON-LD is provided, referencing your site’s#personand#websiteentities.
What it does NOT do:
- No settings pages, no dashboard widgets, no telemetry.
- No sitemap generation.
- No keyword analysis or content scoring.
- No redirection management.
Important: Do not run this plugin alongside a full SEO plugin (Yoast SEO, Rank Math, All in One SEO, etc.) — you will get duplicate title tags and meta tags in your <head>.
For developers:
Three filters let you customise the site-wide defaults without editing the plugin:
me_seo_default_description— override the fallback meta description.me_seo_default_og_image— set a site-wide default OG image URL.me_seo_post_types— add additional post types to show the meta boxes on (defaults topageandpost).
Example:
add_filter( 'me_seo_default_description', function() {
return 'Your custom site-wide description here.';
} );
add_filter( 'me_seo_default_og_image', function() {
return 'https://example.com/wp-content/uploads/default-share.png';
} );
// Add meta boxes to a custom post type called 'project'
add_filter( 'me_seo_post_types', function( $types ) {
$types[] = 'project';
return $types;
} );
Usage
SEO: Title, Description & Open Graph meta box
Title tag Enter the exact string you want to appear in the browser tab and search results. Leave blank and WordPress will use its default format: Post Title – Site Name.
Recommended length: 60 characters or fewer.
Meta description The sentence or two that appears beneath your page title in search results. Leave blank to fall back to the post excerpt; if there is no excerpt, the site-wide default description is used.
Recommended length: 120–160 characters.
Open Graph overrides These three fields let you set different text and image for social sharing without changing the SEO fields above — useful when the ideal tweet wording differs from the ideal title tag.
og:title— leave blank to inherit the title tag value.og:description— leave blank to inherit the meta description.og:image URL— paste the full URL of a 1200×630 px image. Leave blank to use the post’s featured image; if there is no featured image, the site-wide default OG image is used (set via theme_seo_default_og_imagefilter).
Structured Data (JSON-LD) meta box
Paste a raw JSON-LD object into this field. The plugin will:
- Validate that the JSON is well-formed.
- Check that a top-level
@contextor@graphkey is present. - Re-encode and store the canonical form on save.
- Output it as a
<script type="application/ld+json">block in<head>on the front end.
If the JSON fails validation, an error message is shown at the top of the meta box and the previous valid value is kept — your live schema is never broken by a typo.
Do not include the surrounding <script> tags — paste the JSON object only.
For posts where this field is left empty, the plugin automatically generates a BlogPosting schema using the post title, description, published/modified dates, featured image, and author/publisher references pointing to your site’s #person and #website entities.
Fallback chain summary
Field Primary Secondary Tertiary
Title tag SEO title field WordPress default (title + site name) —
Meta description Description field Post excerpt Site tagline / filter default
og:title OG title field SEO title field WordPress default title
og:description OG description field Meta description (resolved above) —
og:image
OG image URL field
Featured image
me_seo_default_og_image filter