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:
og:title, og:description, og:image, og:url, og:type, og:site_name) with per-page overrides.summary_large_image) tags using the same data.BlogPosting schema for posts when no manual JSON-LD is provided, referencing your site’s #person and #website entities.What it does NOT do:
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 to page and post).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;
} );
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 the me_seo_default_og_image filter).Paste a raw JSON-LD object into this field. The plugin will:
@context or @graph key is present.<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.
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