=== useopengraph ===
Contributors: useopengraph
Tags: open graph, og image, social media, seo, metadata
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Generates branded Open Graph social-preview images for your posts and pages, rendered on demand by useopengraph.com.

== Description ==

useopengraph connects your WordPress site to a template you've built at useopengraph.com. When a post or page is shared on X, LinkedIn, Facebook, or any platform that reads Open Graph tags, this plugin outputs an `og:image` URL that renders that template with the post's own title, excerpt, featured image, author, or site name filled in.

There's no image generation happening on your server. The plugin builds a URL pointing at useopengraph.com's render endpoint and puts it in the page's `<head>`; the image itself is generated by useopengraph when a crawler or preview bot requests it.

Configuration happens once, in Settings → useopengraph: paste an API key, pick a project and a template, then tell the plugin which template variable should come from which piece of post data. After that it runs unattended.

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/useopengraph` directory, or install the plugin through the WordPress plugins screen directly, then activate it.
2. Go to Settings > useopengraph.
3. Paste an API key from useopengraph.com under Settings > API keys.
4. Pick a project and a template.
5. Map each template variable to a source (post title, post excerpt, featured image, author name, site name, or leave it unmapped to use the template's default), then save.

== Frequently Asked Questions ==

= Is my API key stored securely? =

It's stored in the WordPress options table, the same place any other integration plugin keeps its credentials. It is never sent to the browser or included in any front-end page output — every request to useopengraph.com is made server-side, from the admin settings page or from `wp_head` on the front end.

= What happens if useopengraph is down? =

The plugin caches the template's data for 12 hours and always prefers that cache over a live request on the front end, so an outage at useopengraph.com never slows down or breaks page loads on your site. If no cache is available yet and a request fails, the plugin simply outputs no Open Graph image tags for that page load rather than showing an error.

= Does this work with SEO plugins like Yoast? =

It can, but turn off Yoast's (or RankMath's, or any other SEO plugin's) own `og:image` output for the same fields first. If two plugins both print an `og:image` meta tag, most platforms will pick whichever tag appears first, which can be unpredictable. Disable the overlapping output in your SEO plugin's social settings and let useopengraph own the image tag.

== Changelog ==

= 1.0.0 =
* Initial release. Settings page with API key, project, and template configuration. Per-variable mapping to post title, excerpt, featured image, author name, or site name. Cached, front-end Open Graph and Twitter Card meta tag output.
