Pure OG Mopro
A lightweight WordPress plugin that automatically generates minimal Open Graph meta tags and featured image thumbnails for improved social media sharing.
by Mopro OÜ / Martin Orgla · github.com/martinorgla/pure-og-mopro · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/martinorgla/pure-og-mopro/archive/refs/heads/main.zipA lightweight WordPress plugin that automatically generates Open Graph and X/Twitter Card meta tags for improved social media sharing - no ads, no upsells, one database read per request.
Features
- Outputs a complete set of Open Graph meta tags on all singular posts, pages, and the front page
- Automatically uses the post's featured image, with a configurable site-wide fallback
- Includes image dimensions (
og:image:width,og:image:height) so social crawlers never need to pre-fetch the image - Sets
og:typecorrectly:articlefor posts,websitefor pages and the front page - Outputs article-specific tags (
article:published_time,article:modified_time,article:author,article:section) on posts - Outputs X/Twitter Card tags alongside Open Graph tags
- Adds OG namespace declarations to the
<html>element - Settings page under Settings → Pure OG with a media library picker for the default image
Requirements
| Requirement | Minimum |
|---|---|
| WordPress | 5.0 |
| PHP | 8.0 |
Installation
- Upload the
pure-og-moprofolder to/wp-content/plugins/ - Activate the plugin through Plugins → Installed Plugins
- Go to Settings → Pure OG to configure
Settings
| Setting | Description |
|---|---|
| Default OG Image | Image used when a post has no featured image. Select from the media library (recommended) or enter an external URL. Recommended size: 1200×630 px, JPEG/PNG/WebP, under 1 MB. |
| Description Length | Maximum character count for og:description. Range: 50–500. Default: 300. |
| X / Twitter Handle | Your X/Twitter username without @. Adds twitter:site to every card. |
| Facebook App ID | Adds fb:app_id to every page and enables Facebook Insights for your domain. |
Meta tags output
Open Graph (all supported pages)
<meta property="og:type" content="article">
<meta property="og:site_name" content="…">
<meta property="og:locale" content="…">
<meta property="og:title" content="…">
<meta property="og:description" content="…">
<meta property="og:url" content="…">
<meta property="og:image" content="…">
<meta property="og:image:width" content="…">
<meta property="og:image:height" content="…">
<meta property="og:image:alt" content="…">
<meta property="og:image:type" content="…">
<meta property="fb:app_id" content="…">
Article tags (posts only)
<meta property="article:published_time" content="…">
<meta property="article:modified_time" content="…">
<meta property="article:author" content="…">
<meta property="article:section" content="…">
X / Twitter Card (all supported pages)
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@…">
<meta name="twitter:title" content="…">
<meta name="twitter:description" content="…">
<meta name="twitter:image" content="…">
<meta name="twitter:image:alt" content="…">
Page type coverage
| Page type | og:type |
Article tags |
|---|---|---|
| Blog post | article |
Yes |
| Page | website |
No |
| Static front page | website |
No |
| Blog index (front page) | website |
No |
Blog index (custom URL, e.g. /blog/) |
website |
No |
Performance
All plugin settings are loaded with a single get_option() call and cached in memory for the duration of the request. Image dimensions are read from WordPress attachment metadata - no additional HTTP requests are made to determine image size.