Apostrophe

Extensions & Integrations

Install
npm i @apostrophecms/open-graph
Official Extension Apostrophe 3

Open Graph Tools (3.x)

Updated

 less than 1 month ago  

  Version

 1.2.1

Provides a way to edit metadata for Facebook's Open Graph standard.
Marketing

Open Graph

CircleCI Chat on Discord

Open Graph fields for Apostrophe 3

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, more likely, in 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
Apostrophe
Try Apostrophe