Skip to main content

SEO optimizations plugin for Plone

Project description

kitconcept.seo

https://travis-ci.org/kitconcept/kitconcept.seo.svg?branch=master Egg Status Latest Version License

kitconcept

SEO enhancements for the Plone Content Management System. Please note that kitconcept.seo is an add-on product for Volto, the React-based frontend for Plone that will become Plone 6. If you are looking for a full featured SEO solution for Plone 4, 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

kitconcept

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 by adding it to your buildout:

[buildout]

...

eggs =
    kitconcept.seo

and then running bin/buildout

Than start up your Plone site and open it on localhost:8080 in your browser. Log into your site and and click on the user symbol on the bottom left of the page. Choose Site Setup there. Now go to Add-ons and click Install at kitconcept.seo.

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 site

To add kitconcept.seo to your Volto page 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). First you have to define the PropTypes for the seo elements by adding:

seo_title: PropTypes.string,
seo_description: PropTypes.string,

… to the PropTypes of the component.

Than you use React-Helmet to set the title and description of the component. So import React-Helmet with:

import Helmet from 'react-helmet';

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 Volto

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

Support

If you are having issues, please let us know: info@kitconcept.com.

License

The project is licensed under the GPLv2.

Contributors

Changelog

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 [timo]

  • Drop Python 2 support. [timo]

  • Drop Plone 5 support. [timo]

  • Add Italian translations. [cekk]

1.4.0 (2020-04-08)

  • Remove maxlength parameter from seo fields. [timo]

1.3.0 (2020-03-24)

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

  • Add German translation. [timo]

1.2.1 (2020-01-16)

  • Re-release 1.2.0. [timo]

1.2.0 (2020-01-16)

  • Add canonical_url option. [timo]

1.1.0 (2020-01-10)

  • Add noindex option. [timo]

1.0.0 (2019-05-14)

  • Python 3 compatibility. [timo]

  • Plone 5.2 compatibility. [timo]

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

  • Use black formatter. [timo]

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.0.1.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

kitconcept.seo-2.0.1-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file kitconcept.seo-2.0.1.tar.gz.

File metadata

  • Download URL: kitconcept.seo-2.0.1.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for kitconcept.seo-2.0.1.tar.gz
Algorithm Hash digest
SHA256 d0474a4e592c7f4b5a47fea3935a7af85095b52fa1b066b4ff4ab9feef5b2d77
MD5 4212cf440e717fe39b757551ace77bdb
BLAKE2b-256 da4d202ac1ae420ab9cfc05f926747f1a3b27a3c565cf9bd5ece376a3cd6d501

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kitconcept.seo-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for kitconcept.seo-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7c1209f0ecfbb86dee040ec15cda57d5f9b47a7a9ef7da4f73b4330857b32a1d
MD5 0266778a7d06b908f3ec14ead31a07b1
BLAKE2b-256 230a2374c4ee536fd38d65d8f0cc4be4840a0f2b81870d93b70ee31695ffd670

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