In the last few years I have dealt a lot with technical search engine optimization. Mainly as Product Owner to advise customers and write requirements for the developers. Before that, when I developed a lot myself, the topic wasn't that important to me, because "SEO" is often frowned upon in developer circles and looked like coffee set reading.
However, in the last few years more standards developed, new analysis tools came on the market and Google published better documentation. In addition, trickery is more and more often punished by search engines.
As a result, the whole issue has become much more reliable and auditable. We were now able to implement features and show the customer that they work correctly and meet standards. Afterwards we were able to create work packages for the editors together with the customer in order to use the new possibilities.
The following is an example of how Google outputs data of type event:
All these further developments led to the fact that the topic SEO itself interested me more and more and I knew that I can provide my customers and the Neos Community with my knowledge an added value.
Phases of prototypes for a new SEO extension for Neos
Through customer requests I also became aware of Yoast SEO for Wordpress. Fortunately, a version for TYPO3 was released in April 2017, which we installed in our projects right away. The feedback from our customers was very good and I followed the project with great interest.
Besides my work in TYPO3 projects I started to develop concepts for an easier work with SEO in Neos. At the NeosCon 2017 in Hamburg I presented, among other SEO topics, a first prototype that offered a view for focused work on metadata.
Here an example of the still very simple view with some metadata and a simple content analysis:
Experiments with Yoast.js
The integration of the preview and some analysis results worked very well, but it was clear to me that an editor should be able to get analysis results without much detour while writing. For such purposes the right sidebar, the "Inspector", is available in Neos. This can be extended relatively freely with own modules. Unfortunately, I was not familiar enough with the then new Neos React UI to be able to tackle this immediately.
Integration with the React UI from Neos
A few months later, after the NeosCon 2018, I had some time and at the conference I had gathered the right ideas. So within a few days I implemented the first version of my Yoast SEO package for Neos, which offered an extended integration into the backend and greatly improved usability. Now an editor could get a current analysis with one click.
The result was so promising that I released a beta and sent a video to Yoast and asked if they would agree to let me use the library for Neos. After all, I didn't want to put a lot of work into something that wouldn't survive for long for some legal reasons. I also hoped to get more knowledge about the background of the library and what Yoast plans to do with it in the future.
At first there was no feedback, but after some time I got an email that Yoast would like to talk to me on the phone. One week later I had a phone call with Joost de Valk and Omar Reiss from Yoast and a cooperation was discussed. In the following weeks a partnership agreement was signed and my visit to Yoast at the end of October 2018 at the Yoast office in Wijchen, Netherlands was planned. This means that I was able to put time back into my expansion and Yoast's interest in being available on more platforms could also have a very positive effect on the whole Neos project.
Further development of Neos.SEO
In the meantime some colleagues from the Neos team and I implemented many improvements and new features in the Neos.Seo Core Package. The goal was to create fewer reasons for Neos CMS integrators to implement their own SEO packages and to simplify the use of structured data.
It will never be possible to fulfill all the requirements of all projects, but my ambition is that the package is easy to extend and for most websites only some configuration is needed to output correct meta data for search engines. Here we have already achieved a lot with version 2.1, which was released in early December 2018. With version 3.0, the remaining planned optimizations, fallbacks and additional feedback on version 2.1 will be incorporated. This can also be viewed in the Git repository.
Conveniently, the added features in Neos.SEO were also a minimum requirement of Yoast for good technical SEO. It is very important to me that standards and basic functions are covered by a Core Package and not by a 3rd Party Package. This means that the Yoast SEO package for Neos will focus on usability and analysis and everything else comes in Neos.SEO. A premium version may be added later, which will provide practical features that not every project needs. This leaves the possibility for others to develop their own packages with SEO analysis, which can build on the solid base of Neos.SEO.
In Neo's CMS the SEO package is optional, as there are projects that have no public interface and therefore could or should never be found by search engines. In addition, a separate package can be developed faster and does not endanger the core of Neos.
Features of Neos.SEO version 2.1
- Output of a dynamic robots.txt
- Output of one sitemap per language
- Images and alternate language links in the sitemap
- Open Graph Tags for Facebook and others
- Tags for Twitter cards
- Meta description and SEO Title
- Structured data for breadcrumbs, searchbox and social media
- Abstract prototypes to output own structured data types
- Alternate Language Links and Canonicals
- No-follow and No-Index Tags
Cooperation with Yoast
In the Netherlands, I spent two days working with Yoast's CTO, developers and UX experts to define what is needed for version 1.0 and to better understand the concepts and thoughts behind the Wordpress version.
During my stay, I was able to directly implement a lot of feedback on usability, structure and branding and, in cooperation with the developers, also improve my code to make the integration even more seamless. Working with Yoast's team is a lot of fun and our thoughts and goals are very close together: making the work of editors and webmasters easier and allowing them to be easily found on the web.
The revised analysis display in the Inspector of Neos CMS:
After my trip I now had a plan what to do to finish a version 1.0 by the end of 2018, so that the expansion can be promoted together. During the last months the not final version was already used productively by agencies in some projects and I got positive feedback. Agencies were even asked by some customers directly if Neos supports Yoast. This question can now be answered with a definite "Yes".
Features of Yoast SEO for Neos in version 1.0
- SEO analysis in the inspector
- Readability analysis
- Keyword analysis
- Preview of the output title and metadata description
- Feedback and tips for editors
- Considers the current workspace
- Snippet previews for Google, Facebook and Twitter
- Use of webworkers to not block the backend during the analysis
Meanwhile, I really enjoy working in the field of technical SEO and I talk about it at meetups and conferences. A website that doesn't consider technical SEO can still be very successful, but it still pays off to pay close attention and invest work. The search engines reward it and the technical quality of a project increases, in my experience, usually significantly. Because more emphasis is put on semantics, usability and "sense". This is also one of the reasons why I primarily deal with Neos CMS. The system does not stand in the way of implementing the structures and processes of my customers. I had this experience with no other system in this way.
Next I am planning a blog article on neos.io, which will introduce the different SEO extensions for Neos. Here I can also recommend the video recording of my last talk at Meet Neos in Salzburg.