seo_analyzer
The SEO Analyzer module allows you to easily see which SEO improvements you can make to a node or canvas page. It aims to check your page content against SEO best practices and present you the results allowing you to make the necessary adjustments. You can enter a keyword or keyphrase and see how well your content SEO scores for that keyword.
Features
The current checks include:
- Do the meta title and description include your keyword
- Is your keyword included in your headings (H1, H2)
- Is your keyword repeated too much (overused) in headings and content
- Does the path include the keyword
- Does the domain include the keyword
- Is the length of your meta title and description ok
- Does your site have a correct heading structure
- What is the code-to-text ratio
- Do your images have alt texts
- Is your page url not too short or too long
- Does the site use a secured connection (ssl certificate / https)
- Does the page redirect to another one
- Is the html source code too long
- Does the site use proper robots.txt file
- Does the site use a site map file
Post-Installation
After enabling the module, you need to be admin or have the access seo analyzer permission.
Then you will see a new node task link 'SEO Analyzer' (just like the 'Edit' or 'Translate' links). You will see the results there and on top of the page you can enter a keyword to check the content against for SEO.
Supporting this Module
This module used this github project as a starting point.
So many thanks to Grzegorz Karpiak (grgk) for the github code.
I had to make a lot of modifications to make it work, and made quite a lot of adjustments for being able to create the SEO analytics page that presents the results. I think it works well on its own at the moment, but could use your help to make improvements via issues, patches and MR's. For example:
- Make it work when there is no keyword at all: hide the entire 'Keyword analytics' section if there is no keyword given
- Improve design, UX, responsiveness
- Create a settings page for some hard coded values like ideal limits, when an item is 'orange' or 'red', disable some tests, ...
- Check and adjust the 'impact' values of all SEO tests against current SEO best practices. For example: code-to-text ratio is actually not that important at all
- A default drupal robots txt file should be 'green' instead of having a negative impact because some parts are blocked by it
- Sitemap check might be a problem because not evey site is gonna have a siemap with the exact name sitemap.xml. Either add possibility to overwrite sitemap in settings or disable the sitemap check completely
- Add more checks, for example more Lighthouse / PageSpeed like tests because site speed also have an SEO impact