-
Notifications
You must be signed in to change notification settings - Fork 15
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
Content Analysis #13
Comments
Hey @ChrisB9 thanks for your input. Great idea! A quality analysis tool is on our roadmap (like you, we also always end up in a "yoast-comparing" discussion 😄). The idea would be to add a colored (red, orange, green) badge-tab to the right of the tab-panel: Beside the two checks you've already mentioned, we also want to have some semantic checks. In summary:
Technically all those "Modules" should be available as configurable and self-sustainable elements like the integrators already are. I think about a tagged symfony service and also a corresponding extjs object, for example: Service SeoBundle\MetaData\Analysis\TitleDescriptionAnalyser:
tags:
- {name: seo.meta_data.analyser, identifier: title_description } Php Class<?php
namespace SeoBundle\MetaData\Analysis;
class TitleDescriptionAnalyser implements AnalyserInterface
{
/**
* {@inheritdoc}
*/
public function analyse(array $elements, array $context)
{
return [];
}
} Extjs Modulepimcore.registerNS('Seo.MetaData.Analysis.TitleDescriptionAnalyser');
Seo.MetaData.Analysis.TitleDescriptionAnalyser = Class.create(Seo.MetaData.Analysis.AbstractAnalyser, {
buildPanel: function () {
return fields;
},
getRanking: function () {
return 0;
}
}); Controller<?php
namespace SeoBundle\Controller\Admin;
class MetaDataController extends AdminController
{
public function analyseElement(Request $request)
{
$data = [];
$element = null; // @todo
foreach($this->analysisManager->getAnalysers() as $name => $analyser) {
$data[$name] = $analyser->analyse($element);
}
return $this->json([
'data' => $data,
'score' => $this->analysisManager->calculateScore($data)
]);
}
} But I'm not sure if we need a php class at all, since the analysis should work in real-time and with unpublished content. We should do some benchmark tests and POC first (change listener on all inputs could be a performance issue in extjs but also However, this is just a rough idea how we could achieve this. For now, we should implement the basic structure + your suggested title/description module. There is no active sprint for this feature therefor we need to discuss this internally first. |
Yea, yoast did put up a really good tool for clients :D But thats very promising and looks like a good direction.
Would it performance-wise make sense, to put all the data into the localstorage on-edit and then the sementic checker pulls it from there asynchronosly on-change:localstorage [element-id] -> semantic check. This should then remove your iframe issue. I am doing the same thing with my PageBuilder-Bundle and it currently seems to work without major speed-implications Do you need any help with building that feature? |
Is this still planned? :) |
For a website, the client (previous wordpress user) has asked to have a more options similar to those of the likes of yoast.
Now, while i don't think meta-keywords are a thing anymore, the only real difference seems to be a recommendation of how things can be approved.
This is how i could imagine this to look like for this extension too:
![image](https://user-images.githubusercontent.com/7099583/90975889-845f7880-e538-11ea-9135-917070b0b7e5.png)
Additionally, the way you seem to have drafted that in your images with the blue checkmarks does seem like a good too:
![image](https://user-images.githubusercontent.com/7099583/90975922-de603e00-e538-11ea-8e90-8567e71bf0bb.png)
I would create a PR for this but maybe you already have something similar in the pipeline. If not, then do you have ideas/concepts in this direction that way i can start on a solution and give it to my client.
The text was updated successfully, but these errors were encountered: