{"id":21275,"date":"2012-12-21T00:08:36","date_gmt":"2012-12-21T00:08:36","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/open-graph-protocol-framework\/"},"modified":"2025-12-20T18:34:09","modified_gmt":"2025-12-20T18:34:09","slug":"open-graph-protocol-framework","status":"publish","type":"plugin","link":"https:\/\/lt.wordpress.org\/plugins\/open-graph-protocol-framework\/","author":7731483,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.1.0","stable_tag":"2.1.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Open Graph Protocol Framework","header_author":"itthinx","header_description":"","assets_banners_color":"e4f3f8","last_updated":"2025-12-20 18:34:09","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.itthinx.com\/shop\/","header_plugin_uri":"https:\/\/www.itthinx.com\/plugins\/open-graph-protocol\/","header_author_uri":"https:\/\/www.itthinx.com","rating":4.3,"author_block_rating":0,"active_installs":3000,"downloads":114998,"num_ratings":15,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"itthinx","date":"2012-12-21 00:10:48"},"1.0.1":{"tag":"1.0.1","author":"itthinx","date":"2012-12-21 00:23:03"},"1.0.10":{"tag":"1.0.10","author":"itthinx","date":"2015-12-07 20:05:48"},"1.0.2":{"tag":"1.0.2","author":"itthinx","date":"2012-12-21 00:38:32"},"1.0.3":{"tag":"1.0.3","author":"itthinx","date":"2012-12-21 01:19:18"},"1.0.4":{"tag":"1.0.4","author":"itthinx","date":"2012-12-27 21:34:31"},"1.0.5":{"tag":"1.0.5","author":"itthinx","date":"2013-08-03 20:49:34"},"1.0.6":{"tag":"1.0.6","author":"itthinx","date":"2013-12-15 20:11:45"},"1.0.7":{"tag":"1.0.7","author":"itthinx","date":"2014-04-15 19:07:59"},"1.0.8":{"tag":"1.0.8","author":"itthinx","date":"2015-01-11 20:09:51"},"1.0.9":{"tag":"1.0.9","author":"itthinx","date":"2015-04-22 20:17:19"},"1.1.0":{"tag":"1.1.0","author":"itthinx","date":"2016-08-01 08:23:21"},"1.10.0":{"tag":"1.10.0","author":"itthinx","date":"2025-06-05 12:02:11"},"1.2.0":{"tag":"1.2.0","author":"itthinx","date":"2017-07-09 20:33:40"},"1.2.1":{"tag":"1.2.1","author":"itthinx","date":"2017-07-09 20:39:51"},"1.2.2":{"tag":"1.2.2","author":"itthinx","date":"2018-05-23 15:40:46"},"1.3.0":{"tag":"1.3.0","author":"itthinx","date":"2019-04-20 14:25:10"},"1.4.0":{"tag":"1.4.0","author":"itthinx","date":"2019-06-11 21:08:57"},"1.5.0":{"tag":"1.5.0","author":"itthinx","date":"2020-04-08 20:45:17"},"1.6.0":{"tag":"1.6.0","author":"itthinx","date":"2021-04-02 21:40:11"},"1.7.0":{"tag":"1.7.0","author":"itthinx","date":"2022-09-25 19:32:18"},"1.8.0":{"tag":"1.8.0","author":"itthinx","date":"2023-01-03 21:31:18"},"1.9.0":{"tag":"1.9.0","author":"itthinx","date":"2023-12-29 17:17:17"},"2.0.0":{"tag":"2.0.0","author":"itthinx","date":"2025-06-05 19:21:54"},"2.1.0":{"tag":"2.1.0","author":"itthinx","date":"2025-12-20 18:34:09"}},"upgrade_notice":{"":"<p>Works with the latest version of WordPress.<\/p>"},"ratings":{"1":2,"2":0,"3":1,"4":0,"5":12},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1118812,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1118812,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3424334,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3424334,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.10","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.1.0","1.10.0","1.2.0","1.2.1","1.2.2","1.3.0","1.4.0","1.5.0","1.6.0","1.7.0","1.8.0","1.9.0","2.0.0","2.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3424336,"resolution":"1","location":"plugin"}},"screenshots":{"1":"Plugin info"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[157,150,26918,28467,11061],"plugin_category":[35,56,57],"plugin_contributors":[78949],"plugin_business_model":[],"class_list":["post-21275","plugin","type-plugin","status-publish","hentry","plugin_tags-facebook","plugin_tags-google","plugin_tags-ogp","plugin_tags-open-graph-protocol","plugin_tags-x","plugin_category-advertising","plugin_category-social-and-sharing","plugin_category-taxonomy","plugin_contributors-itthinx","plugin_committers-itthinx"],"banners":{"banner":"https:\/\/ps.w.org\/open-graph-protocol-framework\/assets\/banner-772x250.png?rev=3424334","banner_2x":"https:\/\/ps.w.org\/open-graph-protocol-framework\/assets\/banner-1544x500.png?rev=3424334","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/open-graph-protocol-framework\/assets\/icon-128x128.png?rev=1118812","icon_2x":"https:\/\/ps.w.org\/open-graph-protocol-framework\/assets\/icon-256x256.png?rev=1118812","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/open-graph-protocol-framework\/trunk\/screenshot-1.png?rev=3424336","caption":"Plugin info"}],"raw_content":"<!--section=description-->\n<p>The <a href=\"https:\/\/ogp.me\/\">Open Graph protocol<\/a> enables any web page to become a rich object in a social graph. For instance, this is used on Facebook to allow any web page to have the same functionality as any other object on Facebook.<\/p>\n\n<p>This WordPress plugin is aimed at automating the process of adding basic and optional metadata to a site's pages. It is also designed to act as a framework for other plugins or themes and allows to modify and adapt the information provided as needed.<\/p>\n\n<p>If you find this plugin useful and would like to support our work, you can do so by purchasing in our <a href=\"https:\/\/www.itthinx.com\/shop\/\">Shop<\/a>, thank you!<\/p>\n\n<p>Supports <a href=\"https:\/\/wordpress.org\/plugins\/woocommerce\/\">WooCommerce<\/a> to include essential product metadata on product pages.<\/p>\n\n<h3>Usage<\/h3>\n\n<p>Install and activate the plugin. It will automatically render the following metadata for posts, pages, etc. :<\/p>\n\n<ul>\n<li><code>og:title<\/code> : The page's title is used, this provides the title for posts, pages, archives etc.<\/li>\n<li><code>og:type<\/code> : The type will be <code>article<\/code> in general, <code>website<\/code> for the front page and <code>blog<\/code> for the blog homepage.<\/li>\n<li><code>og:image<\/code> : For post types that support featured images, the URL of the featured image is used. Additional metadata <code>og:image:width<\/code>, <code>og:image:height<\/code>, <code>og:image:url<\/code>, <code>og:image:secure_url<\/code> and <code>og:image:alt<\/code> are added.<\/li>\n<li><code>og:url<\/code> : The URL of the current page.<\/li>\n<li><code>og:site_name<\/code> : The name of the site.<\/li>\n<li><code>og:description<\/code> : Uses the full excerpt if available, otherwise derives it from the content. For author and archive pages, the type of page and title is used.<\/li>\n<li><code>og:locale<\/code> : The current locale.<\/li>\n<li><code>og:locale:alternate<\/code> : Indicates additional locales available with <a href=\"https:\/\/wpml.org\/\">WPML<\/a> and <a href=\"https:\/\/wordpress.org\/plugins\/polylang\/\">Polylang<\/a>.<\/li>\n<\/ul>\n\n<p>The content of the <code>og:image:alt<\/code> property is based on the Alt Text of the featured image, the image's Caption in lack thereof, or ultimately the image's Description in lack of the latter. If any of those are empty, the property is not rendered.<\/p>\n\n<h3>Filters<\/h3>\n\n<p>This section is for developers. If you're not a developer, you can safely skip it.<\/p>\n\n<p>The plugin provides the following filters:<\/p>\n\n<h4><code>open_graph_protocol_meta<\/code><\/h4>\n\n<p>This filter allows to modify the value of the <code>content<\/code> attribute for a given meta tag.\nIt is invoked for every supported type of metadata.<\/p>\n\n<p>Parameters:<\/p>\n\n<ul>\n<li><code>string<\/code> <code>content<\/code> - the current value of the <code>content<\/code> attribute<\/li>\n<li><code>string<\/code> <code>property<\/code> - the metadata name, for example <code>og:title<\/code><\/li>\n<\/ul>\n\n<p>Filters must return:<\/p>\n\n<ul>\n<li><code>string<\/code> the desired value of the <code>content<\/code> attribute<\/li>\n<\/ul>\n\n<h4><code>open_graph_protocol_meta_tag<\/code><\/h4>\n\n<p>This filter allows to modify the actual HTML <code>&lt;meta&gt;<\/code> tag that is rendered in the <code>&lt;head&gt;<\/code> section of pages.<\/p>\n\n<p>Parameters:<\/p>\n\n<ul>\n<li><code>string<\/code> HTML <code>&lt;meta&gt;<\/code> tag<\/li>\n<li><code>string<\/code> <code>property<\/code> - the metadata name, for example <code>og:title<\/code><\/li>\n<li><code>string<\/code> <code>content<\/code> - the value of the <code>content<\/code> attribute<\/li>\n<\/ul>\n\n<p>Filters must return:<\/p>\n\n<ul>\n<li><code>string<\/code> the desired output for the HTML <code>&lt;meta&gt;<\/code> tag<\/li>\n<\/ul>\n\n<h4><code>open_graph_protocol_metas<\/code><\/h4>\n\n<p>This filter allows to add or remove metadata before it is rendered.<\/p>\n\n<p>Parameters:<\/p>\n\n<ul>\n<li><code>array<\/code> of metadata indexed by metadata name<\/li>\n<\/ul>\n\n<p>Filters must return:<\/p>\n\n<ul>\n<li><code>array<\/code> of metadata indexed by metadata name<\/li>\n<\/ul>\n\n<h4><code>open_graph_protocol_echo_metas<\/code><\/h4>\n\n<p>This filter allows to modify the HTML that renders the plugin's meta tags in the <code>&lt;head&gt;<\/code> section.<\/p>\n\n<p>Parameters:<\/p>\n\n<ul>\n<li><code>string<\/code> HTML with <code>&lt;meta&gt;<\/code> tags to be rendered<\/li>\n<\/ul>\n\n<p>Filters must return:<\/p>\n\n<ul>\n<li><code>string<\/code> HTML with <code>&lt;meta&gt;<\/code> tags to be rendered<\/li>\n<\/ul>\n\n<h4><code>open_graph_protocol_framework_ext<\/code><\/h4>\n\n<p>This filter allows to determine whether additional meta tags should be produced for supported integrations.<\/p>\n\n<p>Parameters:<\/p>\n\n<ul>\n<li><code>boolean<\/code> whether to process the integration<\/li>\n<li><code>string<\/code> the integration<\/li>\n<\/ul>\n\n<p>Filters must return:<\/p>\n\n<ul>\n<li><code>boolean<\/code> whether to process additional meta tags for the integration<\/li>\n<\/ul>\n\n<h3>Why this plugin?<\/h3>\n\n<p>This plugin was created because we needed an extendable way to render meta tags based on the Open Graph protocol, which would allow to modify the meta tag content rendered or add meta tags when appropriate based on external data.<\/p>\n\n<p>None of the existing plugins provided a sufficiently flexible way of doing that, among other reasons we needed a solution that would comply with all of these requirements and none of the existing solutions does:<\/p>\n\n<ul>\n<li>must be compatible with WordPress 3.5<\/li>\n<li>must automatically add meta tags for featured images<\/li>\n<li>must be automated and create sensible meta tag content for each page, we don't want to manually indicate the tag content for every page<\/li>\n<li>must provide a framework for extension through hooks and filters on every tag, and provide a design that allows other plugins to modify the meta tags in flexible ways<\/li>\n<li>must not ask to provide your Facebook account details or application ID when there is no need for it<\/li>\n<li>must not be bloated with features you don't want or need when you simply want Open Graph metatags to be rendered automatically for your pages<\/li>\n<\/ul>\n\n<h3>Logo Attribution<\/h3>\n\n<p>The logo used for this plugin's icon and banner is the <a href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Open_Graph_protocol_logo.png#\/media\/File:Open_Graph_protocol_logo.png\">Open Graph protocol logo<\/a> by Facebook - <a href=\"https:\/\/ogp.me\">ogp.me<\/a>. Licensed under Public Domain via <a href=\"https:\/\/commons.wikimedia.org\/wiki\/\">Wikimedia Commons<\/a>.<\/p>\n\n<h3>Validators<\/h3>\n\n<p>To test the generated metadata you can use several tools, among those:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/cards-dev.x.com\/validator\">X Card Validator<\/a><\/li>\n<li><a href=\"https:\/\/developers.facebook.com\/tools\/debug\/\">Meta Sharing Debugger<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<p>See also the <a href=\"https:\/\/www.itthinx.com\/plugin\/open-graph-protocol\/\">Open Graph Protocol<\/a> plugin pages and <a href=\"https:\/\/docs.itthinx.com\/document\/open-graph-protocol-framework\/\">documentation<\/a>.<\/p>\n\n<ol>\n<li>Use the <em>Add new<\/em> option found in the <em>Plugins<\/em> menu in WordPress and search for <em>Open Graph Protocol<\/em> or upload the plugin zip file or extract the <code>open-graph-protocol<\/code> folder to your site's <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Enable the plugin from the <em>Plugins<\/em> menu in WordPress.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='where%20is%20the%20documentation%3F'><h3>Where is the documentation?<\/h3><\/dt>\n<dd><p>The plugin's documentation pages are <a href=\"https:\/\/docs.itthinx.com\/document\/open-graph-protocol-framework\/\">here<\/a>.<\/p><\/dd>\n<dt id='where%20can%20i%20ask%20a%20question%3F'><h3>Where can I ask a question?<\/h3><\/dt>\n<dd><p>You can post a comment on the <a href=\"https:\/\/www.itthinx.com\/plugins\/open-graph-protocol\/\">plugin page<\/a>.<\/p><\/dd>\n<dt id='where%20can%20i%20find%20out%20more%20about%20the%20open%20graph%20protocol%3F'><h3>Where can I find out more about the Open Graph protocol?<\/h3><\/dt>\n<dd><p>The Open Graph protocol specification is available on <a href=\"https:\/\/ogp.me\/\">ogp.me<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<p>See the complete <a href=\"https:\/\/github.com\/itthinx\/open-graph-protocol-framework\/blob\/master\/changelog.txt\">changelog<\/a> for details.<\/p>","raw_excerpt":"The Open Graph Protocol enables any web page to become a rich object in a social graph. This plugin renders meta tags within an extension framework.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/21275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=21275"}],"author":[{"embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/itthinx"}],"wp:attachment":[{"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=21275"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=21275"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=21275"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=21275"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=21275"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=21275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}