SEO database designing
Why SEO pages?
The phenomenal rise in internet marketing can be attributed to search engines. Search engines have been around for a while. However, their role in Customer Acquisition has been realized fairly recently.
Most companies know, that a potential customer is more likely to click on the first three links that appear, for a search query on Google, Bing among others. To be a top result for a search query most companies follow the appended practices:
- Get their pages indexed and provide meta information so that they are better ranked by search engines.
- Provide relevant content to the user with immersive UI/UX across web and mobile
- And lastly load the pages as fast as you can
Getting your pages indexed & providing relevant content is the easy part. Posts describing how to do that are available in plenty. We would instead focus on how to load pages faster. It may sound easy at first, but any seasoned developer will tell you to think twice. Partly due to the fact, that deep down he knows this requires careful planning & execution. The major chunk of which is dedicated to the database, as one can drastically change the offered content or the way it is presented to a user.
Focus on the database
In the world of information technology, a database is that one big scary monster, which nobody would want to take head-on. However, it is one of the most important things to take care of. Once you have addressed that, you can have a comparatively relaxed time solving any future problems that you might come across.
So, without further ado, let’s get started on how to avoid the common pitfalls of designing a good database:
Separate the clutter
It might be your first instinct to use a single database for holding your user, and SEO related content as it’ll be easier for you to see all the tables in a single place. However, my only suggestion is DON’T!
If you are wondering what reason lies behind that, then just start thinking about prospects like database availability, latency of fetching data from different regions of the world, read and write operations that you are bound to perform on your database, and the choice shall become clear to you.
Visualize data
Data on your pages can be either user-generated or curated by your team. So, the first step here is to identify the source and think
accordingly.
If the data is curated by your own team, more often than not your application data and SEO data would share common relationships and hence data models can be reused, which is bound to save you some thinking power.
Comparatively, user-generated data might turn out to be totally different, in terms of the relationships they have, to how you are currently storing the data. This difference will arise primarily due to the fact that SEO database architecture is made according to the data shown across different pages.
In order to properly visualize this, you need to take a step back and think about what is the best type of database you should use. You can choose from conventional Relational, NoSQL, or the less common Graph database. Each come with their fair share of pros and cons . The only consideration here is visualize, how your data links with each other and see which particular one suits the purpose.
Think about architecture
Choosing a good database and establishing relations between your data is only 1/3rd of the problems solution. The second step for this is creating the right schemas.
Quite a few of you might be confused on how to organize data, and create schemas. A general thumb rule is - place the data according to your queries. What it basically means, is that whatever content you are showing on a page should be available with the minimum number of queries (the queries should execute fast too) on your database.
You can refer to the below sample ER diagram to have an idea of how you can place data, and identify their relationships.
The only thing that you should account for is, what would happen if there’s new data to be added to the system. Would it require a significant effort the next time? If the answer is yes, it is ideally suggested that you spend some more time tweaking your architecture so it becomes future resilient too.
Optimize your queries
What good would your work amount to, if you let it all slip away just by writing queries that take too long to fetch the data that you need. So, go for the last mile and optimize the queries that you write and glory shall soon be yours.
Here are some ideas on how to do the same, let’s consider that I have zeroed on a SQL database. For that the following are a few points that can be taken into consideration while optimizing your queries :
- Don’t use functions inside where clause, eg.
SELECT * FROM TABLE1 WHERE UPPER(COL1)='ABC'
2. Avoid using wildcard at beginning of where clause, eg.
SELECT * FROM TABLE1 WHERE COL1 LIKE '%ABC'
3. Avoid using unnecessary columns in SELECT
4. Create proper indexes to speed up your queries.
Final Words
Congratulations! If you took care of all the things mentioned above, you are bound to end up with something really beautiful, that is going to last you a long time and in turn will be scalable too.
Once you have kept a note of all these things, there is only a slight chance that your pages would be rendering slow. If that is still the case you know where you need to get your hands dirty next, the FRONTEND!
I hope this article helps you in the process of creating fantastic SEO pages, if you have any further queries feel free to drop in some comments.
Please drop in your comments and thoughts on the article. To know more about DocsApp check out our website, and if you like what we are doing and want to join us — feel free to write in to us at careers@docsapp.in