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
Edit domains and sitemaps
Apr 4, 2025
By myq.

How to create a sitemap when using an edit domain

Customize the default page title
Mar 12, 2025

Change the default " :: " and/or "site name :: page title" formatting separator to something else.

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

Permissions for editors in a multilingual site
Feb 2, 2025
By myq.

How to set up a multilingual Concrete CMS site for groups of language-specific editors

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.

Improvements?

Let us know by posting here.