Custom Python scripts are much more customizable than Excel spreadsheets. This is good news for SEOs — this can lead to optimization opportunities and low-hanging fruit. One way you can use Python to uncover these opportunities is by pairing it with natural language processing. This way, you can match how your audience searches with your...READ POST
The following blog post includes an interview with Hamlet Batista and Cloudflare’s Zach Bloom. What the full interview on CloudflareTV here.
Bloom: I would love to hear about the story of RankSense and what problem it solves.
Batista: Ranksense is an agile SEO platform. It’s about doing things iteratively, having a fast feedback loop, and adjusting to problems which is the opposite of the traditional waterfall approach.
Our mission is to compress the time it takes to see SEO changes from six months to six weeks. It’s about getting results faster to avoid scams and minimize opportunity costs. That’s the solution. We’ve been working on this for over five years, addressing each of these roadblocks.
Bloom: RankSense sits between web pages and search engines using Cloudflare Workers to optimize metatags and change content on the fly to determine which content is most successful. Is that right?
Batista: At a conceptual level, yes. How we do this is more about determining the gaps. When people think of SEO, they think about rankings. But before you can be ranked, you have to be indexed, just like a book has to be in a catalog to be found in a library.
The best way to think of search engines is like a library where websites are equivalent to books. You don’t want to have to search every shelf for a book you’re looking for. It’s easier to go to the search index and look up the title to find it. In order to find it in the index, someone has to do the work to catalog it.
So where’s the opportunity gap?
An author will assume that just because they created the book, it will be successful. That’s not how it works—you have to invest time picking an interesting topic, researching your audience, selecting a catchy title, making sure it’s cataloged correctly, etc. This metadata information increases the book’s success in the library. This is a basic analogy between SEO and the physical world.
Let’s translate this to what we do at RankSense.
It’s your job to provide fantastic content and credibility by building trust with your audience. But what’s the missing component to make your content successful? Meta tagging. It’s about labeling things within your content—things that are primarily visible only to search engines.
By doing this, the librarians of the web (search engines like Google, Bing) can catalog it correctly so that it performs where there is demand, therefore, attracting appropriate traffic.
A site with few pages can be indexed easily, with no problem. With a larger site, the more pages you have, the higher the chance that a big portion of them are not getting into the index because the tagging is incorrect.
This manual process of tagging is easy to do with a few pages, but when you have a large site and rely on an automated system like CMS, there may be mistakes, causing Google to not find all the pages.
Bloom: Intercepting a webpage and modifying it on the fly without slowing it down was not possible five years ago when you started RankSense. How did you go about building this?
Batista: My inspiration for this product came from the security industry. I have a systems engineering background and I worked administering Solaris servers about 20 years ago. I had to learn about firewalls and security, which I found very interesting. RankSense is like a web application firewall but in reverse. There’s the HTTP traffic coming in and rules to block malicious traffic. This traffic gets patched on the fly which saves time on the backend since changes are not being made to the origin. That has been a powerful concept that has existed for a long time.
I realized I could use this same concept of the firewall that patches requests coming in to patch the responses going out and the HTML inside the response body. With this concept, not only am I able to patch the content, but I am also able to rewrite URLs and redirects.
I have a friend, Stephan Spencer, who was doing something similar in 2002 with a reverse proxy. He created a duplicate site and blocked everything to have the two sites with the reverse proxy mapping to a folder.
In 2010, I joined Altruik, a startup where we were trying to do something similar, but without duplicating the sites. With the reverse proxy, we were adding 500 milliseconds. With that latency, you imagine you wouldn’t be a successful product.
Since SEO understanding was so bad back then, we did manage to see some successes. In one case with a fortune 500 retailer, we were able to achieve significant lift and they were paying us a 3% commission on product sales which translated to over $1.4 million a year. This was a crazy amount of money for one client to pay. The big problem we faced was that the company copied our technology and built it internally. It was a terrible situation and I left that company.
Then I started RankSense in 2015.
In 2016, I signed IBM as an alpha customer and tried this all over again in real-time. In their case, they were trying to standardize hreflang tags, meta tags that support multi-language, multi-region websites so that when people search in France, for example, they see results in French. IBM had a number of CMS systems which made it very difficult to have a standardized format for URLs. They were trying to rewrite the URLs with Akamai, but they realized the content was breaking since there were relative resources within the content.
I created a demo to present to IBM at our initial meeting, where I proxied their site to show how my solution could solve their problem. After just five minutes into the meeting, they were on board.
Through Akamai, they delegated a couple of directories to do the pilot. We set up our proxies inside the IBM network and had dashboards with Kibana showing everything in real-time. This was the genesis of our current product.
Then disaster struck.
We were using an alpha version of our product with the largest company we could imagine.
There was a mistake on our end and on their end. We were having an issue reflecting our changes in pages cached by Akamai. We were making changes, but they weren’t getting updated quickly enough. We wanted to release a patch to trick Akamai to refresh the cache faster when we made updates.
My devs logged in on a Sunday and deployed the change, but they didn’t verify if it actually worked. We ended up taking down parts of the IBM website. IBM’s issue was that the backup configuration in Akamai didn’t trigger the bypass. They made a configuration mistake and we didn’t verify the change on our end, making them realize this was too risky.
They became incredibly nervous after that but were still interested in the solution. They introduced us to an Akamai trial to automate this part and eliminate the manual parts of the process. We tried to make it work, however, it was a bit of a pain.
It was still 2016. We had learned our lessons. The fact that IBM had so much interest in our product and paid us for the pilot was a big deal.
At that point, we had the reverse network proxy enabled with Akamai and a number of other clients. We needed a CDN and when Kubernetes became popular, we began using it along with our SEO technology which was great. Then, we started using the Google Cloud CDN and found it to be even better. We were getting deployments faster and offered the CDN to our clients to rewrite headers and cache static content.
Security became our next problem when we started working with e-commerce websites. We had to go through the process of PCI Compliance to become a certified service provider. It was a pretty difficult project.
Then, we came across another situation. We had one client that we had already signed up with five or six brands and had paid so we decided we didn’t want to go through with the PCI compliance process again. Their tech team didn’t want to approve our system.
At the time, I had heard of the Cloudflare Workers platform. When I tried it in 2017, we were trying to do the HTML modifications but didn’t find success, and gave up.
I made a hasty decision and offered it to the client since it already had PCI compliance. They accepted it. We had a contract to use Cloudflare and didn’t even have it working yet. Now we really had to figure out how to make it work!
Now, this is the best part.
When we got it to work with this client, we saw the benefits of the increased speed and simplicity of onboarding. We were also able to save money from our switch to Cloudflare from Google Cloud. With this money, we were able to hire developers and build our self-serving app.
Bloom: How much was this infrastructure costing at Google?
Batista: Around $5,000 a month.
Bloom: What is the experience for one of your clients using Workers vs. Google Cloud?
Batista: Not only is it cost-effective, but we saw a 30% increase in speed.
Bloom: It’s an amazing story, not just because it was 30% faster and you didn’t need devops, but because it was worth all your work—it was delivering enough value. The fact that you were willing to go through all those hurdles in the early days of Workers before we had the technology we have today means it really must’ve been delivering value to you. There’s nothing more powerful than building a business on top of a platform and vetting all the work you do every single day.
Batista: The way I vet ideas is by whether or not a customer is willing to pay upfront. If you’re willing to invest time and money before I even have the finished product completed, it’s a good idea. If you think of it, I was quantifying my efforts and investments in Cloudflare and saving that money to put towards adding more capabilities to my product like the self-serving capability.
It’s always important to start with the problem. Entrepreneurs often look at their competitors to determine what they can do better. Instead, find clients’ numb pain—like IBM’s frustration to standardize hreflang tags. Find a problem that your potential clients have lost hope in and iterate to a viable solution.
I love getting on calls with new clients and they say, “I didn’t even think you could do this.” They get excited.
Bloom: What has happened since the adoption of RankSense? Are people paying for it? Did it turn out to be a good product?
Batista: The way we’re working on the product is in phases. Right now we have over 900 users. We started aggressively in terms of stress testing the scalability of the system. We needed a system that anyone with any size website could use without problems.
The way I see the future is making websites self-healing through automation and systemization. I see this happening in SEO, marketing, security, and other industries. The capabilities of Workers opens the door for developers and enables you to do a lot more with less time and effort.
The next layer of SEO we’re adding is automation. Instead of manually writing title tags or setting rules, we’re trying to use NLP and AI to automate tasks at scale and ensure that the results are good. We need to make sure that this work can be better than what’s done manually. That’s the next phase we’re working on.
Bloom: What would your message be to someone who’s thinking of building a Cloudflare app? What would your message be to a potential RankSense customer?
Batista: For developers, I would give this example: Think about the App Store when the iPhone was launched. There’s an advantage to being one of the first apps—you capture momentum.
For RankSense, we were able to ride that momentum wave. We concentrated all our time and effort into making the product better and improving its capabilities. By doing that, we were getting users without having to do any marketing at all and were able to save money.
Over the last year, I’ve done various public speaking engagements and written articles to build credibility with our community to show that we know what we’re talking about with SEO and automation.
For people interested in trying RankSense, I would stress the importance of SEO. Would you rather wait six months to know if what you’re doing is working or six weeks? Our agile, iterative work enables you to see the impact of your changes faster.
Think of this. Instead of having a marketer decide the changes and then a developer implementing all these changes in batches, you can have the marketer doing both things iteratively.
You may ask, “Why would I make changes to the Cloud instead of my CMS?”
You can make changes quicker and easier. With RankSense, you can see how each change affects your site. Out of maybe 100 changes, you can learn that 10 are effective. Then you can take these 10 validated changes and apply them to your CMS since you already know they will work. This can save you time and effort in implementation.
Bloom: You are one of the hardest working people I know in terms of creating content, speaking, and publishing articles. You mentioned previously that you don’t particularly enjoy doing these things, but you do it to grow your business. Where did this discipline come from? It is a practice or is it a natural part of who you are?
Batista: Last year, I applied for a merchant account with Paypal. It was declined. When I asked why, they said it was because I worked in SEO and thought we weren’t good people.
We had spent three weeks preparing this integration. They wanted nothing to do with me. I was beyond frustrated.
Some bad SEOs had created a really bad reputation for the whole industry by scamming small businesses.
I had to do something.
I had an opportunity to give a talk about Python and thought, “Maybe I can connect my passion for Python to improving SEO’s reputation.”
I searched in Google, “How to start a movement’ and found a video that changed everything.
I can’t give presentations and write articles without first starting with the code. That’s what gets me excited. The code is my motivation and I do it because I will learn something new. I do it to inspire the new generation of SEOs to follow my lead and change the perception of the industry to become data-driven.
Doing this consistently shows that I truly believe in this and therefore, I build trust. It’s inspiring to see people participate in this movement that I’ve been able to set in motion.