Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setting for global @site SEO meta data (title/description) #10921

Closed
4 of 6 tasks
naz opened this issue Jul 17, 2019 · 1 comment · Fixed by TryGhost/Admin#1287
Closed
4 of 6 tasks

Setting for global @site SEO meta data (title/description) #10921

naz opened this issue Jul 17, 2019 · 1 comment · Fixed by TryGhost/Admin#1287
Labels
affects:admin Anything relating to Ghost Admin affects:api Affects the Ghost API server / core Issues relating to the server or core of Ghost

Comments

@naz
Copy link
Contributor

naz commented Jul 17, 2019

Problem

There is no way to set SEO metadata to the root site in the same way as to posts/pages.

Context

All data (posts/pages/users/tags) in ghost has a concept of setting custom metadata for SEO - except for the main site’s settings/general, where you can set a “site title” and a “site description” - which are also used for metadata, but cannot be customised.

Solution

The settings table will be expanded with additional entries with type:'blog' and keys similar to how posts table manages SEO data for it's meta_title/meta_description etc. fields. Specifically, these fields will be added:

  • meta_title
  • meta_description
  • og_image
  • og_title
  • og_description
  • twitter_image
  • twitter_title
  • twitter_description

The Admin UI "general settings" screen will be expanded with additional fields in the new "Site SEO" section.

TODO:

  • Changes in Admin API for @gargol
  • Make new fields available in Content API's GET /settings endpoint @gargol
  • Adjust theme helpers to use new SEO fields @gargol (Added global site SEO fields to theme helpers #10930)
  • Admin-Client implementation of "Site SEO" section
  • Document new fields for {{@site}} helper and Content API /settings endpoint
  • Update gatsby-starter-ghost/11ty-starter-ghost to use new fields
@naz naz added affects:admin Anything relating to Ghost Admin server / core Issues relating to the server or core of Ghost affects:api Affects the Ghost API admin-api labels Jul 17, 2019
@naz naz self-assigned this Jul 17, 2019
naz added a commit that referenced this issue Jul 18, 2019
refs #10921

- New SEO related fields will now be available as a part of Admin API /settings endpoint
- The ordering of fields is taken from post's schema
- Extended settings test suite with new SEO fields
- Adjusted settings model unit test
naz added a commit to naz/Ghost that referenced this issue Jul 18, 2019
refs TryGhost#10921

- Site SEO data will now be available as part of `GET /settings` response in Content API
naz added a commit that referenced this issue Jul 19, 2019
refs #10921

- Site SEO data will now be available as part of `GET /settings` response in Content API as well as part of {{@site.*}} helper
naz added a commit that referenced this issue Jul 25, 2019
#10921

- Changed {{meta_title}} helper to use site meta_title' field
- Changed {{meta_description}} helper to use site 'meta_description' field
- Changed {{og_image}} helper to use site 'og_image' field
- Added site title handling for og/twitter metadata
- Refactored use of 'blog' in variable name in favor of 'site'
- Extended meta_description test suite with 'home' context cases
- Changed {{twitter_image}} helper to use site 'twitter_image' field
- Added ghost_head test for site metadata
- Renamed blog->site in variable names for touched files
kevinansfield added a commit to kevinansfield/Ghost-Admin that referenced this issue Aug 8, 2019
closes TryGhost/Ghost#10921

- added new fields to settings model
- added "Site SEO" section to general settings
kevinansfield added a commit to kevinansfield/Ghost-Admin that referenced this issue Aug 13, 2019
closes TryGhost/Ghost#10921

- added new fields to settings model
- added "Site SEO" section to general settings
@ErisDS ErisDS unassigned naz Aug 21, 2019
@ErisDS ErisDS closed this as completed Aug 21, 2019
kevinansfield added a commit to kevinansfield/Ghost-Admin that referenced this issue Aug 21, 2019
closes TryGhost/Ghost#10921

- added new fields to settings model
- added "Site SEO" section to general settings
kevinansfield added a commit to TryGhost/Admin that referenced this issue Aug 21, 2019
closes TryGhost/Ghost#10921

- added new fields to settings model
- added "Site meta settings" section to general settings
kevinansfield added a commit to kevinansfield/Ghost that referenced this issue Nov 21, 2019
refs TryGhost#10921, closes TryGhost#11357, closes TryGhost#11403

- updates the sources and fallbacks for the output of `{{ghost_head}}` meta/structured data
- re-works related tests to better show the fallback chains for different scenarios
kevinansfield added a commit that referenced this issue Nov 21, 2019
refs #10921, closes #11357, closes #11403

- updates the sources and fallbacks for the output of `{{ghost_head}}` meta/structured data
- re-works related tests to better show the fallback chains for different scenarios
- fixes `{{ghost_head}}` tests to use `before/afterEach` so that tests are not interdependent
naz added a commit that referenced this issue Feb 5, 2021
refs #10921
refs #11068

- When there is no twitter or og image specified for a post or a page the new default falls back to appropriate site-wide twitter/og image or site's cover image.
- New rules of follback follow this logic:

post/page/amp = post.twitter_image || post.feature_image || settings.twitter_image || settings.cover_image;

post/page/amp = post.og_image || post.feature_image  || settings.og_image || settings.cover_image;
@naz
Copy link
Contributor Author

naz commented Feb 5, 2021

New global defaults for twitter/og were meant to be used as a fallback for individual posts/pages and were updated in f3e0949.

dmitrymarokhonov pushed a commit to dmitrymarokhonov/Ghost that referenced this issue Feb 28, 2021
refs TryGhost#10921
refs TryGhost#11068

- When there is no twitter or og image specified for a post or a page the new default falls back to appropriate site-wide twitter/og image or site's cover image.
- New rules of follback follow this logic:

post/page/amp = post.twitter_image || post.feature_image || settings.twitter_image || settings.cover_image;

post/page/amp = post.og_image || post.feature_image  || settings.og_image || settings.cover_image;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects:admin Anything relating to Ghost Admin affects:api Affects the Ghost API server / core Issues relating to the server or core of Ghost
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants