Using SEOMatic: https://www.loom.com/share/953680bbaf9345908359e8438922de4e?sid=01eef09e-d23e-4d30-b48c-9635e4910224 - video from Patrick
SEO >
Site Settings
Structured Data, Social Media, Sitemaps
Global/Sitewide
Add social media OG tags here - General
Section/Content SEO
Page
*need to make these edits in Production.
FCME Notes..
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 | http://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 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.
...
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 toggle 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”. : select: Full URL
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
...
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)
...
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
...
Product schema is typically used for physical products Course schema would be a better use case here.
https://developers.google.com/search/docs/appearance/structured-data/course
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
...
https://developers.google.com/search/docs/appearance/structured-data/faqpage
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.
...
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.
...
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: https://plugins.craftcms.com/seomatic
https://nystudio107.com/docs/seomatic/resources.html#crafting-modern-seo-presentation
Repository: https://github.com/nystudio107/craft-seomatic
...