SEO is about structuring your site correctly so that Google indexes and ranks pages well. All of the major sites (FB, Linkedin, etc) use a sort of directory structure to make their pages accessible to Google.
Check out:
Suppose you 500K company names (rows). How would you go about implementing such a directory? The conditions for this directory are:
- You want to minimize the number of clicks to get to any company profile
- Fewer clicks means Google perceives higher authority for the page and ranks it higher in search.
- Google's guidelines on SEO ask you to limit the number of links per page to 100 (excluding navigational links)
- Google's going to crawl these pages, so you need the pages to load fast.
- New companies keep getting added every day and you'll want the directory to get updated regularly.
- Organize the directory alphabetically, with the top-level nodes being A..Z
- How would you represent this data in the backend?
- How would design the routing (URL structure)?
We have struck a deal with a new API partner who will providing companies by name. They only offer a single endpoint which returns a array of thousands of company names:
{
"companies": ["Abafaf", "Bezfaofu", "..."]
}
Grab this list, store it in either our Postgres or Redis database, and then render (using a framework of your choice) the SEO hierarchy into HTML pages (no CSS styling required).