From 61759ed36dcc345ea2f357322510237541c18f7f Mon Sep 17 00:00:00 2001 From: Matthias Pfefferle Date: Fri, 25 Sep 2026 09:51:12 +0200 Subject: [PATCH 1/7] optimize readme and meta descriptions --- opengraph.php | 2 +- package.json | 2 +- readme.md | 38 ++++++++++++++++++++++++++++---------- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/opengraph.php b/opengraph.php index 94aede3..9a66191 100644 --- a/opengraph.php +++ b/opengraph.php @@ -2,7 +2,7 @@ /** * Plugin Name: Open Graph * Plugin URI: https://wordpress.org/plugins/opengraph - * Description: Adds Open Graph metadata to your pages + * Description: Adds Open Graph metadata to your posts and pages so that they look great when shared on sites like Facebook and Twitter. * Author: Will Norris & Matthias Pfefferle * Author URI: https://github.com/pfefferle/wordpress-opengraph * Version: 3.0.1 diff --git a/package.json b/package.json index a16af4d..d18874d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wordpress-opengraph", - "description": "Adds Open Graph metadata to WordPress", + "description": "Adds Open Graph metadata to your posts and pages so that they look great when shared on sites like Facebook and Twitter.", "author": "Matthias Pfefferle", "license": "Apache-2.0", "devDependencies": { diff --git a/readme.md b/readme.md index 933a123..38005a6 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,7 @@ # Open Graph - Contributors: willnorris, pfefferle -- Tags: social, opengraph, ogp, facebook +- Tags: open graph, opengraph, social, facebook, twitter - Requires at least: 6.2 - Tested up to: 7.1 - Stable tag: 3.0.1 @@ -14,15 +14,13 @@ Adds Open Graph metadata to your posts and pages so that they look great when sh ## Description -The [Open Graph protocol][] enables any web page to become a rich object in a social graph. Most notably, this allows for these pages to be used with Facebook's [Like Button][] and [Graph API][] as well as within Twitter posts. +The [Open Graph protocol](https://ogp.me/) enables any web page to become a rich object in a social graph. Social networks, messengers and the Fediverse use it to show a preview (title, description and image) when someone shares a link. The Open Graph plugin inserts the Open Graph metadata into WordPress posts and pages, and provides a simple extension mechanism for other plugins and themes to override this data, or to provide additional Open Graph data. -This plugin does not directly add social plugins like the Facebook Like Button to your pages (though they're pretty simple to add). It will however make your pages look great when shared using those kinds of tools. +The plugin also adds the Twitter/X card metadata. -[Open Graph Protocol]: https://ogp.me/ -[Like Button]: https://developers.facebook.com/docs/reference/plugins/like -[Graph API]: https://developers.facebook.com/docs/reference/api/ +This plugin does not add any share buttons to your pages. It only adds the metadata, so your pages look great when they are shared. ## Frequently Asked Questions @@ -33,7 +31,7 @@ You don't; there's nothing to configure and there is no admin page. By default, ### How do I extend the Open Graph plugin? -There are two main ways to provide Open Graph metadata from your plugin or theme. First, you can implement the filter for a specific property. These filters are of the form `opengraph_{name}` where {name} is the unqualified Open Graph property name. For example, if you have a plugin that defines a custom post type named "movie", you could override the Open Graph 'type' property for those posts using a function like: +There are two main ways to provide Open Graph metadata from your plugin or theme. First, you can implement the filter for a specific property. These filters are of the form `opengraph_{name}` where {name} is the unqualified Open Graph property name. For example, if you have a plugin that defines a custom post type named "movie", you could override the Open Graph `type` property for those posts using a function like: function my_og_type( $type ) { if ( get_post_type() == "movie" ) { @@ -43,19 +41,39 @@ There are two main ways to provide Open Graph metadata from your plugin or theme } add_filter( 'opengraph_type', 'my_og_type' ); -This will work for all of the core Open Graph properties. However, if you want to add a custom property, such as 'fb:admin', then you would need to hook into the `opengraph_metadata` filter. This filter is passed an associative array, whose keys are the qualified Open Graph property names. For example: +This will work for all of the core Open Graph properties. However, if you want to add a custom property, such as `fb:admins`, then you would need to hook into the `opengraph_metadata` filter. This filter is passed an associative array, whose keys are the qualified Open Graph property names. For example: function my_og_metadata( $metadata ) { - $metadata['fb:admin'] = '12345,67890'; + $metadata['fb:admins'] = '12345,67890'; return $metadata; } add_filter( 'opengraph_metadata', 'my_og_metadata' ); Note that you may need to define the RDFa prefix for your properties. Do this using the `opengraph_prefixes` filter. +### How does the plugin choose the images? + +The plugin uses the featured image first, then the images in the post content, then the images attached to the post. If there is no image at all, it uses the site icon, the custom logo or the header image. + +By default the plugin adds up to 3 images. You can change that by adding the following line to your `wp-config.php` + + define( 'OPENGRAPH_MAX_IMAGES', 1 ); + +or with the `opengraph_max_images` filter. To add or remove image sources, use the `opengraph_image_sources` filter. Each source is a callable that gets the post ID and returns attachment IDs: + + function my_og_image_sources( $sources ) { + // Only use the featured image. + return array( 'opengraph_thumbnail_image_ids' ); + } + add_filter( 'opengraph_image_sources', 'my_og_image_sources' ); + +### Does it work with Jetpack? + +Yes. Jetpack also adds Open Graph metadata, so the plugin disables the Jetpack output to avoid duplicate tags. To get the Jetpack output back, deactivate this plugin. + ### How to enable/disable "strict mode" -The plugin populates the meta 'name' attribute alongside the 'property' attribute by default. Because both, the `og:*` and `twitter:*` names, are actually registered at https://wiki.whatwg.org/wiki/MetaExtensions, this stays compliant with the HTML5 spec. If you want to use a more strict way anyways, you can enable the scrict mode by adding the following line to your `config.php` +The plugin populates the meta 'name' attribute alongside the 'property' attribute by default. Because both, the `og:*` and `twitter:*` names, are actually registered at https://wiki.whatwg.org/wiki/MetaExtensions, this stays compliant with the HTML5 spec. If you want to use a more strict way anyways, you can enable the strict mode by adding the following line to your `wp-config.php` define( 'OPENGRAPH_STRICT_MODE', true ); From 4b81d9f3b95057e9badce4ec74670b2a5788de5a Mon Sep 17 00:00:00 2001 From: Matthias Pfefferle Date: Fri, 25 Sep 2026 09:51:41 +0200 Subject: [PATCH 2/7] no facebook and twitter in the descriptions --- composer.json | 2 +- opengraph.php | 2 +- package.json | 2 +- readme.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 1845e13..8b5f640 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "pfefferle/wordpress-opengraph", - "description": "Adds Open Graph metadata to your posts and pages so that they look great when shared on sites like Facebook and Twitter.", + "description": "Adds Open Graph metadata to your posts and pages so that they look great when shared on social networks.", "type": "wordpress-plugin", "license": "Apache-2.0", "require": { diff --git a/opengraph.php b/opengraph.php index 9a66191..6e0cec7 100644 --- a/opengraph.php +++ b/opengraph.php @@ -2,7 +2,7 @@ /** * Plugin Name: Open Graph * Plugin URI: https://wordpress.org/plugins/opengraph - * Description: Adds Open Graph metadata to your posts and pages so that they look great when shared on sites like Facebook and Twitter. + * Description: Adds Open Graph metadata to your posts and pages so that they look great when shared on social networks. * Author: Will Norris & Matthias Pfefferle * Author URI: https://github.com/pfefferle/wordpress-opengraph * Version: 3.0.1 diff --git a/package.json b/package.json index d18874d..3478472 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wordpress-opengraph", - "description": "Adds Open Graph metadata to your posts and pages so that they look great when shared on sites like Facebook and Twitter.", + "description": "Adds Open Graph metadata to your posts and pages so that they look great when shared on social networks.", "author": "Matthias Pfefferle", "license": "Apache-2.0", "devDependencies": { diff --git a/readme.md b/readme.md index 38005a6..9b7e63b 100644 --- a/readme.md +++ b/readme.md @@ -10,7 +10,7 @@ - License URI: https://www.apache.org/licenses/LICENSE-2.0.html -Adds Open Graph metadata to your posts and pages so that they look great when shared on sites like Facebook and Twitter. +Adds Open Graph metadata to your posts and pages so that they look great when shared on social networks. ## Description From b2345cd3a7464387da8746f378473b14aa8af831 Mon Sep 17 00:00:00 2001 From: Matthias Pfefferle Date: Fri, 25 Sep 2026 09:54:36 +0200 Subject: [PATCH 3/7] restore description section --- readme.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 9b7e63b..fa63641 100644 --- a/readme.md +++ b/readme.md @@ -14,13 +14,15 @@ Adds Open Graph metadata to your posts and pages so that they look great when sh ## Description -The [Open Graph protocol](https://ogp.me/) enables any web page to become a rich object in a social graph. Social networks, messengers and the Fediverse use it to show a preview (title, description and image) when someone shares a link. +The [Open Graph protocol][] enables any web page to become a rich object in a social graph. Most notably, this allows for these pages to be used with Facebook's [Like Button][] and [Graph API][] as well as within Twitter posts. The Open Graph plugin inserts the Open Graph metadata into WordPress posts and pages, and provides a simple extension mechanism for other plugins and themes to override this data, or to provide additional Open Graph data. -The plugin also adds the Twitter/X card metadata. +This plugin does not directly add social plugins like the Facebook Like Button to your pages (though they're pretty simple to add). It will however make your pages look great when shared using those kinds of tools. -This plugin does not add any share buttons to your pages. It only adds the metadata, so your pages look great when they are shared. +[Open Graph Protocol]: https://ogp.me/ +[Like Button]: https://developers.facebook.com/docs/reference/plugins/like +[Graph API]: https://developers.facebook.com/docs/reference/api/ ## Frequently Asked Questions From ab25e101d60d56f3be0f7e31833d89567f9fed79 Mon Sep 17 00:00:00 2001 From: Matthias Pfefferle Date: Fri, 25 Sep 2026 09:57:21 +0200 Subject: [PATCH 4/7] fix outdated links --- readme.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/readme.md b/readme.md index fa63641..6c7a6f3 100644 --- a/readme.md +++ b/readme.md @@ -14,15 +14,15 @@ Adds Open Graph metadata to your posts and pages so that they look great when sh ## Description -The [Open Graph protocol][] enables any web page to become a rich object in a social graph. Most notably, this allows for these pages to be used with Facebook's [Like Button][] and [Graph API][] as well as within Twitter posts. +The [Open Graph protocol][] enables any web page to become a rich object in a social graph. Most notably, this allows for these pages to be used with Facebook's [Share Button][] and [Graph API][] as well as within Twitter posts. The Open Graph plugin inserts the Open Graph metadata into WordPress posts and pages, and provides a simple extension mechanism for other plugins and themes to override this data, or to provide additional Open Graph data. -This plugin does not directly add social plugins like the Facebook Like Button to your pages (though they're pretty simple to add). It will however make your pages look great when shared using those kinds of tools. +This plugin does not directly add social plugins like the Facebook Share Button to your pages (though they're pretty simple to add). It will however make your pages look great when shared using those kinds of tools. [Open Graph Protocol]: https://ogp.me/ -[Like Button]: https://developers.facebook.com/docs/reference/plugins/like -[Graph API]: https://developers.facebook.com/docs/reference/api/ +[Share Button]: https://developers.facebook.com/documentation/plugins/share-button +[Graph API]: https://developers.facebook.com/docs/graph-api/ ## Frequently Asked Questions @@ -175,7 +175,7 @@ Project maintained on github at [pfefferle/wordpress-opengraph](https://github.c - basic twitter cards support (thanks to elroyjetson) - replace `$post->post_title` with `get_the_title()` (see #[17][] for details) -[17]: https://github.com/willnorris/wordpress-opengraph/issues/17 +[17]: https://github.com/pfefferle/wordpress-opengraph/issues/17 ### 1.5.1 (Nov 13, 2012) - fix duplicate opengraph markup when used with jetpack plugin (for real) From 661ec89f4e0067ae49f16906a8268927786e5105 Mon Sep 17 00:00:00 2001 From: Matthias Pfefferle Date: Fri, 25 Sep 2026 09:59:58 +0200 Subject: [PATCH 5/7] keep facebook and twitter in composer and readme --- composer.json | 2 +- readme.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 8b5f640..1845e13 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "pfefferle/wordpress-opengraph", - "description": "Adds Open Graph metadata to your posts and pages so that they look great when shared on social networks.", + "description": "Adds Open Graph metadata to your posts and pages so that they look great when shared on sites like Facebook and Twitter.", "type": "wordpress-plugin", "license": "Apache-2.0", "require": { diff --git a/readme.md b/readme.md index 6c7a6f3..4193459 100644 --- a/readme.md +++ b/readme.md @@ -10,7 +10,7 @@ - License URI: https://www.apache.org/licenses/LICENSE-2.0.html -Adds Open Graph metadata to your posts and pages so that they look great when shared on social networks. +Adds Open Graph metadata to your posts and pages so that they look great when shared on sites like Facebook and Twitter. ## Description From db63a6eec8b713f8cd73e031ed96f340e8d2ac65 Mon Sep 17 00:00:00 2001 From: Matthias Pfefferle Date: Fri, 25 Sep 2026 10:00:06 +0200 Subject: [PATCH 6/7] keep facebook and twitter in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3478472..d18874d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wordpress-opengraph", - "description": "Adds Open Graph metadata to your posts and pages so that they look great when shared on social networks.", + "description": "Adds Open Graph metadata to your posts and pages so that they look great when shared on sites like Facebook and Twitter.", "author": "Matthias Pfefferle", "license": "Apache-2.0", "devDependencies": { From 1d9d3fb8c8f276ee6a6ce5d91351f7f1711b5a05 Mon Sep 17 00:00:00 2001 From: Matthias Pfefferle Date: Fri, 25 Sep 2026 10:01:26 +0200 Subject: [PATCH 7/7] fediverse and bluesky tags --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 4193459..93bfd47 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,7 @@ # Open Graph - Contributors: willnorris, pfefferle -- Tags: open graph, opengraph, social, facebook, twitter +- Tags: open graph, opengraph, social, fediverse, bluesky - Requires at least: 6.2 - Tested up to: 7.1 - Stable tag: 3.0.1