Tag Archives: data

SEO Ranking Factors & Correlation: When a Metric is correlated with Google Rankings

SEORankingFactors&Correlation---What-Does-It-Mean-When-a-Metric-Is-Correlated-with-Google-Rankings_ywf

In this opportunity we are going to talk about SEO ranking factors and correlation. In the other words, we want to see how correlation can impact on SEO factors. If you have likely seen, over the course of your career in the SEO services, you will see how much SEO works with correlation stuff and how many companies put these out. Actually there are also so many myths about correlation, but aside from that let’s figure out a few smart ways to use and understand the data at hand.

What is correlation good for?

So, what’s correlation actually good for? We know a bunch of myths, but actually that do not work. So, here are some things that correlation is good for.

1. IDing the elements that more successful pages tend to have

When you look across a correlation, you will find lots of pages are twice as likely to have X and rank highly as the ones that don’t rank highly which you can use this finding as a good piece of data.

2. Watching elements over time to see if they rise or lower in correlation

it is important to keep your eyes on links to see if they raise or lower, and then we can say:”Oh, does it look like links are getting more or less influential in Google’s rankings? Are they more or less correlated than they were last year or two years ago?” If the links drop dramatically, you may test the power of links again and it’s the time for you to try another experiment. Then, see if links still move the needle or if they’re becoming less powerful or if it’s merely because the correlation is dropping.”

3. Comparing Sets of search results against one another we can identify unique attributes that might be true

The example above shows that in a vertical like news, we find that domain authority is much more important than it is in fitness; this is where smaller sites potentially have much more opportunity or dominate. Other thing that we can figure out is that https is not too suitable to stand out in news since everybody has it. On the other hand, it works well in fitness as it produces a more stand out result and people who do have it will do it much better or maybe they also invest more in their sites.

4. Judging Metrics as a Predictive Ranking Ability

One question may come up to your mind when you’re looking at a metric like domain authority, such as how good is that at telling me on average how much better one domain will rank in Google versus another? In fact, you can see the number is a good indication of that. When the number goes down, then domain authority is less predictive less sort of useful for me. Conversely, it will be more useful if it goes up. A study is conducted to look at traffic metrics with Alexa Rank and SimilarWeb and which ones are best correlated with actual traffic. The result shows that Alexa Rank is awful while SimilarWeb is better.

5. Finding Elements to Test

You will be amazed to see large images embedded on a page that’s already ranking on page 1 of search results in the first few. This is why we need correlation, especially in SEO when it comes to ranking factors or ranking elements might be misleading.

So, now that you know the area that correlation is good for. However, you still need to be careful as correlation in SEO can be very misleading, especially when it comes to ranking factors or ranking elements. After all, with this explanation, hopefully you can understand how to use and not to use that data.

 

Json-api-normalizer: Why JSON API and Redux Work Best When Used Together

As a web developer, we have to manage the data needed for every application we work on. There are problems when doing so, such as:

  1. Fetch data from the back end.
  2. Store it somewhere locally in the front-end application.
  3. Retrieve the data from the local store and format it as needed by the specific view or screen.

In this article, we are going to discuss about the data usage from JSON, the JSON API and GraphQL back ends, and from that, we can learn the practical way on how to manage front-end application data. As for the real use, let’s imagine that we have carried out a survey that asks the same questions of many users. After each user has given their answers, other users can comment on them if wanted to. Our web app will perform a request to the back end, store the gathered data in the local store and render the content on the page. In order to make it stay simple, we will leave out the answer-creation flow.

Redux Best Practices

What makes Redux the best is that it is changeable no matter what kind of API you consume. It doesn’t matter whether you change your API from JSON to JSON API or even GraphQL and back during development, as long as you keep your data model, so it will not affect the implementation of your state management. Below is the explanation on the best practice using Redux:

  1. Keep Data Flat in the Redux Store

First, here’s the data model:

 

 

Based on the picture above, we have a question data object that might have many post objects. It is possible that each post might have many comment objects. Each post and comment has respectively one author.

Let’s say we have a back end that returns a specific JSON response. It is possible that it would have a carefully nested structure. If you store your data in the same way you do in the store, you will face many problems after that, like, for instance, you might store the same object many times like this:

{

  “text”: “My Post”,

  “author”: {

    “name”: “Yury”,

    “avatar”: “avatar1.png”

  },

  “comments”: [

    {

      “text”: “Awesome Comment”,

      “author”: {

            “name”: “Yury”,

        “avatar”: “avatar1.png”

      }

    }

  ]

}

In the example above, it indicates that we store the same Author object in several places, which is bad, because not only does it need more memory but it also has negative side effects. You would have to pass the whole state and update all instances of the same object especially if somebody changed the user’s avatar in the back end.

To prevent something like that from happening, we can store the data in a flattened structure. This way, each object would be stored only once and would be easily accessible.

{

  “post”: [{

    “id”: 1,

    “text”: “My Post”,

    “author”: { “id”: 1 },

    “comments”: [ { “id”: 1 } ]

  }],

  “comment”: [{

    “id”: 1,

    “text”: “Awesome Comment”

  }],

  “author”: [{

    “name”: “Yury”,

    “avatar”: “avatar1.png”,

    “id”: 1

  }]

 }

  1. Store Collections as Maps Whenever Possible

After we have the data in a good flat structure, we can gradually accumulate the received data, in order for us to reuse it as a cache, to improve performance or for offline use. However, if we combine new data in the existing storage, we have to select only relevant data objects for the specific view. We can store the structure of each JSON document separately to find out which data objects were provided in a specific request to gain this. There is a list of data object IDs that we can use to gather the data from the storage.

Let’s say there is a list of friends of two different users, Alice and Bob. We will then perform two requests to gather the list and review the contents of our storage consequently. Let’s suppose that from the start the storage is empty.

/ALICE/FRIENDS RESPONSE

Here’s the User data object with an ID of 1 and a name, Mike, like this:

{

  “data”: [{

    “type”: “User”,

    “id”: “1”,

    “attributes”: {

      “name”: “Mike”

    }

  }]

}

/BOB/FRIENDS RESPONSE

This is another request that would return a User with the ID of 2 and Kevin as the name:

{

  “data”: [{

    “type”: “User”,

    “id”: “2”,

    “attributes”: {

      “name”: “Kevin”

    }

  }]

}

STORAGE STATE

This is what our storage state would look like:

{

  “users”: [

    {

      “id”: “1”,

      “name”: “Mike”

    },

    {

        “id”: “2”,

        “name”: “Kevin”

    }

  ]

}

STORAGE STATE WITH META DATA

In order to find out or distinguish which data objects in storage are relevant, we have to keep the structure of the JSON API document. With that focus, we can change it into this:

{

  “users”: [

    {

      “id”: “1”,

      “name”: “Mike”

    },

    {

        “id”: “2”,

        “name”: “Kevin”

    }

  ],

  “meta”: {

      “/alice/friends”: [

        {

          “type”: “User”,

          “id”: “1”

        }

      ],

      “/bob/friends”: [

        {

          “type”: “User”,

          “id”: “2”

        }

      ]

  }

}

With this, we can now read the meta data and gather all mentioned data objects. Now here’s the recap of the operations’ complexities:

As can be seen from the picture above, maps certainly works better than arrays because all operations have O(1) as the complexity instead of O(n). If we use a map instead of an array for the User data object, it would be like this:

STORAGE STATE REVISED

{

  “users”: {

      “1”: {

        “name”: “Mike”

      },

      “2”: {

        “name”: “Kevin”

      }

  },

  “meta”: {

      “/alice/friends”: [

        {

          “type”: “User”,

          “id”: “1”

        }

      ],

      “/bob/friends”: [

        {

          “type”: “User”,

           “id”: “2”

        }

      ]

  }

}

Now with this simple method, we can find a specific user by ID almost instantly.

Processing the Data and JSON API

There are many solutions to convert JSON documents to a Redux-friendly form. However, while there is no significant change within the application’s lifecycle, it will cause a failure if things are too dynamic, even though normalizing the function with the provision of a JSON document works great if your data model is known in advance.

Using GraphQL might be possible and interesting as well; however, if our APIs are being consumed by many third parties, we can’t adopt it.

JSON API and Redux

Redux and the JSON API work best together. The data provided by the JSON API in a flat structure by definition conforms nicely with Redux best practices. The data is typified in order to be naturally saved in Redux’s storage in a map with the format type → map of objects.

There are things to consider, though. First, it should be noted that storing the types of data objects “data” and “included” as two separate entitles in the Redux store can violate Redux best practices, as the same data objects would be stored more than once.

To solve these problems, we can use the main features of json-api-normalizer, such as:

  • Merge data and included fields, normalizing the data.
  • Collections are converted into maps in a form of a id=> object.
  • The response’s original structure is stored in a special meta

First, in order to solve problems with redundant structures and circular dependencies, the introduction of the distinction of data and included data objects in the JSON API specification is needed. Second, there is a constant update on data in Redux, although gradually, that can help with the performance improvement.

 Now that you know why JSON API works best with Redux, it can be concluded that this approach can assist us in prototyping a lot faster and flexible with changes to the data model. If you are in doubt whether using Redux with JSON API or not, this article will help you find the solution and reason why you shouldn’t doubt this method.

4 Tips E-Commerce Companies Should Do to Improve Revenue

5 Tips E-Commerce Companies Should Do to Improve Revenue

Are you struggling with your E-commerce sites? If yes, this is maybe because you don’t know what to do with your E-commerce. Fortunately, SEO can be a powerful tool for your E-commerce. In the tips below, you will see 4 ways to double or even triple your revenue by attracting more organic search traffic. If you are marketers or people who work in SEO service. This article is certainly for you.

  1. Successful e-commerce companies use search & analytics data to inform their strategy.

Every successful e-commerce company knows that data is king. Therefore, many successful e-commerce websites will conduct research to collect information about what people are searching for on Google by carefully studying search terms, phrases and keywords.

To analyze the data, marketers or SEO analyst can use tools like SEMrush to measure conversion percentages and market share by category and sub-category. The acquired information will give a realistic picture of where the company stands, how well they’re doing, where opportunities lie to increase market share, and what segment they should focus on. In the end, data is aimed to help increasing sales and revenues.

  1. Their Information Architecture and Website Structure is Customer-Focused

Another key to improve you revenue is to always serve on what customers want. You can discover your customer’s intent by using search data from Google. Then identify frequently asked questions and solutions that customers are searching for.

The website of a successful e-commerce company doesn’t mirror its organizational structure. Instead, the focus is on what customer want. Using search data from Google to uncover user intent, smart marketers first identify frequently asked questions and solutions that customers are searching for. A customer-oriented information architecture which is effective and easy to navigate can be a solution.

  1. Their Content Strategy is Based on Search Data

In terms of creating content, Leaders of successful e-commerce will always produce content that matters to their customers. So, it will be good if SEO consultants and content producers work together in deciding what kind of content that impacts sales or build long-term relationships.

  1. They Solve Critical Problems Early in the Planning Phase

Having bad planning will caught you in a nightmare, therefore proper planning and preparation lets the high performers issue suitable instructions to developers, which results in better website coding that won’t have to be completely redone later if problems arise.