Skip to main content

SEO optimizations plugin for Plone

Project description

kitconcept.seo

Pypi Pypi version License

kitconcept, GmbH

SEO enhancements for the Plone Content Management System. kitconcept.seo works with the latest Plone 6 and its default frontend Volto. It might still work with Plone Classic but that is not officially supported. If you are looking for a full featured SEO solution for Plone Classic or older versions of Plone, we suggest looking into fourdigits.seo.

Features

  • Allows to override meta title and meta description per page
  • Allows to set the noindex header to exclude pages from being indexed
  • Allows to set a canonical URL
  • Allows to set Open Graph title, description and image

Examples

This add-on can be seen in action at the following sites:

Translations

This product has been translated into

  • German

Installation

Install kitconcept.seo with pip:

pip install kitconcept.seo

And to create the Plone site:

make create_site

Enable the SEO behavior ^^^^^^^^^^^^^^^^^^^^^^^

To enable the SEO tab for a specific content type you have to enable the kitconcept.seo behavior. Go to the page setup and then to the Dexterity Content Types control panel. Choose the content type you want to enable SEO for and enable the kitconcept.seo behavior.

Enable the SEO behavior programmatically

Enable the kitconcept.seo behavior by adding the behavior to the Factory Type Information (FTI) of your type in your generic setup profile. E.g. to enable SEO for the document type, drop a Document.xml file into the profiles/default/types folder of your add-on product with the following content:

   <?xml version="1.0" encoding="utf-8"?>
   <object name="Document" meta_type="Dexterity FTI" i18n:domain="plone"
     xmlns:i18n="http://xml.zope.org/namespaces/i18n">
     <property name="behaviors" purge="False">
       <element value="kitconcept.seo" />
     </property>
   </object>

Add to Volto project or add-on

To add kitconcept.seo to your Volto project/add-on you need to edit the component you want to use it for. If you want use it for your whole page you can use it in the View.jsx (see here for further information on editing views in Volto).

Than you use react-helmet Volto helper to set the title and description of the component. So import react-helmet with:

   import { Helmet } from '@plone/volto/helpers';

And finally add this to the jsx code of your component:

   <Helmet
          title={
            this.props.content.seo_title
              ? this.props.content.seo_title
              : this.props.content.title
          }
          meta={
            this.props.content.seo_description
              ? [
                  {
                    name: 'description',
                    content: this.props.content.seo_description,
                  },
                ]
              : [
                  {
                    name: 'description',
                    content: this.props.content.description,
                  },
                ]
          }
          bodyAttributes={{
            class: `view-${viewName.toLowerCase()}`,
          }}
        />

Usage

In your Volto page you need to go to the edit mode of the page you want to add a title and description for SEO and open the properties of the page by clicking the properties under the save button. Choose SEO there and add a title and description in the fields. When you are done hit the save button.

Contribute

License

The project is licensed under GPLv2.

Contributors

Changelog

2.1.0 (2024-05-30)

New features:

  • Add Plone 6 Support. @tisto (#13)
  • Set the X-Robots-Tag response header when seo_noindex is True. @sneridagh, @davisagli (#17)

Internal:

  • Update internal package structure. @sneridagh, @davisagli (#16)

2.0.1 (2021-11-01)

  • Explicitly include dependencies (supporting pip installations) [ericof]

  • Use plone/setup-plone@v1.0.0 in Github actions [ericof]

2.0.0 (2021-09-24)

  • Add Python 3.8/3.9 support [tisto]

  • Drop Python 2 support. [tisto]

  • Drop Plone 5 support. [tisto]

  • Add Italian translations. [cekk]

1.4.0 (2020-04-08)

  • Remove maxlength parameter from seo fields. [tisto]

1.3.0 (2020-03-24)

  • Add Open Graph title, description and image. [tisto]

  • Add German translation. [tisto]

1.2.1 (2020-01-16)

  • Re-release 1.2.0. [tisto]

1.2.0 (2020-01-16)

  • Add canonical_url option. [tisto]

1.1.0 (2020-01-10)

  • Add noindex option. [tisto]

1.0.0 (2019-05-14)

  • Python 3 compatibility. [tisto]

  • Plone 5.2 compatibility. [tisto]

  • Remove unnecessary plone.directives.form test dependency. [tisto]

  • Use black formatter. [tisto]

1.0.0a1 (2018-07-09)

  • Initial release. [kitconcept]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kitconcept_seo-2.1.0.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

kitconcept.seo-2.1.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file kitconcept_seo-2.1.0.tar.gz.

File metadata

  • Download URL: kitconcept_seo-2.1.0.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for kitconcept_seo-2.1.0.tar.gz
Algorithm Hash digest
SHA256 b2994cfa3f4f6a04ff7d9dc986e3276273234b3e2afed2ff80bc56d4bafd059b
MD5 fbcc8d02a86553252fe3934b337d01a3
BLAKE2b-256 228728ce85e00082ab6b8c4bf0ad5c2092d28acfcee17054f340360183cece51

See more details on using hashes here.

File details

Details for the file kitconcept.seo-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kitconcept.seo-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32ae3c28f66c41b0207fc15df6fa9dc866281c56f80ea6452049b2d2eee730f8
MD5 ff62c40e97e455f9402b939d5a519893
BLAKE2b-256 8f4a903a5939f58c91dd1174fdf998cfc179e37a7a5c624e329e202039048e8c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page