-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace/switch/enhance the way keywords for a page are set. #54
Comments
For the 5th bullet it might be possible to have a generic relation to the model that is used on the page and link the keywords based on that. However that would mean we have a way to determine the most relevant model used, I'm not sure how doable that would be. I think create the |
Second this. And would add another option for discovery: from title tag. This would not work if a page is not optimized at all, but if it is, it would. And it would just work as is, without additional models or other things. One would just need to define some "extraction" logic, like "separate by comma and /", or maybe a customizable callable...? |
Hi, thank you @jgadelange for your issue and @benzkji for the comment (and happy new year)! I think that's a great idea, we should add this behavior in the app :)
I don't know if it's the case for you, but our websites are riddled with empty tables in their db, so I think it's not an issue to add an empty table in the app.
We can interpret the setting as an import path (kind of dirty but hey the plugin system of django check seo already does this), so every user can configure it like he or she wants. We could document the 2 "official" ways to do this, eg. by putting
We should definitely add the
We could use something similar to the
I think it's safe to assume that even if we have a few hundreds dead objects stored in the db it won't kill it, so it may be a problem for laterTM. What we can do is add a management command that tries to resolve each url using the Django test system, and to remove the object if the page is not found. We can add 2 models: Page & Keyword. A page only store a path & a list of Keywords (m2m) (and a language ?), and a Keyword is a simple char field. That way we can search for the Page, then search for the related Keywords (using prefetch_related to improve db access, even if this is not a big app). The idea behind the "2 models" concept is that once a Keyword was created one time, it could be reused (and it even let the user save a few keystrokes by suggesting the keyword once he or she start typing it on the auto-completed field :P). |
Sounds good! -1. I can be a bit puristic in this kind of stuff ;P. I agree that having some unused db tables isn't that big of an issue ;) -5. The bigger problem of the two for me would be that the keywords are lost when a page is moved. I agree that having "ghost keywords" is not really a problem. But having to re-enter the keywords for a page you just moved could be really frustrating. So for that it could be desireable to also connect the |
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 anURL
orpath
and akeywords
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:Some stuff I'm not sure about:
Describe alternatives you've considered
I couldn't think of other feasible solutions.
Additional context
N/A
The text was updated successfully, but these errors were encountered: