Craft CMS - FCME
Craft CMS
This site just recently moved from Continuum/ePub to Craft on 2/22/23
Admin login: https://www.reliasmedia.com/admin/login
FCME shares the Craft CMS Instance with Relias Media
Reach out to Kenny Joa if you help logging in, resetting password, or creating an admin account for you.
When you select an item from the left hand navigation menu in the admin panel, be sure to click on “relias media” and change to “free cme” on the drop down menu.
SEOMatic is the SEO Plugin
configuring notes: https://nystudio107.com/docs/seomatic/configuring.html#content-seo
How to Update Metadata
The FCME site is currently configured for
meta title to be: H1 of page | freeCME.com
meta description to be: first 160 characters of page content
If you want to override this configuration for individual pages, go to Entries > Click the page you want to edit > SEO tab > toggle the “Override” button for SEO Title Source and SEO Description Course. Once done making your updates, click “preview”, when satisfied click “Save” and then QA to make sure your changes were made on the front end (find meta in the “Page Source” or through a browser plugin like SEOQuake)
To Update Speciality Landing Pages Metadata
For general settings: SEO Matic > Content SEO > FreeCME - Specialities - Template
To override general settings: Entries > FreeCME - Specialities - Template > Asthma & Allergies >
Redirects
All redirects are currently run through a plugin called Retour. Retour allows you to implement individual and bulk URL redirects on multiple domains through a simple interface.
Individual Redirects
Best for a small number of redirect requests and is more user-friendly.
Individual Redirects - How-to:
In the Craft CMS side-menu, select the following:
Retour >>> Redirects >>> New Static Redirect (red button)
The screen should look like this:
Once here, you’ll follow the following steps to successfully implement a redirect:
Enabled: Make sure this button is green
Sites: Select your particular domain, here we’ll use “Relias Media”. This redirect will only process for the selected domain.
Legacy URL Pattern: Here you have 2 options, you can either put in the full URL pattern or the URL path after the domain. I prefer using the URL path (in the case of internal links) in case the domain name is ever updated.
For this example we’ll use “/testBrokenPage”
Legacy URL Match Type: You can choose between Path Only or Full URL. Since we chose to use a URL path for this example, we’ll select “Path Only”.
Destination URL: Here you will paste in the URL you’d like the old URL to route to. Since the Legacy URL was put in as a path, this URL will also need to be a Path Only URL.
For this example, we’ll use “/testWorkingPage”
Match Type: For mostly all cases, choose Exact Match. If you are replacing bulk URLs through RegEx, you will select RegEx Match (consult with engineering or a teammate to validate your Regex before submitting this)
Redirect Type: For most cases, you’ll choose 301 for links that are permanently moved. For other types of redirects, see the following codes to determine whether they are applicable:
302 - Found. This is an older protocol for a temporary redirect that would redirect to a new URL but search engines would not update their links to the resource. There are very few use cases for using this response code.
307 - Moved Temporarily. Useful for a link that will be updated to a new destination shortly. This is the current response code for temporary redirects.
308 - Moved Permanently. This method indicates that a resource has been definitively moved to a new URL indicated by the Location header. Link juice is passed on to the new link, but the request method and body are not altered.
410 - Gone. A link is permanently removed. This should be used if a link is never to be used again and needs to be removed. This differs from a 404 in that the broken link tells search engines that it is permanently removed, not that it may potentially restored (404).
Bulk Redirects - How-to:
Navigation: Retour >>> Redirects >>> Import CSV File
Before getting to this step, you’ll want to prepare your file. Name your headings as follows:
Legacy URL Pattern - URL that needs to be redirected
Redirect To - New destination URL
Match Type - use “exactmatch”. This is case sensitive.
Site ID - “ReliasMedia” or “Free CME”. If it is for both sites, this column can be omitted or the variable “All Sites” can be used.
HTTP Status - your status code, for most redirects you will use “301”
Export this file to a .csv file, UTF-8 works perfectly.
Once in the field mapping menu, you’ll prompted to match up any fields that aren’t automatically matched up. Several file fields will be left blank, which is fine.
Once these are matched up select “Import” and your redirects should go through successfully. QA these changes on the live site, as these should push live instantly. If you do not see the changes, clear your cache and view the page again. Report any issues to your manager or site admin.
How to Update Overall Site Settings & Schema Markup Data:
*All of the below SEOMatic Site Settings have been configured already for SEO.
Global SEO settings are the base settings that are used site-wide. If there are no more specific SEO settings for a given page, it will fall back on the Global SEO settings
SEOMatic > Site Settings > Identity
These Site Identity settings are used to globally define the identity and ownership of the site. (aka Organization Schema Markup)
They are used in combination with the SEO Template Meta settings to generate JSON-LD microdata.
The Site Owner type determines the JSON-LD schema that will be used to identity the site to search engines.
Leave any fields blank that aren’t applicable or which you do not want as part of the SEO schema.
Site Name: Free CME Online Courses | https://www.freecme.com/
Type of entity: Organization
General Info:
Entity Name: FreeCME
Entity URL: https://www.freecme.com/
Entity Brand: logo of FCME from the homepage
SEOMatic > Site Settings > Creator
The information on this page is used to create JSON-LD Structured Data that can appear as Rich Snippets on Google Search Engine Results Pages (SERP). JSON-LD Structured Data helps computers understand context and relationships, and is also read by other social media sites and apps.
Site Creator Type: Organization
General Info:
Entity Name: FreeCME
Entity URL: https://www.freecme.com/
Entity Brand: logo of FCME from homepage
SEOMatic > Site Settings > Social Media
The social media settings connect your site to its other points of pressence on the internet. They also facilitate attaching your branding to social media posts via Twitter Cards and Facebook OpenGraph Schema Markup
SEOMatic > Site Settings > Sitemap
SEOmatic will automatically create a sitemap for each of your sections, but if you have additional sitemaps or individual URLs that are outside of the CMS that you want to include, you can add them here.
SEOMatic > Site Settings > Miscellaneous
Miscellaneous site-wide SEO settings.
SiteLinks Search Box
SEOMatic > Content SEO
Each Section in Craft CMS (Entries, Categories, Products, etc.) gets its own unique set of SEO settings that will be applied to that section (and Entry Types also can have unique settings). Typically you would set up your Content SEO settings to pull from existing fields in the corresponding sections.
Content SEO is where you can configure each Section, Category Group and Commerce Product Type that has public URLs. You’ll see a list of your Sections, Category Groups, and Commerce Product Types with public URLs, with status indicators letting you know what has been configured for each.
SEOmatic allows you to have different Content SEO settings on a per-site basis, and also on a per-Entry Type basis.
Click on a Section, Category Group, or Commerce Product Type name to edit its settings.
SEOmatic allows you to have different Content SEO settings on a per-site basis, and also on a per-Entry Type basis.
Click on a Section, Category Group, or Commerce Product Type name to edit its settings.
SEO Matic > Content SEO > Click on Courses (category) page > Settings > General
Main Entity of Page: Course
The primary topic, some entity or thing that the page describes. Choose as general or specific of an type as you wish. Leave a sub-type blank if you don't want to specify a sub-type.
Course info: A description of an educational course which may be offered as distinct instances at which take place at different times or take place at different locations, or be offered through different media or modes of study. An educational course is a sequence of one or more educational events and/or creative works which aims to build knowledge, competence or ability of learners.
Course Schema Markup
Product schema is typically used for physical products Course schema would be a better use case here.
Use Schema for Course List | Google Search Central | Documentation | Google for Developers
How to update schema types by entry type in SEOmatic
Log into the Craft Admin panel (https://www.freecme.com/admin)
Go to SEOmatic → Content SEO (main navigation)
Set the site scope to “Free CME” (Drop down menu next to the page title)
Find and click on “Products” in the table
Find the field “Main Entity of Page”
Update this value to match the scheme type you would like to set
Click “Save” button (top right corner of the page)
SEO Matic > Content SEO > Click on FAQ page > Settings > General
Main Entity of Page: FAQPage
FAQPage info: A [[FAQPage]] is a [[WebPage]] presenting one or more "[Frequently asked questions](FAQ )" (see also [[QAPage]]).
Mark Up FAQs with Structured Data | Google Search Central | Documentation | Google for Developers
FAQ Schema should only be added to this FAQ Page - https://www.freecme.com/faq
SEOMatic > Content SEO > [Click a Page] Settings > General
Best practices for modern SEO are for the meta information to reflect your content, so you should set up the fields that SEOmatic pulls the SEO Title, SEO Description, and SEO Image from.
SEOMatic > Content SEO > [Click a Page] Settings > Facebook
By default, the Twitter and Facebook settings will mirror what you set in the General section, but you can customize them to your heart’s content.
FCME doesn’t have a Twitter, only Facebook right now.
SEOMatic > Content SEO > [Click a Page] Settings > Sitemap
SEOmatic automatically creates a sitemap index for each of your Site Groups. This sitemap index points to individual sitemaps for each of your Sections, Category Groups, and Commerce Product Types.
Instead of one massive sitemap that must be updated any time anything changes, only the sitemap for the Section, Category Group, or Commerce Product Type will be updated when something changes in it.
SEOmatic can automatically include files such as .pdf
, .xls
, .doc
and other indexable file types in Asset fields or Asset fields in matrix or Neo blocks.
In addition, SEOmatic can automatically create Image sitemaps and Video sitemaps from images & videos in Asset fields or Asset fields in matrix or Neo blocks
Sitemap Indexes are automatically submitted to search engines whenever a new Section, Category Group, or Commerce Product Type is added.
Section Sitemaps are automatically submitted to search engines whenever a new Element in that Section, Category Group, or Commerce Product Type is added.
Sitemap Generation
Because XML sitemaps can be quite time-intensive to generate as the number of entries scales up, SEOmatic creates your sitemaps via a Queue job, and caches the result. The cache is automatically broken whenever something in that sitemap is changed, and a new Queue job is created to regenerate it.
If runQueueAutomatically
is set to false
in General Config Settings the Queue job to create the sitemap will not be run during the http request for the sitemap. You’ll need to run it manually via whatever means you use to run the Queue.
Normally SEOmatic will regenerate the sitemap for a Section, Category Group, or Product any time you save an element. However, if you are importing a large number of elements, or prefer to regenerate the sitemap manually you can set disable the Regenerate Sitemaps Automatically option in SEOmatic’s Plugin Settings.
Additional Sitemaps
If you have custom sitemaps that are not in the CMS, you can manually add them to their own Sitemap Index via Site Settings → Sitemap.
Additional Sitemap URLs
If you have custom URLs that are not in the CMS, you can manually add them to their own Sitemap Index via Site Settings → Sitemap.
Resources:
Links: Plugin store page: SEOmatic
SEOmatic in Craft and how to use it | Digistorm Help Center | Digistorm Support Hub