-
Notifications
You must be signed in to change notification settings - Fork 16
Description
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:
- 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?
- 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?
- 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?
- 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?
- 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