=== getwowlink — Link Preview Images ===
Contributors: egych
Tags: open graph, og image, social share image, link preview, seo
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Auto-generated Open Graph images for every post and page. Beautiful link previews on X, LinkedIn, WhatsApp and Slack — no design work.

== Description ==

When someone shares a link to your site, X, LinkedIn, WhatsApp, Slack and Telegram show a preview card. Without a good image, that card is a grey box. getwowlink gives every post and page its own preview image, so every share looks designed.

You design one template in getwowlink, by hand or with AI, from your site's colors and content. The plugin then adds the right image to each page, made from that page's title. Edit the template once and every page follows.

**What you get**

* A preview image for every post, page and other post type you choose, made from the page's own title.
* Works with Yoast SEO and Rank Math: the image goes through their filters, so a page prints exactly one og:image and one twitter:image.
* Works with no SEO plugin too: the plugin adds the og:image and twitter:image tags itself.
* Choose whether getwowlink always sets the image, or only when a page has none and your featured images stay.
* A panel in the block editor shows the post's preview and lets you switch getwowlink off for that post.
* A settings page that shows your plan, the template, the homepage preview, and any other plugin or theme that also prints an og:image.

**How it works**

1. Install and activate the plugin, then open Settings → getwowlink and choose "Connect to getwowlink".
2. In the tab that opens, sign in, pick a design and choose a plan. The free getwowlink Free plan covers one site.
3. Back in WordPress, the settings page updates by itself. From then on, new and edited pages get their images.

The plugin is free. It works with a getwowlink account; the getwowlink Free plan covers one site, and paid plans lift the monthly page limit.

= External services =

This plugin connects to the getwowlink service, operated by getwowlink, to design, render and serve the preview images. It cannot work without it.

* **api.getwowlink.com** is the getwowlink api. The plugin sends requests to it from your server.
* **getwowimg.com** serves the rendered preview images. Social networks and chat apps load the images from here, and the editor panel and the settings page in your WordPress admin load preview images from here too.
* **www.getwowlink.com** is the website where you sign in, design your template and manage your plan. The "Connect", "Edit template" and help links open it in your browser.

What is sent, and when:

* When you start connecting: your site address and the WordPress admin URL, so getwowlink can send you back to this page.
* A status report ("heartbeat"): your site address, the WordPress admin URL, the versions of the plugin, WordPress and PHP, the name and version of the SEO plugin (Yoast SEO or Rank Math) if one is active, the names of any other plugin or theme found printing an og:image and when your homepage was last checked for that, and the plugin's settings (whether getwowlink replaces your own images, and which post types get images). It is sent when you finish connecting or save a site key, when you save the settings, when you press "Check again", and about once a day through WordPress cron.
* When you update a published post or page that uses getwowlink: the path of that page (for example /blog/launch-week), so getwowlink can refresh its image. At most once a minute per page.
* When you choose "Disconnect and remove images": a request telling getwowlink the site is disconnected.
* While a connection is pending: the pairing id and secret, to ask whether you finished in getwowlink (on admin page loads, and every few seconds while the settings page is open), and again if you cancel it.
* When you save a site key or open the settings page: a request for your site's settings from getwowlink (the site key only).
* In the background, when the cached settings have expired (at most every 12 hours, or 5 minutes after a failed try): the same request for your settings, started by WordPress cron after a page view. It carries the site key only.
* The site key that proves a request comes from your site is sent as a header with each request after connecting.

No visitor data is ever sent. Pages print the image address from a cached copy of your settings, so a page view never waits for getwowlink.

The service is provided by getwowlink: [Terms of service](https://www.getwowlink.com/terms) and [Privacy policy](https://www.getwowlink.com/privacy).

== Installation ==

1. In WordPress, go to Plugins → Add New, search for "getwowlink" and choose Install Now, then Activate. Or upload the plugin folder to `/wp-content/plugins/` and activate it on the Plugins page.
2. Go to Settings → getwowlink and choose "Connect to getwowlink".
3. In the tab that opens, sign in, pick a design and choose a plan. This page then shows your site as connected.
4. Choose the post types that should get images and whether getwowlink replaces images you set yourself, then save.

Already set up your site in getwowlink? Choose "Connect with a site key" on the settings page and paste the key from the Add to site dialog in getwowlink.

== Frequently Asked Questions ==

= Is it free? =

The plugin is free. It needs a getwowlink account, and the getwowlink Free plan covers one site. Paid plans lift the monthly page limit.

= Does it work with Yoast SEO and Rank Math? =

Yes. The plugin detects them and sets the image through their own filters, so each page prints exactly one og:image and one twitter:image. With no SEO plugin, the plugin prints the tags itself.

= Another plugin or my theme also prints an og:image. What do I do? =

Then apps may pick the wrong picture. The settings page names the source it found. Jetpack, All in One SEO, SEOPress and some themes each have a setting to turn their image off; see the steps at https://www.getwowlink.com/integrations/wordpress#other-og-image.

= Do I need pretty permalinks? =

Yes. getwowlink makes an image for each page from its address, so with plain permalinks (`?p=123`) only the home page gets an image. Choose another structure in Settings → Permalinks.

= The "Use for this post" switch in the editor is missing. =

The switch is saved as a custom field, so the post type must support custom fields. Pages and posts do by default; a custom post type may need `custom-fields` in its supports list.

= Can I keep the featured images I set myself? =

Yes. In Settings → getwowlink choose "Only when a page has no image". Pages with a featured image keep it; the rest get a getwowlink image.

= How fast does a new image appear? =

Within about a minute after you publish or update a page. The first time a page is shared, getwowlink may render its image on demand.

= What happens if I disconnect or deactivate the plugin? =

"Disconnect and remove images" stops the plugin printing getwowlink images and forgets the site key. Your pages go back to whatever image your theme or SEO plugin would use. Deleting the plugin removes its settings from your database.

= What if getwowlink can't be reached? =

Your pages keep rendering, and the plugin keeps printing image addresses from its cached settings. The settings page says it couldn't reach getwowlink until it can.

== Screenshots ==

1. The same link in Telegram, before and after: every post shares with its own preview image.
2. Settings → getwowlink on a connected site: homepage preview, plan, pages this month, and what was detected.
3. The getwowlink panel in the block editor: the post's link preview and the "Use for this post" switch.
4. Connecting: pick a design for your site in getwowlink, then choose a plan.

== Changelog ==

= 1.0.0 =
* First release: a preview image for every post and page, connect through getwowlink, works with Yoast SEO, Rank Math and no SEO plugin, block editor panel, and a settings page that detects other og:image sources.

== Upgrade Notice ==

= 1.0.0 =
First release.
