“It’s not about resources, it’s about resourcefulness” – I’ll leave it up to you to Google who this quote is from. It’s not that hard, it’s a quote that hit me a few years ago. I felt I was stalling in a role and needed to move forward. There is so much that you can do yourself to advance your career and learn. That’s why I wanted to focus in this blog post on the things that I’ve used, and in most cases are still using to learn more about SEO.
I’ve tried to list as many different learning options as possible, in the end, everybody learns in a different way. It’s one of my favorite questions to ask in interviews what the best way is for people to learn. If they’re aware of what it is, it for sure adds a bonus point to the candidate.
Conferences & Meetups
While I was still living in Amsterdam, at some point I felt like that I didn’t miss any meetup related to online marketing in a while. I went to a ton of them, and they were great. There is so much to learn at an event: soft skills: networking, talking, socializing, small talk. All skills that are just as important (I’d argue even more important) than the on the job skills (crawling, technical, content, etc.).
So let’s give you a selection of the blogs that I’ve been following over the years that helped me build my SEO knowledge. These are some of the ones on the list (read: it’s far from complete, I’ll keep updating the list with specific SEO blogs).
Follow people, follow experts. You can learn so much from the approach from that other people are taking. Just to get a different insight or to learn a new tool. SEO is a rich field where everybody has their own tactics and I feel strongly that every week I pick up on some new tactics in SEO that I’ve never thought of (mostly around research or authority building). We can’t know everything but it’s a good tactic.
Talk to people, they can tell & learn you more. I’ve asked people at companies that I admire for years if I could have coffee with them. If you’re reading this and one of them, I thank you again! Don’t ask for trade secrets, but if you do your research it will strengthen the conversation. So let’s expand a little bit on that …
After I’ve just mentioned that having coffee is great to learn more, but make sure you come prepared. As we’re talking about SEO, run an audit. Ask them why they’ve done certain things this way. I’ve learned a great deal just analyzing and researching the best sites trying to figure out what their SEO strategies are after which I got that confirmed by their teams while having coffee with them. I’m not telling this to brag about it, but to give you an insight into what you can do to get more out of the meeting too. It will strengthen the conversation. You’re using somebody’s time and she or he will likely appreciate it if you know what they’re talking about in more detail.
Creating Playbooks / Keeping track
Recently I shared for the first time the idea behind building a playbook in a presentation that I gave at a conference. It’s something that I’ve actually been doing for a few years now. For about a five years now I’ve been saving job descriptions, not of jobs that I wanted to be hired for (at least mostly not). But Marketing roles that I thought I was going to hire one day or grow into. They’re a great archive (I have close to 200!) these days for whenever I need to fill a specific role.
But the same methodology applies to most parts of somebodies work, most content teams have a style guide, when you’re working in CRO you have templates to document and hypothesize your experiments. But I felt that most of these ‘standards’ were missing across functions within Marketing and specifically (in-house) SEO teams.
What other tools are out there for others to use as well? What learning options have I missed and should I add to the post? Leave a comment here or on Twitter: @MartijnSch and I’ll make sure to keep this post updated, just like the others.
Since I’ve joined RVshare, I needed to think a lot about these questions (again): what people do I need to hire? What experience level do they need to be at? This made me reflect back on hiring for my teams at Postmates and The Next Web and my views on different levels in certain functions. As my background is, mostly, in SEO I started to think about what levels I would form within a big SEO team and what their differences are. This is my first attempt at this framework and part of the series about growing as an SEO, the previous blog post talked about how to write a proper job description for an SEO role.
In this blog post I want to talk more about the different seniority levels, what do they mean? What kind of role are you looking for: specialist or generalist? What level are they at? And what kind of levels do you need for your own team and what might be the different responsibilities for the different roles and how do they change (over time).
Generalist versus Specialist
Are you a smaller or bigger company and how big is your SEO team? What are you really looking for on your team? What is your own background? Do you know enough about SEO yourself to successfully guide & lead an SEO person?
You’ve probably heard of the idea behind a T-shaped role. Do you expect somebody to know a lot in one specific area (specialist) or do you want that person also to know a lot about the other areas that have a relation with SEO. This visual is just the tip of the iceberg o other skills that you can expect from an SEO.
I started myself as a generalist in my career, like most people. Back then, Springest had a need for traffic acquisition and I worked on their SEO, Affiliate Marketing and later on their Paid Acquisition (mainly Adwords). Next, to that, I worked a lot with Google Analytics to learn more about the keywords that were driving performance (this was before ‘not provided’ got introduced).
Mostly in smaller organizations, I see marketing leaders or founders hire for this type of person. In most companies, you early on need somebody to test the waters for all the channels and need to be able to manage more than just one thing. SEO isn’t usually the fastest growing channel for a company as it takes a while. That has a huge impact on why there aren’t a ton of people with a dedicated focus on SEO in most startups.
Later on, when I left Springest and joined The Next Web I was much more of a specialist. I focused solely on SEO, although later on, I added analytics and CRO (all before I lead their Marketing team). This meant that I needed to be proficient in all the areas that were part of SEO: technical SEO, content (we had tons of editors to work with) and figure out how to build out our authority at a big scale. All this type of work was very much only focused on SEO and didn’t have much impact on other channels.
Most SEO roles these days that I see are similar, they’re usually part of a digital marketing team and/or are the only person on the team with a dedicated focus on SEO to help that channel. They have often contact with a product manager. Marketing manager and the needed people focused on content, design, and development. But they’re the ones driving the specific roadmap for SEO.
Not everybody is a generalist or a specialist, neither is everybody a manager or wants to focus on just one discipline. But for most people, it makes sense to belong to a specific ladder.
Individual Contributor Roles in SEO
With most companies, you’ll start at the bottom of the totem pole when you start your career in SEO. Most people will start right around the title of SEO Associate or SEO Specialist at the beginning of their career and work their way up the ladder. After a while, most of them will need to make the decision to either continue to be an Individual Contributor (IC) or move into the role of manager where they start managing (or better: leading) people.
SEO Internship: We all need to build up experience and what better way to do that than with an internship/apprenticeship. This role will usually get the support of the SEO team while you learn how SEO works. Most people that I’ve seen enter this role have a passion for online marketing and are studying something in a related field (or totally not, sometimes even better). You’re never long in this role (at most 5 months), you either tend to like or not so you can move up on the SEO ladder.
SEO Associate: In some cases, this role comes in between an internship and having the title SEO Specialist. This usually happens within enterprises where you’re dealing with bigger SEO teams. There is not a ton of difference between the role of an SEO Specialist and the SEO Associate. But usually, SEO specialists tend to have a little bit more of experience (1-2 years as a maximum). They’re starter positions and sometimes the titles are intertwined.
(Senior) SEO Specialist: For most people, this is where they’ll start, the SEO Specialist. I’ve been and done there myself when I joined TNW this was my job title. I was the only person on the Marketing & Sales department dealing with SEO and was answering to the (at the time) CMO. This meant that I was working on all the aspects of SEO and was working with a development. When you’re getting more experience and depending on the size of the organization and HR structure it could be that you get the title Senior SEO Specialist after a while to claim the more experience that you have.
(Senior) SEO Manager: You’re growing, you’re basically now sort of managing the SEO process and you’re not answering usually to somebody who’s leading the SEO team anymore. You’re the one in charge of SEO but you’re not leading anybody specifically on the SEO team itself.
(Senior) Head of SEO: The highest level that I usually see on SEO teams as an Individual Contributor. It makes it that you’re not managing other people but work deeply on SEO and have the fundamental knowledge and resources around you to manage the whole process from start to finish. There isn’t a ton of companies that I know that are able to support this role as in most companies they’ll require you to become a manager.
Management Roles in SEO
Some people chose to go the route of the manager, they want to lead a team and be responsible for multiple people. This is where management & leadership skills are becoming more important as they’re not working 100% of their time hands-on on SEO anymore.
SEO Team Lead: This role likely makes sense by reading the job title. You’re part of a small SEO team and you’re the lead. I like to apply this seniority level on a team when it’s small and the ‘manager’ isn’t very experienced yet as a leader. It’s usually the case when they have moved over from the level of SEO Specialist and you decide to hire another SEO Specialist. Somebody has to lead the wolf pack and decide on a strategy. If the 1st SEO person has the ambition to step over to a more managerial role over time, this is a good start.
(Senior) SEO Manager: You’re managing the SEO team and you work with some people outside your own team to get things done. Usually, the case when you’re part of a bigger Growth or Marketing team and you’re the one deciding on what work is important to help the bigger team achieve its goals.
Director of SEO:You can strategically think about SEO and you’re part of a bigger organization. That’s what my last title was at Postmates. Our overall Growth organization of which we were part of was around 50 people and we had multiple Directors of different functions (Growth Product, Growth Engineering, Paid Acquisition, etc.) report into our VP of Growth. You lead a team that can also work cross-functionally with other teams within and outside the same group.
VP of SEO: Likely the highest seniority title that I’ve seen in SEO for in-house was that of VP of SEO. There are a few companies, mainly in the United States, that use that title. They’re enterprise companies (in all cases that I’ve seen at least). Where they differ from a Director of SEO role is that they’re focused on the bigger picture. They lead a team that is usually 1.5-2 times as big as the level lower and are responsible for just more than SEO. A position like this is usually also heavily involved in functions like Public Relations, Brand Marketing, and Content Creation depending on where that might live in the rest of the organization.
‘Global … Head of SEO’ – Global companies & reflecting this on titles
Through Twitter (@micahfk) reached out, with a good point about the title: “Global Head of SEO”. I’ve seen this level a few times myself as well and I agree with his point that this title can in most cases have more weight than a title on a Director level. In companies at scale, there will be a global team managing all of the enterprises’ SEO strategy where on the local level (usually countries or regions) teams will work on the local execution (and often strategy). They’ll have similar titles, but usually, the people who will head up a Global team will rank higher on the organizational chart.
This framework is simplified and not perfect. It’s a first shot at assessing what roles there are in an SEO function from an in-house point of view. As I’ve never worked with/for an agency I’m sure their views on this would be different, I won’t blog about that. It’s up for grabs for somebody who has extensively worked on that side of the fence.
Work in Progress: This blog post is a work in progress. I hope to extend it over the upcoming weeks with more information on the responsibilities and areas that the different roles work on.
Over the last years, I’ve had many (healthy) debates with product, brand and growth teams on what experiments to run and for what reason. In some cases, it was easier to run brand or product experiments just like a regular experiment to improve conversion rate. But in the some of them there was fear that either brand or product changes might hurt conversion rate. The main question that usually came up was: what is acceptable? And at the same time for product improvements: is this improvement going to impact anything? And do we decide that speed of testing is more important than the actual learnings? That’s what I want to cover in this blog post.
Experiments: Isolation & Exploration
So when do you run multiple experiments to explore what combination of features is working and when do you focus on one specific feature to isolate what really makes your audience tick. I think the majority of discussion around testing for conversion rate optimization is focused around that.
Combining Product Changes
A discussion that I’ve had with multiple teams over the years, what if we add feature X, Y, Z to the page. But what then, in some cases it’s easy to add all of these new features to the same page and run individual experiments or it’s a product improvement and in any case, it would be good to have that feature. In most cases, I would recommend running 1 experiment and stacking all these changes together.
Exploration: You explore if the product changes are going to have an impact on the user and what they’re doing. The argument against it is that you basically haven’t learned much and that you only know if the impact has been positive/negative. The upside is that you have good insights into if the product changes have an effect at all by rolling them out. The downside is that it might be hard to analyze the individual changes that you have implemented.
Isolation: In this case, I really want to know what the impact of a CTA, Image, text is on the user and if making changes to it will have any impact on the users’ behavior. If that’s the case, great! You really learned something that you can leverage again for future tests. And in case of the multiple changes, you would run multiple experiments to test the effect of all the changes on each other. The big downside could be in this case that it will take longer to achieve the results that you want.
What other methods have you seen, or what could be improved? How do you test faster when you do not always have enough traffic for multiple experiments.
I’m joining RVshare, a two-sided marketplace for RVs and motorhomes, as their VP Marketing! Over the last few weeks, I’ve talked extensively with the founders and part of the team. It became clear that this was a great opportunity for a few reasons.
They have great product-market fit and proved this concept clearly works.
They’re wanting to build out a world class (marketing) team.
They’re a marketplace business as well, connecting the supply of RV owners to the demand of renters who want to explore the world.
All of this got me really excited, after Postmates I decided that I wanted to work not just on one channel (SEO), but on multiple to create a strong diverse set of acquisition channels and build out a world class marketing organization somewhere. That’s what I’m mainly going to focus on for the next year (which means I’m going to be hiring soon for various roles, reach out to me if you’re interested in joining RVshare). In addition, I’ve always wanted to work for a company that is operating in the travel industry, as I consider it one of the most competitive industries and a joyful one, who doesn’t love bringing more travel to people. And what better ways are there to test your own skills than in an industry like that.
What is the challenge?
Build out a world-class marketing organization.
Create a diversified acquisition strategy to drive more new RVs/Motorhomes on the platform and acquire more renters who want to explore the world with an RV.
Trust data! Build and improve everything that the team has built out in the last years and help it grow to the next level.
Create an even stronger brand and build out renting RVs as an option for people traveling.
I’ll do my best to try to document parts of the journey here on this blog and on Twitter (@MartijnSch), if you want to get a hold of me, reach out to me via email@example.com
What is the effectiveness of our content, how well does our content work? Who is writing the best content? What should we be writing about next? These were the top X questions I received on a weekly basis while working at The Next Web. And I’m probably not the only one, I hear a lot of companies that are asking the same questions. We were a publisher, with a big editorial team (~10 FTE editors) and publishing around 30-40 blog posts on a daily basis and had so for the past ~10 years. Which meant that there were over 65.000 articles in our archive that we could learn from. One of the hardest projects in the end.
“Tons of page views doesn’t always mean this post is doing well or is of the highest quality/the best journalism”. If one of our post hit Reddit, HackerNews or was a top story in Google News we for sure celebrated this but the impact on the business wasn’t always that big as we were hoping. Traffic from most of these sources has very low engagement and basically only brought in money through display advertising (with incredibly low CPMs). Overall, this meant that we wanted to find a better metric to score the performance of editors and find out what kind of quality really worked well for the business, not just for engagement & visitor metrics. So we got started looking into this…
Usage Metrics, Useful & Useless
What I still see a lot of companies do, and in all honestly you can’t always blame them for that. Is look at the basic usage metrics of content. How much time has a user spend reading this article, what is the bounce rate, etcetera. Which isn’t great as most of the time you don’t know the context. Is a good blog post one that has been read for 2 minutes, or 1 minute. Obviously the length of the blog post and if it has videos/images has an impact on this. All data that is usually easily overseen when analyzing content performance. Even with taking this into account it’s making it hard to come up with recommendations while working for a publisher. Are you really always going to recommend to use at least 2 ¾ images in a blog post and require a video that is exactly 23 seconds long so we know for sure people will watch it? Probably not.
Most of all, these metrics don’t align with your business goals. How often does the CEO/COO/CMO ask you what the bounce rate is of your articles so they can calculate the return on investment. Never right? That’s why over time we need better metrics that align with the business and that provide useful insight into what content really helps and what content is just good for vanity metrics like page views. You’ll be surprised in the end how many companies are still driven by these.
Creating a Content Engagement Metric
It’s going to be about the monetary value that content represents for your business but we won’t be setting it up that way. In the end you need to be able to evaluate the way you calculate this and over time this will likely change with your business. That’s why it’s important that we can make the decisions in an open and honest way so we can make changes later when we think they’re needed.
Setting up Goals
If you want to get started and do this on your own it’s going to be important to know what kind of events are important to your business and site. In our case we looked at, for example: newsletter subscriptions, article shares on social media (they bring in more visits, so useful for more revenue), ticket sales, ecommerce sales, etc. But also in general we wanted to know what the value for us was with a pageview. I’m not going to walk you through the setup of all these goals in this post, but if you’re unfamiliar with setting up goals in Google Analytics, read & watch this.
Custom & Calculated Metrics
So now you have determined what the goals are that matter to you. What is going to be important in this step is making sure that you assign ‘points/value’ to all of the goals. You don’t have to edit the goals for that (probably even better not to, to not interfere with the page value metric). So for example, think of it like this:
Pageview: 1 point
Article share: 5 points
Newsletter subscription: 10 points
Ecommerce sale: 150 points (or varying on the product value)
Ticket sale: 250 points
Now it’s time to set up a calculated metric to take this into account. Why a calculated metric? By using this we’re able over time to adjust the formula to our needs but also individually assign values to the goals if we wanted to (in that case we’d use goal completions as well).
When you get started with this, know what numbers you are using for the goals that you have setup. You can find that in the Goals interface within Google Analytics.
Name: Content Engagement Score.
Formatting Type: Integer (you can change this to Float or Currency if that’s more applicable)
Now you have successfully created a calculated metric that we can use for reporting and informing other teams in the company about the content performance.
Trial & Error: Formulas should always be up for discussion
This formula isn’t going to be good the first time, you’ll have to tweak it and assign values that make more sense in your case. That’s why I also didn’t share the actual values of TNW (they were different from the example) as it matters to your specific business and goals.
To talk a little bit more about how things worked out for us, we tweaked it 3 to 4 times over a period of two months to get closer to our actual goal of measuring performance. In the end we could have editors who still would write for a ton of pageviews so get hundreds of thousands of points through that but editors who did great on business results weren’t rewarded value through that. So we upped some of the points assigned to our business goals to align them better.
Just setting up the goals probably already gets you quite far. It will allow you to create a page + goals report in which you can see how many goals have been hit for certain pages. Very useful if you want to measure the performance.
Dashboarding: Google DataStudio/Chartio versus (Google) Sheets
You need to share the reporting around this in an easy way, depending on your teams it will depend what works best for them. Sharing spreadsheets or making it easy for people to immediately take a look at a dashboard in a tool like Chartio and/or Google DataStudio.
Performance by day/editor/topic
Now you have all this data you can hopefully combine this with the data that you also have gathered through your custom dimensions. Previously I have blogged on The Next Web about all the ideas that I have around custom dimensions. Give it a go, it will be surprising to see how much easier it will become to report & analyze the performance across topics, time of day, team members when you can really align this with your business goals.
This is just an example of how we were measuring the performance of content for the business. There are many other ways to do this and you will have to customize the formula for your own business. What other metrics and ideas would you take into account to analyze and report this? Leave a comment or reach out on Twitter: @MartijnSch
We have all been there, haven’t we? Quotes like: “SH*T, my sitemaps are broken”, “I have no-indexed half my pages” or: “I have been kicked out of a search engine with way too many pages” sound familiar? Honestly, I can’t blame you. It’s getting harder and harder to keep track of all the changes that are being made regarding SEO on your site and you’re likely the only person involved with SEO for your company while also trying to work on driving traffic through other channels. So let me give you a quick insight in what I am usually tracking within bigger companies and where there is an actual team to react on issues that come up.
Writing a resume isn’t fun (IMHO) and writing job descriptions is probably even less fun. Over the last years I’ve written many of them, usually following a similar template that would help us define what the role is about. Which isn’t always a good thing, depending on the seniority of the role you want to make sure you use the right approach to hire and make it as personal as possible. Which usually makes for better hiring, most of my best hires came through my network of people I was at least ware of. Over the last months I’ve received many requests if I wanted to take a look at an SEO job description, if I knew people that were looking for a job and wanted to share it with my network, you get it. But what I started noticing is that most SEO job descriptions are incredibly generic and don’t really seem inviting too many people.
“We’re looking for somebody to set up or SEO strategy, we’re looking for somebody to work with our engineering and design team to create content. You’ll pick the right keywords for us to focus on”. Yada yada yada. You’ve seen and heard it all before. Obviously when you’re on a job search in SEO you’ll come across all of these requirements and responsibilities easily. But I think companies need to do better, definitely in an area like Silicon Valley, to hire the right SEO talent or to get them even interested. There isn’t that many of us, but the information you give ‘us’ isn’t always great. That got me thinking on what information should be mentioned in job descriptions for SEOs. But I also wanted to take a look at what job descriptions look like right now:
Saving job descriptions
I must admit, I have a weird obsession, if I see well written (or really poor) job descriptions, for whatever type of role in digital, growth, marketing, you name it, I have a tendency to save them (in Evernote). Over the years that has build up to a nice archive (150+ JDs) that I can use for writing new job descriptions that I’ve used for hiring. The list of 16+ companies that are amongst them: Airbnb, Uber, Groupon, Booking, Zillow, Hulu, Porch, Tesla and the descriptions range from SEO Assistants to more senior positions like Senior Director of SEO. Fill that up with all the job descriptions that you can easily find on most job sites (LinkedIn, Glassdoor) and you can get a good enough understanding of what managers + recruiters are thinking about while sourcing/hiring for SEO roles.
Almost unfortunately, Postmates didn’t have a job description for me. As my previous boss asked me to fill this need within the Growth team, otherwise I would have loved to share that original one.
What companies are looking for?
It doesn’t exist, even when you’re in the right position and you might be able to write your own job description. But most of them have some issues, so I decided to look at all the SEO job descriptions that I could find and see if there are any patterns in what companies are looking for. So let’s look at the two main areas of job descriptions:
Tag clouds are good for something I guess, that’s why I just threw in all the requirements for a dozen job descriptions and these were the main keywords that came up in the tagcloud. Some of the ones that stood out for me:
Performance: This keyword was interesting to me so I did some digging on the context, I expected it to be a requirement to know about performance marketing. Turns out the overwhelming majority of companies wants better performance reporting around their SEO strategy.
Content: People in SEO need to have a solid understanding of content, know how to create it and maybe even more important, know how to improve it.
Technical: Guess what, these days SEOs need to be technical. As most of the job descriptions are from Bay Area companies, that doesn’t surprise me at all considering that the work with product managers (or in some orgs are even PMs) and engineers most of the day. This is also important regarding technical audits that are usually performed inhouse.
Strategies/Initiatives: SEOs need to be able to make strategic decisions. For most companies they’re one of the people working on usually the biggest traffic channel for the site so they need to be able to think strategic as they can make changes to a platform that have a bigger impact than just SEO.
Team(s): They either need to be great working in teams (aka teamplayer) and in the more senior positions they need to be great at building up their own teams, or building out.
While analyzing this there were a few things that I was missing that I thought were interesting so at least I wanted to mention them.
Agencies: A good portion of SEOs that I know work with agencies, but there was barely a mention in job descriptions about working with agencies, finding them, etc.
ASO: Most companies that I went through had mobile apps, but ASO was never really part of the job description.
Requirements / Qualifications
Experience in SEO: For starter roles this is usually not a requirement, as they can only have experience with the work that they’ve done on the side and not in an actual job/company.
Experience in Analysis: Most SEOs needs to be at least familiar on a basic level with a web analytics tool like Google Analytics, Omniture, Adobe Analytics so they can analyze their performance (one of the core responsibilities).
Tools:Often I see experience with Google Search Console being mentioned, but I’d love to see more companies mention the other tools in their toolset too. In the end you won’t share that much information with your competition by telling them what tools you’re using.
Delivering results: Although you can’t guarantee that your work will help you need to be able to show the progress that you’ve made on other sites and the work that you’ve done there. If it didn’t result in an uplift, at least you’re able to provide answers on the why not and what your original hypothesis was.
What I feel is missing in the list of requirements & qualifications is a few things, what about the setup that you already have, or are they diving into a new field of opportunity. Are you going to expand your business, are you operating in new niches? For some companies the future manager will already know what projects (s)he wants work to be done for.
Tools? What is your current toolset, if somebody has exceptional expertise with a certain tool that for sure would help. Anybody can learn more about a tool, but experience is important too.
How often have they played ‘this’ game before? How many sites have you worked on, what was the scale/business model of the sites? I have way more experience then on average with publishers and marketplace models then probably other SEOs. While somehow I have barely worked for ecommerce sites and SaaS companies thus far. This also gives better insights if they have a certain ‘play book’ on how to approach certain issues.
Writing the Ultimate Job Description
I’m on a journey to change the world. OK slowly. And one by one. But I believe we can do better, making people find the right jobs will make them happier and increase the productivity and output for the company. The first step to get that started would be to improve job descriptions so people have a better idea on what they’re getting into then setting up a very generic one. Not all bullet points will apply to every job description, but you likely get the point:
Define the SEO strategy: we’re wanting to grow (X metric) with approximately XX% this year. SEO is one of the channels that we depend on, so we’re looking for somebody who could build out the channel after an intensive audit and figure out what opportunities we really have.
Reporting: be able to use our analytics infrastructure to dive into customer & traffic data to find new insights and opportunities for us to grow SEO as a traffic channel.
Reporting Up: be able to talk to our stakeholders and peers in the company about the performance and opportunities that you see within SEO. Be able to communicate the results of the work that we‘ve done.
Analytical: be analytical and data driven, are you able to write SQL and work with large amounts of data? Great! We have some of our analysts ready to work with you in supporting the insights that you need to gather.
Technical: we have developers ready to work with you, so it would help if you could code and be able to explain in detail what your wishes are for implementations regarding SEO and new features.
Content: we’ve been wanting to create & produce more and better content. It would be great if you have worked with copywriters and are able to take our blog & content marketing efforts to the next level. We have copywriters that we work with and also our PR specialists.
Build out the team: be a team leader and builder. Currently the team is 2 people that will be supporting you, but we hope to build out the team with your support. So we’d like to see experience leading people & teams.
Performance: you need to be able to identify opportunities, build out the resources needed and along the way have a ton of fun while always striving for better results.
Requirements / Qualifications
You have X years working experience in online/digital marketing and you know what channels are important for our type of business to be successful.
You have worked on (multiple) big sites regarding SEO before, it is important to us that you can show experience building out a strategy for a bigger site (50.000+ pages).
You have worked with web analytics tools and understand how you can use these insights to further improve user experience and optimize pages for search engines. Preferred tools would be: Google Analytics, Amplitude Analytics, Adobe Analytics, …, etc..
Do you have experience writing or have worked with copywriters before, great! This will help push forward our ideas on content marketing.
You have experience managing different products/projects at the same time, our teams are divided between products/projects and some are cross functional (designers, engineers).
You have worked before with tools that we already have in our toolset: Google Search Console, Bing Webmaster Tools, Majestic SEO, Screaming Frog, … , etc. but you’re free to look into other SEO tools (up to enterprise budget) and evaluate needs for our organization.
This is not even good enough but hopefully a good start, in the job descriptions that I usually write I also try to give insights into the company, mention what the team looks like and what the perks & benefits are of the role. But most important what type of person we’re looking for and how we think this role will help the bigger team grow & support. In the end it’s a two way stream and we want to make that clear from the start. You need somebody’s skills but you also want them to feel welcome and appreciated!
What do you think is really missing in job descriptions these days that should be reflect. What are you looking for in a next or first SEO role? Let me know, I’d love this post to become the ultimate SEO job description for the rest of the world. Hit me up on @MartijnSch on Twitter for feedback!
I’ve written about using Amplitude before on this blog (in Dutch), but what if you want to combine the huge amount of data that you have in Amplitude with your other big data. The Enterprise version gives you the ability to export your data to a Redshift cluster. But a lot of companies these days are also on Google Cloud Platform and want to use Google BigQuery, which is similar in its setup to Redshift.
The Export API from Amplitude lets you download all your events data (regardless of your account plan) for free. There are some limits to the data that they can export but most startups/companies that use them are likely to stay under that on a daily/hourly basis. Which means that you can export the data. So basically everything that you need to do is setup a cronjob that either every hour or day can retrieve the data. It will parse the data and prepare new files that will be temporarily stored in Google Cloud Storage (this will ensure that the data is easier/faster available for upload into Google BigQuery). The next step is loading the data from GCS to GBQ.
Over the last years I wanted to do more with Google BigQuery and this project was perfect for it. As BigQuery has many connectors with multiple Google products (Analytics, Data Studio) and other vendors like Tableau it should give companies the ability to analyze their data and connect to other sources.
Within Google BigQuery we’re going to save the data in two tables:
Events: As everything is an event in Amplitude that’s also one of the tables that you’ll need to use in Google BigQuery, that’s why every event will end up as being it’s own row in Google BigQuery.
Properties: Every event can have properties in a few different ways: events, users, groups, group properties and an actual data property. We are connecting them to the data from the events table.
Do I need to be a paying customer for Amplitude? No, you don’t. The free plans, which I started to use this on will have the support for the Export API as well.
What is the cost of the integration? The costs that are associated with this setup are related to Google Cloud Platform. You’ll have to pay for storage in Google Cloud Storage and the storage of Google BigQuery. For the setup that I’m running we’re saving millions of rows monthly and the costs are in total less than 10 dollar.
What do I need to do to get this up and running? Check out the README in the repository on Github, it will give you a getting started checklist to ensure that you can run this script.
I haven’t been the first person to work on an integration with BigQuery. I’ve seen other solutions for Java and Python, but they all work a bit different. If you have any feedback on the setup, leave an Issue on Github, submit a Pull Request with your proposed changes. In the end, I can code, but I don’t consider myself to be an engineer 😉
In my effort to write longer posts on a specific topic I thought it was time to shed some light on something that we’ve been working on during the last months at Postmates and something that I never thought of as a topic that could become interesting: sitemaps. They’re pretty boring in itself, it’s a technology where you give search engines basically all the URLs for a site, that you want them to know about (indexed) and you take it from there. Even more so, as most sites these days run on a CMS like WordPress where tons of plugins can take care of this for you. Don’t get me wrong, do use them if you are on one! But as I work mainly for companies that don’t have a ‘standard’ CMS I worked multiple times on creating sitemaps and having their integrations work flawless. Over time that taught me a ton of things and recently we discovered that certain additional features in the process can help speed up the process. That’s why I think it was time to write a detailed essay on sitemaps ;). (*barf: definitive guide).
TLDR; How can sitemaps help you get better insights, how to set them up?
Sitemaps will provide you with insights on what pages are submitted and which ones are indexed.
You create create sitemap files by uploading XML or TXT files with dumps of URLs
All your different content on pages can be added to sitemaps: images, video, news.
Different fields for priority, last modified and frequency can give search engines insights in the priority for certain URLs to be crawled.
Create multiple sitemaps with segments of pages, for example by product category.
Add your sitemap index file to your robots.txt so it’s easy to find for a search engine.
Submit your sitemap and ping sitemap files to search engines for quick discovery.
Make sure all URLs in your sitemaps are working and returning a 200 status code, think twice: do you all want them to be discovered?
Monitor your data and crawls through log files and Google Search Console.
When you start working on sitemaps there is a few things to keep in mind. The ideas that you have around them and the goal: what problem that you have are they solving? For small sitemaps (100 pages) I’m honestly not sure if I would support sitemaps. There is probably a lot of other projects that would have more impact on SEO/the business.
If you’re thinking about setting up sitemaps there is a few goals that it will help you accomplish:
Get better insights into what pages are valuable to your site.
Provide search engines with the URLs that you want them to index, the fastest way to submit pages at scale.
Overall this means that you want to support the best sitemap infrastructure you can as that will help you get the best insights ever, the quickest way to get these insights and most of all get your pages indexed + submitted as fast as possible.
Format? XML/Text? Does the format matter, for most companies probably not as they’re using a plugin to support their sitemaps. If you want to go more advanced and get better insights I would go with the XML format myself. From time to time we’re using text file sitemaps where we just dump all the URLs. They’ll help in getting you a sitemap quick and dirty if you don’t have the time or resources quickly.
Types: There are multiple formats for sitemaps to support different content types.
Pages: In there you’ll dump all the actual URls that you have on the site and that you want a search engine to know about. You can add images for these specific pages to that Schema as well to ensure that the search engine understands what images are an important part of the page.
Images: For both image search as making an impact with the pages you can add sitemaps for images.
Videos: Video sitemaps used to have a bigger impact back in the days as the video listings were a more prominent part of the search results page. These days you mostly want to let search engine know about them as they’re usually part of an individual page.
HREFLang: This is not really a type of content but it’s still important to think about. If your pages have a translated version, you want to make sure they’re being listed as the ‘duplicate’ version of that. Read more information about that here in Google’s support.
Frequency: Does the page change on a regular basis? Some pages are going to be dynamic and will always change. But for some of them they will change only daily, weekly, monthly. It’s likely worth it to include this as a good signal in combination with the Last Modified field and the header.
Last Modified: We do want to let a search engine know what kind of pages have been updated/modified and which ones aren’t. That’s why I’d always recommend to organizations that they should include this in their sitemap. In combination with the Last Modified header, we’ll talk about that in the next step it will be a good enough signal to assess if the page has been modified or not.
Priority: This is a field that I wouldn’t spend too much time thinking about. On multiple occasions, Google has mentioned that they don’t put any value or effort into understand this field. Some plugins use it and it won’t hurt. But for custom setups it’s not something that I would recommend adding.
Has the actual sitemap changed since the last time it’s been generated? Yes or No? In some cases your sitemap won’t change. You didn’t add any new products/articles. Have you ever run this in your terminal:
Look at the headers, if you see a Last Modified header, it will be a signal to see when the page has been last modified. We use it to tell the last time it was updated. We combine this with serving a Last Modified Header at the URLs that are in the sitemaps. Sometimes this won’t always work as pages can change momentarily (based on availability of products for example).
For better insights it’s really useful to segment your sitemaps. The limit per sitemap is in the end 50.000 URLs, but there is basically not a required minimum. The way you’ll see sitemaps being segmented is in multiple ways. Based on these you can get more segmented insights, is 1 category of pages better indexed then another one.
Categories: Most companies that I work with are segmenting there pages by the categories they’ve defined themselves. This could be based on region or for example by product categories for an ecommerce site.
Static Pages: Something that most people with custom build sites don’t realize is that there is usually still a ton of pages that aren’t backed up by a database that you you want insights on too. Think about: contact, homepage, about us, services, etc. List all these pages in a different sitemap (static_sitemap.xml) and include this file in your sitemap index too.
If you have multiple sitemaps (10-25+) you want to look into creating a sitemap index file, with this you can just submit 1 file and with that the search engine will be able to find all the underlying files that are part of the sitemap. This saves you adding multiple sitemap URLs to Google Search Console/Bing Webmaster Tools and will also give you the ability to add only 1 line to your robots.txt file. In the end it’s another sitemap technically which lists all the different URLs of the other sitemaps.
You want to make sure that on first entry a search engine will know about your sitemaps. Usually one of the first files a search engines’ crawler will look at is the robots.txt file as it needs to know what it can/can’t look at on a site. As we just talked about the sitemap index, we’re going to list that one in the robots.txt file for your site which should live on https://www.domain.com/robots.txt. It’s just as simple as adding this one line to it:
Obviously the URL can be different based on where you have hosted your sitemap index file.
If you’re a big site you likely have servers that won’t go down and can take quite a hit but if you have extensive sitemap files they could easily get up to +50MB that is not a file transfer that can be done in a matter of two seconds. Also it can just slow down things on both your end and the end of the search engine. That’s why we’ve started GZipping our sitemap files to make for a faster download and speed up that process, at the same time you make it 1 step more complicated for people to copy paste your data.
PING Search Engines
Guess what, it has an affect. I thought it was crazy too, but we found a tiny bit of proof that actually pinging a search engine will result in something. As you mostly will likely only care about Google and Bing we still have a way of letting them know about a page:
One of the projects that is very unknown is the PubSubHubbub project, it will let, mostly publishers, be instantly notified (through a specific push protocol) when new URLs are published in a feed. This protocol works through an ATOM feed (do you still know about that protocol?) that you provide. Once you have registered the feed with the right services you can make it easier for them to be notified of new pages.
XML Sitemaps aren’t easy to read for a regular person. If you’re not familiar with the format of XML it might be uncomfortable. Luckily a while back people invested XSLT. This will let you ‘style’ the output of XML files to something that is more readable. This would make it easier to see certain elements in the sitemaps that you’ve listed. If you want to make them more readable I would advise looking into: https://www.w3schools.com/xml/xsl_intro.asp.
Search engines like sites that are of high quality. The pages are the best, the URLs are always working and your site never goes down. Chances are high that all of this doesn’t always apply to your sitemaps as some pages might not be great. Some things to consider when you’re working on this:
301/302/404: Are all URLs in your sitemap responding like they should with a 200 response? In the best case scenario none of your URLs should be responding with another response code then that. In reality most sitemaps always contain some errors.
NoIndex: Have you included URLs in your sitemap that are actually excluded by a noindex meta tag or header? Make sure that it’s not the case.
Robots.txt: An even bigger problem, are you telling the search engine about URLs that you actually don’t want them to look at?
Canonical Pages: Is the actual URL that you’re listing the canonical URL/original URL or are you listing the pages that are still ‘stealing’ the content from another page, like a filter page. Do you really want to list these URLs in your sitemap?
With all of these signals, some might have a big/small impact others won’t matter at all. But at least think about the implications that they might have when you’re building out your sitemaps.
Lately I’ve been working a ton with Apache Airflow, it’s the framework that we use at Postmates, invented by the great folks at Airbnb and mostly use for dealing with data pipelines. You want to do X, if X succes you want it to go on to task Y. We’re using that for the generation of sitemaps, if we can generate all sitemaps we want to have them pinged with the search engines, if that succeeds we want to run some quality scripts, if that is done we want to be notified on both email and Slack to tell us at what time the script succeeded.
For some sitemaps we want it to run everyday, for a specific segment we want to have it run on an hourly basis. The insights from Airflow will give us the details to see if it’s failing or not and will notify us when it succeeds/fails. With this setup, we have constant monitoring in place to ensure that sitemaps are being generated daily/hourly.
Eventually you only want to know if your pages are of good enough quality that they’re being indexed by the search engine. So let’s see how can see this in Google Search Console.
A useful report in Google Search Console is the Index Status report (Google Index > Index Status). It will show for the property that you’ve added how many pages have been indexed and what pages have been crawled. As the main goal for a sitemap is driving up the number of pages being submitted for the Google index the following step is making sure that they’re being indexed. This report will give you that first high level overview.
Sitemap Validation: Errors & Amount of URLs
But what about the specifics of the sitemap, are the URLs being crawled properly and are the URLs being submitted to the index. The sitemap reports give you this level of detail (in this case 98% is indexed, which makes sense, the 2% missing are some products that were test ones that Google seemed to have ignored, luckily!). Remember what we talked about before regarding segmenting your pages? If you would have done that you would have seen in this particular example what percent of pages in that sitemap was submitted / indexed. Very useful if you work on big sites where the internal link structure for example is lacking and you want to push that. These reports can (they not always) give you insights into what the balance could be between them.
Are the URLs working (200 status code)? An unknown fact, but Google doesn’t like following redirects or finding broken URLs in your sitemaps. Spend some time on making sure that these pages aren’t in there or add the right monitoring to prevent it from happening. Since we’ve starting Gzipping our sitemaps that’s become a tiny bit harder as you first need to unpack them. But for quality testing we still have scripts in place that on demand can run a crawl of the sitemap to see if all URLs in there are valid.
Page Quality: Honestly, is this page really worth it to be indexed in Google? Some pages are just not of the quality that they should be and so sometimes you should take that into account when building up sitemaps. Did you filter out the right pages?
Metrics & Analysis
So far we’ve talked about the whole setup and how to monitor results. Let’s go a little step further before we close this subject and look at the information in log files. It’s a topic that I became more familiar with and have worked closely with over the last months too:
As log files can be stored on the web server that you’re also using for your regular pages you can get additional insights into how often your sitemaps are being viewed and if there are any issues with sitemaps. As we work on them on a regular basis it could be that they break. That’s why we make sure that for example we monitor the status codes for the URLs so that we can see when a certain sitemap doesn’t hit a successful 200 status code.
Proving that pinging works
A while back we started to ping our sitemaps to Google and Bing, both make it clear (Google) that if you have an existing sitemap and you want to resubmit it this is a good way to do it. This sounds weird, Google got rid of their ‘submit a URL’ feature for the index years ago. So we were skeptic to see if this had any impact. As it was really easy to implement, you just fire a GET request to a Google URL with the sitemap URL in there. What we noticed is that we saw Google almost immediately try to look at these URLs. As we refresh this specific sitemap every hour, we also ping it every hour to Google. Guess what happens, every hour for the last weeks they look at the sitemap by now. Who says you can’t influence crawlers? Result? If you want to ensure that Google is actually looking at a page and actively crawling it, pinging seems to prove that, that is actually happening.
What if you can’t ping? Usually I would only recommend pinging a search engine if your whole sitemap generation process is fully automated, it doesn’t make sense to open your browser or have a tiny script for this. If you still want to basically experience the same, use the Resubmit button in Google Search Console > Sitemaps to achieve the same.
This is not all of it and I’ve gone over some topics briefly, I didn’t want to document everything as there’s already a ton of information from Google and other sites about how you can specifically setup sitemaps. In my case, we’re on a route to figure out how we can make our sitemap setup near perfect, what I’m still wanting to investigate or analyze:
Adding a Last Modified Header to pages in the sitemap, what is the effect of pinging a sitemap and Google looking at all pages or just the ones that are modified?
Segmenting them even further, let’s say I only add 100/1000 pages to a sitemap and start creating just more of them, does that influence crawling, do we get better insights?
You want to learn more about sitemaps, look into the following resources to learn more about the concept, the idea behind it and the technical specification:
When I started writing I didn’t plan to have this become everything I know about sitemaps. But what did I miss? What optimizations can we apply to sitemaps in order to get better insights, speed up the crawling of pages. This is just one of the areas of technical SEO but probably an important one if you’re looking for deeper insights into what Google or Bing think about your site. If you have questions or comments, feel free to give a shout on Twitter: @MartijnSch
What if you are looking for a product for web analytics but have a lot of events, a complicated product and sending more and more data over time. Sometimes it wouldn’t just work to go with Google Analytics (360), Adobe Analytics and maybe integrating your custom build solution or Snowplow might be too complicated for your organization. In this post I’d like to show you another tool that might be interesting to you: Amplitude. I’ve been working with it for the last year and it provides some great flexibility over other products in the industry.
What is Amplitude?
“Analytics for modern product teams”
Or in normal language, you can track any event and connect that to a user. All the events that you send can have properties, just like the user can have properties. You can filter by all these data points and move your data around to turn it into multiple types of charts: funnels, event hits, revenue, etc. In this article we’ll be running through how you can be using Amplitude and what it’s good for. Let’s go ahead and dive in!
Why would you be using Amplitude?
You want to measure what is happening within your product and what users are doing. Keeping in mind that all this data can help you improve their workflows and measure the impact certain changes have on their behaviour. In that aspect, Amplitude is directly competing with mostly tools outside of web analytics, like: Google Analytics for Firebase, Snowplow, KISSmetrics, Mixpanel, etc. In the next section we’ll explain why, as a lot of features are interpreted differently from regular web analytics but can still help you a lot in your daily work:
What’s the difference?
Instant Reporting/DIY: While most analytics tools provide you with a lot of pre configured dashboards. Amplitude will let you do this all on your own, which can be a time consuming task but in my opinion it also lets you think a bit more about the way you set-up your analytics infrastructure.
No default metrics: Bounce rate doesn’t exist as any event can be triggered to influence it (plus, would that be your most useful metric anyway?)
Funnels: Anything can be a funnel, in my opinion that makes it very powerful as it doesn’t require you to create any predefined goals and also will make sure you can create funnels retroactively (recognize this pain point in Google Analytics?). If you added events a few weeks ago and now is the time to start creating a funnel of it, you’re able to. Want to change the funnel and add more/less events. You can.
User/Session: Sessions (on Web) don’t really exist in Amplitude. While in my opinion this is a metric that has a very loosely defined definition anyway it can come in handy from time to time to measure retention. It will provide this data on mobile where sessions are way easier to be defined (app open/close).
Channel/Traffic Source: If you’re looking for an easy way to track where your visitors are coming from with detailed reports that would be associated with costs. That’s just not what Amplitude is for. While it can easily save the UTM data that you’re sending along it won’t offer your great reporting around it. That’s why there focus is mostly on product analytics.
Merging Events/Linking Events: At the beginning of this section we talked about the need for setting up all the dashboards yourself. As you won’t have a very defined plan with your tracking for what’s to come over the next few years it can be hard to follow a certain naming convention from scratch. Usually turning your analytics data into an unstructured chaos over time. Within Amplitude you’re able to merge certain event names and link them together. So you can easily change your old event names to something new and still connect the data together. One of the features I really miss sometimes in other tools when I’m trying to redefine naming conventions and clean them up.
Why data governance is even more important
The role of data governance is becoming more important by using tools like this in combination with having the need for good documentation. If you come into an organization that is already sending hundreds of different events it can be really hard to get started with making a more deep analysis as you’re not always familiar with the
Naming conventions: You want to make sure that you’re using the right names for the events and that you’re making sure that their logical in order to send the data. It would be good to give this article, on creating measurement plans, that I wrote for online-behavior.com a read. We’ll talk later about how Amplitude can still help you if you would like to make changes to the events you sent.
Segments/Cohorts: As most of the data for users can be saved in event or user properties this will also mean that you need to make sure that the data in there doesn’t change too often as it might affect how you’ve set up your segments and cohorts.
Also funnels and many reports can be impacted by the way you save data.
Overview of features
Dashboarding/Charts: As we talked about the flexibility that Amplitude can provide you with, this mostly shows in the way you’re working with charts and adding them to dashboards. You can create dozens of different charts and add them to a dashboard. The dashboards will then, for example, give you the ability to change the date range. If you don’t like that you can still make all the changes from the actual chart.
A/B Testing – Significance Calculator: Are you running an A/B test on your site and sending the data to Amplitude. Within certain charts you can segment out the results and immediately calculate if they’re significant for what you’re analyzing. Saves time trying to find a significance calculator.
Custom Metrics: Just as many other web analytics tools, Amplitude will give the ability to create custom formulas within a chart to calculate other metrics.
Retroactive reporting: You have added tracking months ago but only today you’ve figured out that an event should be measure as a goal? You can set up a goal funnel really easily with old data and have all the old data being available to you.
Realtime: The fact that all of the events that you send to Amplitude are processed in real time makes it very powerful. Basically within minutes of launching a new feature you can start analyzing the data to see what’s going on or if it’s broken. Gone are the times were you need to wait for hours to have all the data that you are collecting be fully available.
Unlimited event/user properties & ‘dimensions’: Every event can have properties that can be related to the event. In addition to that a user can have properties that can be used too. So if I want to mark certain users with an action I can easily send that along with an event to update the records for this.
CLTV: Measuring the lifetime value of users will obviously require you to start identifying users (relatively easy to set up). But this will enable you to look into how you’re users are performing over time and if you have high retention for what that means for their customer lifetime value. This is an example report that would provide me with the performance of a segment of users over the last 12 weeks and what they’re worth to the business.
Google integrations? Obviously some things are missing, while the Cohort feature’ abilities are very powerful and Amplitude can provide you with some cool integrations with other software it still can’t make the connection with the audience data from Google. Which is obviously always going to be a big upside of the Google Analytics Suite.
Transactions/Purchase: The way Amplitude is tracking a conversion is a bit weird. You send all the products that you purchase as different revenue events. There is no concept of a purchase, which seems strange. Also it’s really hard to identify what the Xth purchase was, these are events that you need to setup yourself.
UTM/Traffic Source Reporting: It does exist but it isn’t great and definitely not as powerful as you’re used to in your regular web analytics tools. Does it get the job done for product analytics, Yes it does I’d say. If you’re looking to do anything more advanced with the data you should be building additional capabilities on your own end.
Funnels: Every event can be part of a funnel and that makes it very flexible and useful if you want to compare user behaviour. For example connecting certain user actions before a purchase funnel can be the case too.
Customer Lifetime Value/Retention:
Cohorts: Where you would have segments & audiences in Google Analytics you have the ability to also create cohorts of users to measure the impact of certain properties/events on their behaviour over time. For example this is a cohort that we used often at Postmates where we would look at what users that have come in with the sign up referrer that includes google, yahoo, bing (an organic search user). We would use this cohorts either to export them from other marketing purposes (email/push campaigns) or to analyze their behaviour against other cohorts.
How do organic search users in the last month behave different if they have used x feature?
How do users who have touched feature x find the other features?
Overall I’m pretty satisfied with Amplitude and how it can help you with its flexibility in adding/creating events and figuring out later what kind of dashboarding/charts you’ll create on top of this. But it’s likely (for now) not going to replace most of the data that you’re used to in web analytics as that would require a lot of additional setup and tracking. You can use it very effectively within organizations to track certain aspects and user behaviour. All in all a great addition to most analytics teams. All in all I would advise most companies to use these tools together as they can be very useful in providing more insights into what the user is doing specifically.
If you’ve worked with Amplitude and want to share more about your experiences, leave a comment! Currently I’m working on exporting Amplitude data to Google BigQuery for ‘big data’ analysis, in a future post I hope to share with you on how you can set that up yourself.