Reporting and thoughts on Q1/2020

This post is a quick overview on what we managed so far in the period of the first quarter of 2020 (from 1st of January until 31st of March), get some insights and prepare for the next quarter.

So far everything looks very impressive for a fairly new and simple website and I am sure we can achieve much more within the next three months!


Overview and achievements from Q1/2020

By the beginning of this year (2020) I came up with 4 random goals I wanted to achieve. Literally all of them had no clear reason to exist, as this website was created just a couple of months ago. I needed a starting point though.

I created then 4 conservative but still good enough goals for this first quarter of 2020. I’m very glad about their contents and results and I’m confident it was a good idea to start with them because right now I feel much more prepared for Q2/2020.

Below I explain each of these goals and how each of them went. Later on I’ll also show you how they guided me towards understanding this website’s goals for Q2/2020. Here they are:

Goal 1: 50 mentions on twitter

Definition: we aim to generate 50 Twitter mentions. Considering mentions as links to thephp.website directly or indirectly (using url shorteners for example). We exclude from this count the user @nawarian. Retweets do count.

Status: Achieved.

Remarks: 196 mentions (mentions + retweets excluding ones made by @nawarian). There was a significant distance between the goal and the achievement.

Goal 2: 300 users / month

Definition: by the end of the quarter, the average users / month number should be 300 or higher. This considers both languages summed.

Status: Achieved. English version had 5,73 K users / month in average. While Portuguese version had 500 / month in average.

Remarks: organic traffic started getting expressive enough to be considered in next quarter’s OKRs. Bringing about 300 users both to the English and Portuguese versions in March alone.

The traffic was quite abnormal though, due to hypped subjects as PHP 8 and PHP JIT. While I like the idea of investigating those, I don’t feel comfortable on making the website rely on hype only. We need quality and in-depth content.

For next publications, might be a good idea to investigate trending topics again but pick up only the ones that are really important or can be explored in depth.

Goal 3: 500 job items in inventory

Definition: by the end of December a silly crawler was put in place to support google rankings and bringing more people to the Portuguese version of the website. We wanted to have at least 500 job items by the end of March in order to have a solid base for developing a proper jobs platform.

Status: Failed. We have about 250 jobs right now.

Remarks: the main reason why it failed is that while developing it we realized it was not quite the focus to have such amount of pages if we’re not making effort to convert these people to the website. Therefore the efforts got delayed for a reasonable amount of time and we ended up achieving about 50% of this goal.

Follow up: We must work on our design first to understand how we can convert these users to the website and give them a better experience. Later on we should think of a better platform for jobs.

Goal 4: Have a SEO quality gate

Definition: In order to make it transparent for anyone who would like to post in the website what are the minimum requirements we set for quality content, such as content length but also page assets maximum size.

Status: Achieved.

Remarks: we can’t be strict about such checks. Pull Requests should still be able to be merged even if checks fail. In some cases it is acceptable to have lower quality posts and work on them over time.

Discussion about Q1 goals and interesting data collected

Twitter and the approach towards social media

The way I understand things went, social media is no longer a big concern. At least not now.

I had an assumption that twitter would be a big deal for my website, but in fact in comparison with Reddit results weren’t even close: most readers discovering my content came from Reddit, where I did nearly no effort. While actively reaching out to people on twitter brought me not very expressive number of users.

In fact, often times different developers shared content organically in Reddit in communities I never even heard of.

On top of it, after this first discovery phase I observed that many different robots already aggregate the website’s content via RSS or something similar and share it on twitter.

This website aims to make PHP community stronger, not to promote my image as an author. So at least within the next couple of months twitter is out of question. Sharing things there should still happen, but outreach is no longer a thing to put big effort on.

Monthly users and discovery behavior

The first peak of traffic we received was around mid January. The main cause was one Reddit post I wrote in the php community asking for feedback about the website.

I collected very valuable feedback and worked on many things in a very short amount of time. Insights like bringing a dark mode and offering a RSS feed came from this post.

This was also a great way to get people to know this website. We got a good amount of new users and subscribers to the RSS feed because of this post. And above anything it made me very happy because I saw how open the community is to help me improve this website.

Also the website got some translations to russian language and published to a famous website there called Habr with proper backlinks and this was very helpful. For weeks the biggest portion of the traffic came from countries like Russia and Ukraine. Priviet, folks!

Little later I wrote an article about PHP 8 and its state. Wasn’t my best production, but I understood people were looking for this kind of information. Didn’t bring me another peak of traffic, but got me used with seeing 20~30 users per day, instead of 0~5 as before.

The whole month of February was pretty much like this. With 20 to 30 users per day coming to the website. I decided to stop doing any outreach during that month and numbers kept quite stable. That month I started seeing the first readers coming from organic traffic. Nothing expressive, but was already a sign that search engines were getting aware of this website.

Meanwhile I was studying a bit more about the PHP engine itself and how to write language features in it. That’s when I decided that I should write the stuff I learned about the Just In Time compiler that will come with PHP 8. And I also decided I was going to do all outreach possible for this one.

Interesting enough, Reddit brought some decent amount of users. But the organic share of such article was immense! Mostly because at this point many bots already were aware of this website, so the reach of this article was much higher than when I was doing it by myself with my own little network.

The content was also super cool. I’m very proud of this article, even with its mistakes and oversimplifications. Until nowadays people send me feedback about it telling how it helped them understanding better PHP under the hood and that’s for me much more than any numbers GA could present.

I case you are curious, I’m talking about this article here: Understanding PHP 8’s JIT.

I got some backlinks to this article that really helped me. Specially freek.dev brought me many new readers and I’m very thankful for this. Combined with organic sharing and other backlinks I received, I suppose it signalized to search engines that thePHP Website is good enough to be ranked well.

The month of March then brought me about 300 users coming from search engines. And this gives me hope that the website is ready to start ranking well and get more easily discoverable.

I want then to keep a good balance between great content I’m curious about and things people are genuinely interested about. This was very well aligned with PHP 8’s JIT post but I guess it will get harder next times.

Aggregate more people or keep current ones?

In March/2020 only the number of sessions in the website reached 15K. While this is way above my expectations it was great to understand one thing much better: there’s demand for such type of content and this makes me very glad because this is exactly the kind of thing I want to write about. At the same time, the only thing I could have done to make these 15K sessions happen again would be if people subscribed to the RSS feed.

Currently the website has no proper mechanism to make people feel comfortable to come back and expect great quality content. I’d consider myself very lucky if from these 15K, about 400 would come back to read the next post.

While I now understand that it is currently possible to achieve this number again with much luck, I don’t really like betting on things.

I have an “ugly” layout and I made a point my with it. It is possible get a decent amount of visitors even with a poorly designed layout. I want such visitors to feel good about what they’re consuming here and have a good experience.

Seek for more users? Of course! But number one prio must be offering a better experience for everyone there. And the readers I currently have with me are the first group I’ll pay attention the most.

My vision for Q2/2020 is towards User Experience

I’m already doing my homework and soon will come back with proper measures: User Experience must be the number one prio for Q2/2020. There’s no sense to receive someone from search engines or referrals if people despise the content because of the layout. And I understand people who act this way.

Quality content will constantly be a concern. As I mentioned in my post about Test-Driven Learning I’m currently learning Rust. So low-level stuff will start getting much more often to the table.

I think tutorial-like articles need some more spice as well. I believe the articles about software testing, for example, are really cool but lack of multimedia. So for such things, I believe more images or even video content might make sense if well mixed.

Social media? Very little. I intend to keep doing outreach, but this time connecting more to communities directly instead of sharing things with key people on social media. I already started participating on live streams and similar stuff online organized by different communities.

This for now should be sufficient.

Again, thePHP Website exists for enduring the community. From there it should come and nowhere else.

If you’d like to check out what are the concrete key results this website will follow for Q2/2020, keep an eye on the github repository. Things are openly written there.

Thank you for being here are I hope to see you soon in my next post.

Cheers!