{"resource":{"author":{"id":"3eh0kijZwMrHum8TkMqX","name":"Devtools Tech","username":"devtoolstech"},"content":{"link":"","difficulty":4,"domain":2,"type":1,"isInternal":true,"body":"![Illustration](https://ik.imagekit.io/devtoolstech/blog/improving-seo/Screenshot%202025-04-24%20at%2011.14.53%E2%80%AFPM_cwJCWDmLD.png?updatedAt=1745516843519)\r\n\r\n#BuildInPublic\r\n\r\nSharing a small SEO improvement I made on [devtools.tech](https://devtools.tech/?utm_source=dt-platform&utm_medium=blog&utm_term=seo-boost) — one that could have a big impact.\r\n\r\nSEO is critical for most businesses, and it often comes up in Frontend System Design interviews. Search engine bots crawl webpages by following actual links (`<a>` tags) i.e. a crawler lands on a webpage then starts crawling all the links present on that webpage and keeps on forming a chain. The more meaningful links you expose, the better your chances of ranking and driving organic traffic.\r\n\r\n**Issue:** While auditing one of our top pages ([devtools.tech/questions/all](https://devtools.tech/questions/all?utm_source=dt-platform&utm_medium=blog&utm_term=seo-boost)), I noticed that pagination was handled via client-side JavaScript (onClick handler + manual URL updates). The issue? Bots don’t follow JS-triggered events, so only the first page was getting crawled and indexed.\r\n\r\n**The fix was simple:** switch from buttons to proper anchor tags with URLs pointing to the next/previous pages. Same experience for users, but way better for crawlers.\r\n\r\nA small, low-hanging fruit — but often, it's the simplest changes that have the biggest impact.\r\n\r\nSee the live changes: [devtools.tech/questions/all](https://devtools.tech/questions/all?utm_source=dt-platform&utm_medium=blog&utm_term=seo-boost)\r\n\r\nI’ll share results soon — stay tuned!","languages":[],"editorConfig":"undefined"},"stats":{"views":8502,"used":0,"likes":0},"description":"","published":true,"isActive":true,"tags":["javascript","blog","ui","ux","devtools tech","frontend","coding","seo","improving seo","google","pagination","client-side","javascript coding","interview questions","frontend system design"],"slug":"how-a-small-pagination-fix-boosted-seo---rid---eIjvS9gwWKW18RV86knB","isPremium":false,"categories":[],"requires":[],"_id":"680a7a04ad3ccc49f04e55ba","title":"How a Small Pagination Fix Boosted SEO?","resourceId":"eIjvS9gwWKW18RV86knB","createdAt":1745517060034,"modifiedAt":1745519355424},"currentUser":null,"isOwner":false,"recommendations":{"questions":[{"_id":"63a97bea22480f26b3cbb6ad","content":{"languages":["javascript","typescript"],"difficulty":1},"tags":["javascript","problem solving","interview question","interview preparation","function","toggle functionality","vanilla js","basic js","facebook interview","netflix","google interview questions","frontend interview questions"],"slug":"how-to-create-a-toggle-function-in-javascript-or-frontend-problem-solving-or-javascript-interview-question---qid---gbucvY2jab4e1q6Fo6iV","title":"How to create a toggle function in JavaScript? | Frontend Problem Solving | JavaScript Interview Question","questionId":"gbucvY2jab4e1q6Fo6iV"},{"_id":"698335e0895fc3bf013c3ff5","content":{"languages":["html"],"difficulty":2},"tags":["javascript","ui","ux","devtools tech","coding","frontend interview","challenges","microsoft interview question"],"slug":"search-page-with-highlighting---qid---J4OIHWaR6t0sOnCyk2ib","title":"Search Page with Highlighting","questionId":"J4OIHWaR6t0sOnCyk2ib"},{"_id":"62552ea53ecc8e41a79f07b1","content":{"languages":["javascript","typescript"],"difficulty":2},"tags":["javascript","frontend","interview questions","breadcrumbs","flat","objects","ecommerce","dashboards","wordpress"],"slug":"create-a-flat-version-of-a-nested-object-or-breadcrumbs-computation-or-javascript-interview-question---qid---yN4cWT1QDU09zi78GYq1","title":"Create a Flat version of a nested Object | Breadcrumbs Computation | JavaScript Interview Question ","questionId":"yN4cWT1QDU09zi78GYq1"},{"_id":"64624e00d12c1e240201f325","content":{"languages":["javascript","typescript"],"difficulty":2},"tags":["javascript","frontend","coding","devtools tech","ui","ux","egghead","frontend masters","tooling","js questions","frontend interview questions","frontend problems","frontend problem solving"],"slug":"how-to-implement-getelementsbyclassname-or-frontend-problem-solving-or-javascript-interview-question---qid---ZGXls7pg0kEQbcchjNg8","title":"How to implement getElementsByClassName? | Frontend Problem Solving | JavaScript Interview Question","questionId":"ZGXls7pg0kEQbcchjNg8"},{"_id":"69d242fda18a6decde9626ad","content":{"languages":["javascript"],"difficulty":1},"tags":["javascript","ui","ux","code tooling","output","frontend","coding","output based questions","interview challenge"],"slug":"can-you-predict-the-answer-this-keyword---qid---BfcD5gdHrq3qCG3q1Znx","title":"Can you predict the answer? (this keyword)","questionId":"BfcD5gdHrq3qCG3q1Znx"}],"resources":[{"_id":"652d64e4d5ab2876a4ca213c","content":{"difficulty":4,"domain":2,"type":1,"isInternal":false,"languages":["undefined"]},"tags":["frontend","coding","interviews","experience","devtools tech","blog","medium"],"slug":"zeta-interview-experience-sde-1-frontend---rid---2RwNAPVBDsL25iOQe1l0","title":"Zeta Interview Experience SDE-1 FrontEnd","resourceId":"2RwNAPVBDsL25iOQe1l0"},{"_id":"5f202d38cbec5f7ffc0c2fbc","content":{"difficulty":1,"domain":2,"type":2},"tags":["Slice"," Splice"," Javascript ","Interview Questions "],"slug":"slice-and-splice-oror-javascript-interview-questions-oror-puneet-ahuja---rid---vJoGsYEHYTzhQDdvQJ4O","title":"Slice and Splice || Javascript Interview Questions || Puneet Ahuja","resourceId":"vJoGsYEHYTzhQDdvQJ4O"},{"_id":"6a12e5104b3e6d922c54a0cf","content":{"difficulty":1,"domain":1,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","ui","ux","devtools tech","coding","frontend"," web performance"],"slug":"reducing-image-bytes---rid---eoeW8SDZdwwNWBtFqfOh","title":"Reducing Image Bytes","resourceId":"eoeW8SDZdwwNWBtFqfOh"},{"_id":"696d0bb4132ce4e954b9835b","content":{"difficulty":4,"domain":2,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","ui","ux","devtools tech","tutorials","blogs","react","internationalisation","internationalization","write up"],"slug":"internationalization-i18n-in-react---rid---AwsQRhptlqw0QvQDPhCd","title":"Internationalization (i18n) in React","resourceId":"AwsQRhptlqw0QvQDPhCd"},{"_id":"69662a4b132ce4e954b16208","content":{"difficulty":4,"domain":2,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","ui","ux","devtools tech","coding"],"slug":"walmart-global-tech-frontend-interview-experience-sde-3---rid---p7M1epgvyBQeNoz32zr9","title":"Walmart Global Tech Frontend Interview Experience (SDE 3)","resourceId":"p7M1epgvyBQeNoz32zr9"}]}}