MyOG.social images

Paid MyOG.social service: og:image for published pages without their own image. Needs a MyOG plan or trial and a registered hostname.

View source
Public name@myog.social/myog

Or open Registry in your EmDash admin and search for this name.

Overview

Adds an og:image, twitter:image and twitter:card to published EmDash content pages that have no image of their own. MyOG.social generates each image from the page's public URL, using the page's content and branding.

This is a paid service. The plugin is MIT licensed, but images are rendered by MyOG.social, which needs a MyOG plan or card trial with the site's exact hostname registered. Image generation and refreshes use the plan's credits. With no credits or an unregistered hostname, MyOG returns an error instead of an image, so link previews show a broken image instead of your site default.

What it changes:

  • A page's own image is kept: the SEO panel image (seo.ogImage) or the template's entry image wins, and the plugin adds nothing.
  • Every other published content page gets a MyOG image, which replaces the site-wide default social image from your site settings.
  • Drafts, previews, pages set to noindex/none in EmDash's SEO panel, custom pages, 404s, and pages whose rendered path or canonical URL differs from the published URL get nothing. A hand-written robots tag, an X-Robots-Tag header or another plugin's robots setting is not seen.

The plugin only writes meta tags. It makes no network requests; MyOG fetches the public page when a social platform or crawler requests the image.

Permissions

Plugins get only the capabilities they declare and you approve. Your EmDash admin lists these again before anything installs.

  • Read content

    Read entries from your site’s content collections.

Security

Permission: content:read, used only to call content.getPublicUrl() for the page being rendered. EmDash returns a URL only for a published, routable entry, so drafts and previews are skipped even when an editor sees them at a clean URL.

No network access and no secrets. The plugin declares no allowed hosts and makes no requests. Its settings are a hostname, a template name and an optional account ID, none of which is secret.

What MyOG receives: the image URL contains the page's published public URL (built from the configured hostname and the published slug, never from the request's Host header, and without query string or fragment), the template name and the optional account ID. MyOG then fetches that public page anonymously when the image is requested.

Report security issues privately to hboon@myog.social.

Installation

Requirements:

  • EmDash with a sandbox runner. On Cloudflare that is the Workers Paid plan with the LOADER Worker Loader binding and PluginBridge exported from the Worker entry; on Node.js it is @emdash-cms/sandbox-workerd. See EmDash's plugin sandbox guide.
  • Your site URL set in EmDash to its public HTTPS origin.
  • A MyOG.social plan or card trial, with the site's exact hostname registered (www and the apex domain are different hostnames).

Tested with EmDash 1.4.0 on Node.js with @emdash-cms/sandbox-workerd in a production build, and in astro dev with an earlier build. The registry-built bundle is unit-tested against the same source but was not itself run in an EmDash runtime. Not yet tested: the Cloudflare Worker Loader runner, installing from the registry, route caching with a cache provider, and real social crawlers.

Setup:

  1. Install the plugin from the registry and approve its content:read permission.
  2. Open MyOG.social in the admin sidebar.
  3. Enter the registered hostname, for example www.example.com, and choose a template.
  4. Optionally enter your MyOG account ID, the a= value from your MyOG install code. It is a public routing hint, not a secret or login.
  5. Publish or open a published page without its own image and check its <head> for an og:image starting with https://api.myog.social/og?.

Keep exploring

More plugins like MyOG.social images

Browse by keyword, or see everything @myog.social publishes.

Install on your site

Open in EmDash

MyOG.social images

@myog.social/myog

Choose the EmDash site where you want to review this plugin. Nothing is installed until you confirm its permissions in that site's admin.

This browser will remember the site. You can change it next time.