Skip to content

Feature parity to Yoast SEO platform

Sebastian Helzle edited this page Apr 4, 2019 · 7 revisions

Yoast SEO Product Sheet Progress for the Neos CMS integration

This list is based on the requirements of the official Yoast SEO product sheet.

Yoast SEO: general specification

Technical SEO (out of the box)

Some things need to work out of the box when the module is enabled.

  • The site needs to have pretty permalinks. System permalinks should refer to their human readable equivalents through canonicals.
    • provided by Neos core
  • Every page needs to have a rel="canonical" that defaults to its generated pretty url. See rel=canonical: the ultimate guide on Yoast.com.
    • provided by the Neos.SEO package
  • The site needs to handle paginated content well. Paginated content should have rel="next" and/or rel="prev" tags. See Google's documentation on paginated content.
    • Neos does not have a default system for this and integrators need to provided that. Therefore this needs to be solved via documentation and a helper for now.
  • Searchresults and archive pages that should be public should have meta robots tags noindex, follow.
    • Neos does not have a default system for this and integrators need to provided that. Therefore this needs to be solved via documentation for now.
  • Category pages which are paginated should index all pages in the series (previous advice suggested that only the first page should be indexed).
    • Neos does not have a default system for this and integrators need to provided that. Therefore this needs to be solved via documentation and a helper for now.

Onpage SEO and content analysis

For onpage SEO two sides should be covered:

  • On the technical side, SEO metadata needs to be included in the head of every page. This also includes social metadata like OpenGraph and Twitter metadata.
    • provided by the Neos.SEO package
  • On the content side, the user should be able to optimize content for SEO. For this we have built a fully client side content analysis tool.
    • provided by the Yoast SEO package for Neos

Page specific metadata

For each page, a user needs to be able to set the following metadata:

  • <title> provided by Neos core
    • content: SEO title field in Yoast Snippet editor. provided by Neos core
    • if empty, content: Title of the page. provided by Neos.Seo
  • <meta name="description"> provided by Neos.Seo
    • content: The meta description field in the Yoast Google Snippet editor provided by Neos.Seo
    • exclude if empty. provided by Neos.Seo
  • <meta property="og:locale" /> targeted for Neos.Seo 2.2
  • <meta property="og:type" /> provided by Neos.Seo (configurable by the editor)
    • if homepage, content: website
    • if singular content (post, page or equivalent), content: article
    • if archive or portal, content: object
  • <meta property="og:title" /> provided by Neos.Seo
    • See https://github.com/neos/neos-seo/issues/79
    • content: Facebook title field. provided by Neos.Seo
    • if empty, content: SEO title field in Yoast Snippet editor targeted for Neos.Seo 3.0
    • if empty, content: Title of the page. provided by Neos.Seo
  • <meta property="og:description" /> provided by Neos.Seo
    • See https://github.com/neos/neos-seo/issues/79
    • content: Facebook description field. provided by Neos.Seo
    • if empty, content: Metadescription field in Yoast Snippet editor provided by Neos.Seo
    • if empty, content: Excerpt of the content not planned yet
    • exclude if empty provided by Neos.Seo
  • <meta property="og:url" /> provided by Neos.Seo
    • content: The canonical url of the page provided by Neos.Seo
  • <meta property="og:image" /> provided by Neos.Seo
    • See https://github.com/neos/neos-seo/issues/97
    • content: The Facebook image field. provided by Neos.Seo
    • if empty, Main or featured image for the content. configurable via Neos.Seo 3.0
    • if empty, Images present in the content. configurable via Neos.Seo 3.0
  • <meta name="twitter:description" /> provided by Neos.Seo
    • See https://github.com/neos/neos-seo/issues/79
    • content: Twitter description field. provided by Neos.Seo
    • if empty, content: Facebook description field. targeted for Neos.Seo 3.0
    • if empty, content: Metadescription field in Yoast Snippet editor provided by Neos.Seo
    • if empty, content: Excerpt of the content not planned yet
    • exclude if empty
  • <meta name="twitter:title" /> provided by Neos.Seo
    • See https://github.com/neos/neos-seo/issues/79
    • content: Twitter title input field. provided by Neos.Seo
    • if empty, content: Facebook title input field. targeted for Neos.Seo 3.0
    • if empty, content: SEO title field in Yoast Snippet editor targeted for Neos.Seo 3.0
    • if empty, content: Title of the page. targeted for Neos.Seo 3.0
  • <meta name="twitter:image" /> provided by Neos.Seo
    • https://github.com/neos/neos-seo/issues/98
    • content: The Twitter image field. provided by Neos.Seo
    • if empty, content: The Facebook image field. targeted for Neos.Seo 3.0
    • if empty, content: Main or featured image for the content. configurable via Neos.Seo 3.0
    • if empty, content: Images present in the content. configurable via Neos.Seo 3.0

Globally set metadata

As a site owner, I want to be able to set the following metadata globally:

  • <meta property="og:site_name" /> targeted for Neos.Seo 2.2
  • <meta property="fb:admins" /> targeted for Neos.Seo 2.2
  • <meta property="fb:pages" /> targeted for Neos.Seo 2.2
    • content: Facebook page id.
  • <meta name="twitter:card" /> provided by Neos.Seo for each page
    • content: The selected twitter card type.
    • Supported types:
      • summary (Summary)
      • summary_large_image (Summary with large image)
      • See Twitter docs on card types
  • <meta name="twitter:site" />
    • content: The Twitter handle of the Twitter profile associated with the site (also used for People and Organization structured metadata).

Advanced SEO metadata

Optionally, we might also want to include a few options for setting the robots meta.

  • As an advanced user, I want to be able to set the following <meta name="robots"> tags for every page:
    • index / noindex provided by Neos.Seo
    • follow / nofollow provided by Neos.Seo
    • noodp
    • noimageindex
    • noarchive
    • nosnippet
    • As an advanced user, I need to be able to set the canonical url for every page. provided by Neos.Seo

Content & Readability analysis

Structured metadata

Person or Company Structured metadata (ld+json)