Extensions & Integrations

Open Graph Tools

Provides a way to edit metadata for Facebook's Open Graph standard.
> npm i @apostrophecms/open-graph

ApostropheCMS logo

Open Graph for ApostropheCMS

Installation

npm install @apostrophecms/open-graph

Use

Configure @apostrophecms/open-graph in app.js.

const apos = require('apostrophe')({
  shortName: 'project',
  modules: {
    '@apostrophecms/open-graph': {}
  }
});

Setting the baseUrl

Open Graph images will not be set with absolute URLs if the baseUrl is not set. This should either be set statically in app.js, but more likely, in the environment configuration, such as in data/local.js. Some social media platforms consider an aboslute URL to be a requirement and will not accept the image URL without it.

In app.js as part of your main Apostrophe app

require('apostrophe')({
  shortName: 'mysite',
  baseUrl: 'https://mysite.com',
  modules: {
    // other module configurations
  }
});

As part of an environment configuration in data/local.js

  module.exports = {
    baseUrl: 'https://mysite.com',
    modules: {
      // other environment-specific module configurations
    }
  };

Opting out of Open Graph Fields

Adding openGraph: false to any module will prevent Open Graph fields from being added. Good use cases for this are utility modules, special page types, or piece types that don't have index or show pages.

require('apostrophe')({
  shortName: 'mysite',
  baseUrl: 'https://mysite.com',
  modules: {
    category: {
      options: {
        openGraph: false;
      }
    }
  }
});

The following modules opt out of the Open Graph fields by default:

  • @apostrophecms/global
  • @apostrophecms/user
  • @apostrophecms/image
  • @apostrophecms/image-tag
  • @apostrophecms/file
  • @apostrophecms/file-tag

Field Reference

The following are the fields that are added to pieces and pages

Name Description Module Effected
openGraphTitle OG Title, populates <meta property="og:title" /> @apostrophecms/doc-type
openGraphDescription OG Description, populates <meta property="og:description" /> @apostrophecms/doc-type
openGraphType OG Type, populates <meta property="og:type" />, defaults to 'website' @apostrophecms/doc-type
openGraphImage OG Image, populates <meta property="og:image" /> @apostrophecms/doc-type

Updated

3 months ago

Version

1.2.2

Report a bug