Skip to content

Replace/switch/enhance the way keywords for a page are set. #54

@jgadelange

Description

@jgadelange

Is your feature request related to a problem? Please describe.
Currently the meta keywords field is used to discover the keywords for a specific page. Since this field isn't widely used by search engines anymore we don't have it on our websites, so it is currently impossible for us to set the keywords for the checks, which in turn leads to a lot of failing checks.

Describe the solution you'd like
I would like to be able to for each page fill in the keywords on the check seo page, that then will be used in the checks. For this I would like to add a Keywords model with an URL or path and a keywords field. When on the check seo page you can then click on the shown keywords to edit them.

Probably we also want to be able to configure this behaviour to also allow for the current behaviour. I think this could be achieved by a setting (e.g. DJANGO_CHECK_SEO_KEYWORDS_DISCOVERY_METHOD) with support by default for the options:

  • meta keywords
  • from db

Some stuff I'm not sure about:

  1. Should the models live in a separate app (I think it should be part of this package), so database tables aren't created when someone doesn't want to use the database feature?
  2. Should we also add support for having another keywords retrieval method alltogether? So people can write their own python method and link that in the setting?
  3. Should we be able to have a fallback method? So first check in db, if not there, check in meta field. Or should we combine those? Should having this fallback be the default behaviour?
  4. In my suggested solution you would be able to click on the keywords to edit them. I think this would be an interesting feature independent on which keywords discovery method you use. How can we create this in such way that it is versatile?
  5. A big downside to db solution where you store the path to link the keywords is that if a page is moved the keywords don't move with it (and you will have "ghost keywords" for pages that no longer exist). Do we think this is a problem?

Describe alternatives you've considered
I couldn't think of other feasible solutions.

Additional context
N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions