npm install @apostrophecms/open-graph
Configure @apostrophecms/open-graph
in app.js
.
const apos = require('apostrophe')({
shortName: 'project',
modules: {
'@apostrophecms/open-graph': {}
}
});
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.
require('apostrophe')({
shortName: 'mysite',
baseUrl: 'https://mysite.com',
modules: {
// other module configurations
}
});
module.exports = {
baseUrl: 'https://mysite.com',
modules: {
// other environment-specific module configurations
}
};
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
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 |