Adding OpenGraph tags to your theme or site

This is a community-contributed tutorial. This tutorial is over a year old and may not apply to your version of Concrete CMS.
Feb 22, 2017

The following code will help you site when you are shareing your site on facebook and twitter.

Place this code in the header of everypage.

My theme uses a include called head.php in the elements folder. By adding the following code you will get different infomation for each page.

    <?php
    $siteName = Config::get('concrete.site'); //Gets Name of the site
    $page = Page::getCurrentPage(); 
    $title = $page->getCollectionName(); //Gets the title of the page
    $description = $page->getCollectionAttributeValue('meta_description'); //Gets the meta description of the page
    $url = $page->getCollectionLink();//Gets the URL of the page
    ?>


    <!-- Open Graph -->
    <!-- This is facebooks default app ID, it stops facebook showing errors in the debugger below -->
    <meta property="fb:app_id" content="966242223397117" />
    <meta property="og:site_name" content="<?php echo $siteName  ?>"/>
    <meta property="og:title" content="<?php echo $title ?>"/>
    <meta property="og:description" content="<?php echo $description ?>"/>
    <meta property="og:url" content="<?php echo  $url ?>"/>


    <meta name="twitter:card" content="summary" />
    <meta name="twitter:title" content="<?php echo $siteName ?>" />
    <meta name="twitter:description" content="<?php echo $description ?>" />
    <meta name="twitter:url" content="<?php echo  $url ?>" />
    <!-- You make an iamge and upload on your site which will always so for facebook and twitter when your page is shared. -->
    <meta property="og:image" content="http://www.yoursite.com/images/facebookimage.jpg"/>
    <meta name="twitter:image" content="http://www.yoursite.com/images/twitterimage.jpg" />

You can now test your code and see what results you get. For Facebook: https://developers.facebook.com/tools/debug/og/object/

Click the "Fetch new scrape information" button

For Twitter https://cards-dev.twitter.com/validator

I have expanded on this code to add images for each page, which i will try and update soon.

Recent Tutorials
Configure Composer to work with a Page Type
Feb 20, 2025
By myq.

Fix the "Unable to load block into composer. You must edit this content from within the context of the page." error message

Restoring deleted pages using advanced search
Jan 16, 2025
By myq.

How to recover deleted pages when there are more than a few to choose from.

How to Automate the Copyright Year
Dec 27, 2024

Learn how to keep your website's copyright year updated automatically in Concrete CMS.

How to change the path of a group of pages
Dec 23, 2024
By myq.

Change the canonical path without breaking things

Bi-directional Express associations
Dec 18, 2024
By myq.

Set up associations between Express entries in both directions

Display Express Data Across Multiple Sites
Dec 17, 2024
By myq.

A guide to configuring Express entities and the Express Entry List block to ensure proper data display across multiple sites.

Improvements?

Let us know by posting here.