CoreHRx Jobs

Apply in one click, save jobs and take free mock tests.

Register free Log in
Hiring? Post jobs with CoreHRx
My account
user

View & update profile
Interview guide

SEO Interview Questions and Answers: 60 Questions from Easy to Hard

This guide is for freshers and working professionals in India preparing for SEO executive, SEO analyst, content SEO and technical SEO roles at agencies, online stores and D2C brands, job and edtech portals and IT services firms, and for developers who get SEO questions in their interviews. It has 60 questions with model answers in three levels: the basics every fresher is asked, the everyday problems people with one to four years solve in Search Console and site audits, and senior questions on migrations, crawl budget, JavaScript, testing and AI answers in search. Answers follow Google Search Central documentation and name the year when a rule changed. Say each answer aloud in your own words, then take the mock test.

  • 60 questions, 3 levels
  • Updated
  • CoreHRx Jobs

What SEO interviews cover

  • How Google crawls, indexes and ranks pages, and how search intent decides which kind of page can rank for a keyword.
  • On-page work: titles, meta descriptions, headings, internal links, alt text, and content that shows real experience and trust.
  • Technical SEO: robots.txt, noindex, sitemaps, canonical tags, redirects, status codes, Core Web Vitals, structured data and JavaScript rendering.
  • Off-page and local SEO: earning links within Google's spam policies, Google Business Profile and reviews.
  • Measurement: Search Console reports, GA4 organic traffic and key events, CTR maths and simple traffic forecasts.

How to prepare (freshers and experienced)

  • Freshers: build a small site or blog, verify it in Search Console, submit a sitemap and watch how pages get indexed. Interviewers value this hands-on proof more than certificates.
  • Read the Google Search Central documentation on the core topics, such as the SEO Starter Guide, robots.txt, canonicalization and the spam policies, and note the year of each major change.
  • Practise the maths: CTR, percentage change, impression-weighted average position, and a simple click forecast from search volume and CTR by position.
  • Experienced candidates: prepare two or three case studies with numbers you are allowed to share, such as a migration, a crawl budget fix or a content refresh: what you found, what you changed and what moved.
  • Audit a real site in the sector you are applying to, for example a jobs portal or an online store, and be ready to explain your top five fixes and why they come first.

Common mistakes and interview-day tips

  • Repeating myths as facts, such as keyword density targets, a penalty for ordinary duplicate content, one H1 per page, or Domain Authority being a Google metric. Say what Google actually documents.
  • Mixing up robots.txt and noindex: robots.txt controls crawling, noindex controls indexing, and a page blocked by robots.txt cannot show its noindex to Google.
  • Promising rankings or rich results. Google decides; explain what you can control and how you will measure progress.
  • Answering technical questions without the business view. Tie each fix to traffic, leads or sales, and say how you would prioritise it with the development team.

SEO interview questions: Easy questions (freshers)

20 questions

1. What is SEO, and how is it different from paid search?

SEO, or search engine optimisation, is the work of making a site easy for search engines to crawl, understand and show for the right searches, so it earns unpaid, organic clicks. Paid search buys ad slots, usually per click, and the traffic stops when the budget stops. SEO is usually split into technical SEO (crawling, indexing, speed), on-page SEO (content, titles, headings, internal links) and off-page SEO (links and mentions). Results take months rather than days, and Google does not accept payment for better organic rankings.

2. How does Google Search work? Explain crawling, indexing and serving.

Crawling is discovery: Googlebot finds URLs through links and sitemaps, downloads the pages and renders them, including JavaScript. Indexing is understanding: Google analyses the text, images and tags, groups duplicate pages, picks a canonical URL and stores the result in its index. Serving is ranking: for each query, Google's systems choose the most relevant and helpful indexed pages, using signals such as meaning, quality, usability and the searcher's location. A page can fail at any stage, and being crawled does not guarantee being indexed.

3. What is the title element, and how do you write a good one?

The title element sits in the head of the page and is the main source of the clickable title link in Google results and of the browser tab text. Write a unique, specific title for every page: the main topic first, the brand at the end. Google sets no fixed character limit, but long titles are cut off on screen, so keep the important words early. Avoid stuffing keywords or reusing one title on hundreds of pages, because Google may rewrite such titles. Keep it consistent with the main heading of the page.

Example
<head>
  <title>Accounts Executive Jobs in Pune | ExampleJobs</title>
</head>

4. Does the meta description help rankings? What is it for?

Google says the meta description is not used for ranking. Its job is to win the click: Google may show it as the snippet under the title link when it describes the page better than text taken from the page, and a clear, specific description can lift CTR. Write a unique one per page that tells searchers what they will get. Google often builds its own snippet to match the query, so do not expect your text every time. Myth: a meta keywords tag helps ranking. Google said in 2009 that it does not use meta keywords.

Example
<meta name="description" content="Browse accounts executive jobs in Pune for freshers and experienced candidates, filter by area and experience, and apply online.">

5. What is search intent, and what are its main types?

Search intent is the goal behind a query, and the page that ranks best is the one that fits that goal. Informational queries want to learn, such as "how to file GST return"; navigational ones want a specific site or its login page; commercial ones compare before buying, such as "best laptop for coding"; and transactional ones are ready to act, such as "buy running shoes online". The quickest test is to search the keyword and see what already ranks: guides, product lists, local results or videos. A common mistake is writing a blog post where Google shows only product pages.

6. What is the difference between short-tail and long-tail keywords?

Short-tail keywords are broad, one or two words such as "cakes": large volume, mixed intent and tough competition. Long-tail keywords are longer and specific, such as "eggless birthday cake delivery in Kothrud": each has small volume, but the intent is clear, competition is lower and conversion is usually higher. Most new sites win first on long-tail terms and grow from there. Group close variants that share one intent on a single page, rather than making a thin page for each wording, because those pages would compete with each other.

7. What is robots.txt, and what does it control?

robots.txt is a plain text file at the root of a host, such as example.com/robots.txt, that tells crawlers which paths they may crawl. It controls crawling, not indexing: a blocked URL can still appear in results, without a description, if other pages link to it. Use it to keep crawlers away from low-value areas such as the cart, internal search or admin paths, and to point to your sitemap. It is public and only a request, so never use it to hide private data; protect that with a login. Each subdomain and protocol needs its own file.

Example
User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /search

Sitemap: https://www.example.com/sitemap.xml

8. What is an XML sitemap, and does it guarantee indexing?

An XML sitemap lists the URLs you want search engines to find, with an optional lastmod date. It helps discovery, especially for new or large sites and pages with few internal links, but it does not guarantee crawling or indexing. Google ignores the priority and changefreq fields and uses lastmod only when it is consistently accurate. One file can hold up to 50,000 URLs or 50 MB uncompressed; bigger sites use a sitemap index file. Submit it in Search Console or list it in robots.txt, and include only canonical URLs that return 200.

Example
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.example.com/jobs/pune/accounts/</loc>
    <lastmod>2026-11-12</lastmod>
  </url>
</urlset>

9. What is a canonical tag, and when do you use it?

The rel="canonical" link tells Google which URL is the main version when the same or very similar content is reachable at several URLs, for example with tracking parameters, sort orders or print versions. Google treats it as a strong hint, not a command, and weighs it with other signals such as redirects, internal links and sitemaps. Use a full absolute URL, point it to a page that returns 200 and is indexable, and add a self-referencing canonical on the main page itself. Never point every page of a site to the home page.

Example
<!-- On https://www.example.com/shoes/running/?sort=price -->
<link rel="canonical" href="https://www.example.com/shoes/running/">

10. What is the difference between a 301 and a 302 redirect?

A 301, like a 308, is a permanent redirect: it tells Google the content has moved for good, and Google treats it as a strong signal that the new URL should be the canonical one shown in results. A 302, like a 307, is temporary, so Google is more likely to keep the old URL in results because it expects it to come back. Use 301 for site moves, merged pages and HTTP to HTTPS; use 302 for short-term cases such as a festival sale page. Using a 302 for a permanent move is a common mistake that slows the switch.

Example
# nginx
location = /old-accounts-jobs/ {
    return 301 /jobs/accounts/;
}
location = /diwali-sale/ {
    return 302 /sale/;
}

11. How should headings be used on a page? Can a page have more than one H1?

Headings show the structure of a page to readers, screen readers and search engines. Use one clear main heading that matches the topic and title, then H2s for main sections and H3s for points inside them, written as useful descriptions rather than keyword lists. Myth: Google penalises a page with more than one H1. Google has said several H1s are fine; what matters is a logical, readable structure. Do not use headings just to make text big or bold, and do not hide them with CSS. Clear headings also make long pages easier to scan on a phone.

Example
<h1>Data Analyst Jobs in Hyderabad</h1>
<h2>Skills employers ask for</h2>
<h3>SQL and Excel</h3>
<h2>Jobs by area</h2>

12. What is alt text, and how do you write it?

Alt text is the alt attribute of an image element. It describes the image for screen-reader users and for search engines, which use it together with the file name, captions and nearby text to understand the image for Google Images. Write a short, specific description of what the image shows, and leave alt empty for purely decorative images. Do not stuff keywords into it. Google indexes images placed with the img element, not CSS background images, so put important images in the HTML itself.

Example
<img src="/img/masala-dosa.webp" width="800" height="600"
     alt="Crispy masala dosa with coconut chutney and sambar">
<img src="/img/divider.svg" alt="">

13. What are internal links, and why does anchor text matter?

Internal links connect pages on the same site. They help Google discover pages, understand how they relate and judge which ones matter most, and they help users reach the next useful page. Anchor text, the clickable words, tells users and Google what the target page is about, so "Accounts jobs in Pune" is far better than "click here". Use normal links with an href that Google can follow. Every important page should be reachable through links, not only through the sitemap or a search box. Keep anchors natural rather than repeating one exact keyword.

Example
<!-- Descriptive anchor -->
<a href="/jobs/pune/accounts/">Accounts jobs in Pune</a>

<!-- Weak anchor -->
<a href="/jobs/pune/accounts/">Click here</a>

14. What are backlinks, and why do they matter?

A backlink is a link from another site to yours. Google uses links to discover pages and as one signal of a page's importance, so a link from a relevant, trusted site, such as an industry association or a respected news site, is worth far more than hundreds from unrelated directories. Quality and relevance matter more than the count. Buying links that pass ranking credit, large-scale link swaps and automated link schemes break Google's spam policies and can lead to the links being ignored or a manual action. The safest way to earn links is to publish something worth citing.

15. What is E-E-A-T?

E-E-A-T stands for Experience, Expertise, Authoritativeness and Trust. It comes from Google's Search Quality Rater Guidelines, which added the extra E for experience in December 2022. Trust is the most important part, and the other three support it. E-E-A-T is not a single score or ranking factor: Google says its systems use many signals that line up with these ideas, and raters' scores do not directly change any page's ranking. It matters most for topics such as health, money and safety. Show who wrote the content, their real experience and your sources.

16. What is Google Search Console, and which reports do you use most?

Search Console is Google's free tool that shows how a verified site performs in Google Search. The Performance report gives clicks, impressions, CTR and average position by query, page, country and device. URL Inspection shows how Google sees one URL, lets you test the live page and request indexing. The Page indexing report lists pages that are not indexed and why, and the Sitemaps report shows submitted files. Core Web Vitals, Manual actions, Security issues and Links complete the basics. Performance data covers the last 16 months.

17. How do you calculate CTR from Search Console data, and what does it tell you?

CTR, the click-through rate, is clicks divided by impressions, times 100. Here 1,440 / 48,000 x 100 = 3.0%. An impression is counted when the page appears in a search result for a user. CTR shows how attractive the result is at its position: a low CTR at a good position points to a weak title or snippet, or a feature above it taking attention. If CTR rose to 4.5% at the same impressions, clicks would be 2,160, which is 720 more. Compare CTR only between similar positions, because it falls sharply further down the page.

Example
Page: /jobs/hyderabad/data-analyst/   (last 28 days)
Impressions   Clicks   Average position
48,000        1,440    6.2

18. What is mobile-first indexing?

Mobile-first indexing means Google mainly uses the mobile version of a page, fetched by the smartphone Googlebot, for indexing and ranking; Google completed the move for the whole web in 2024. So anything missing on your mobile pages, such as text, structured data, images with alt text, internal links or robots meta tags, may as well not exist for Google. A responsive design that serves the same HTML to every device is the simplest setup. A common mistake is removing content or links on mobile to make the page look cleaner, then losing rankings.

19. What is local SEO, and what is a Google Business Profile?

Local SEO helps a business appear for searches with local intent, such as "dentist near me" or "AC repair in Andheri", in the map results and local pack. A Google Business Profile is the free listing that shows the business name, category, address or service area, hours, phone, photos and reviews. Google says local results depend mainly on relevance, distance and prominence. Choose the right primary category, keep details accurate and the same as on your website, add real photos and reply to reviews. Never buy reviews or stuff keywords into the business name.

20. What are SERP features, and what are AI Overviews?

SERP features are anything on the results page beyond the plain list of links: featured snippets, People also ask, local packs, image and video results, top stories and shopping results. AI Overviews, rolled out from 2024, show an AI-generated summary at the top of some results with links to source pages. These features can answer the query on the results page itself, so a page can keep its ranking yet get fewer clicks. Track which features appear for your keywords, and write clear, well-structured, trustworthy content that is worth citing.

Ready to check yourself? Take the free SEO mock test

SEO interview questions: Medium questions (1-3 years)

20 questions

21. A URL blocked in robots.txt still appears in Google with "No information is available for this page". Why, and how do you remove it properly?

robots.txt stops crawling, not indexing. Google never fetched the page, but it found links to the URL, so it can index the bare URL without content; Search Console reports this as "Indexed, though blocked by robots.txt". To remove it, allow crawling again and add a noindex rule: the robots meta tag in the page, or an X-Robots-Tag HTTP header for PDFs and other files. Google must recrawl the URL to see the noindex, which is why it cannot stay blocked. For an urgent case, the Removals tool hides the URL for about six months meanwhile.

Example
<!-- In the head of the page -->
<meta name="robots" content="noindex">

# Or as an HTTP response header (works for PDFs)
X-Robots-Tag: noindex

22. In the Page indexing report, what is the difference between "Discovered - currently not indexed" and "Crawled - currently not indexed", and what do you do about each?

Discovered means Google knows the URL but has not crawled it yet, often because crawling then was expected to overload the server, or the URL got low priority. On a large site this points to crawl budget and weak internal linking. Crawled means Google fetched the page and chose not to index it for now, usually because it looks thin, duplicated or less useful than similar pages. Fix the first with a faster server, links from strong pages and fewer low-value URLs. Fix the second by improving or merging the content. Pressing Request indexing again and again fixes neither.

23. Search Console says "Duplicate, Google chose different canonical than user". Why would Google ignore your canonical tag?

Because rel="canonical" is a hint, and other signals disagreed with it or the pages did not look like true duplicates of the target. Common causes: the canonical target redirects, returns 404 or has noindex; internal links, the sitemap or hreflang point to another URL; HTTP and HTTPS or www and non-www versions both work; or the pages are near-duplicates, such as city pages with the same text and only the city name changed, so Google picked one. Use URL Inspection to see the Google-selected canonical, then align every signal to one URL or make the pages truly different.

24. Your online store creates URLs such as ?utm_source=whatsapp and ?sort=price on product pages. How do you stop these duplicates from causing problems?

First, keep parameters off internal links. UTM tags belong only on links from outside, such as WhatsApp or email campaigns; on internal links they also distort the traffic-source data in GA4. Then give every product page a self-referencing canonical to its clean URL, so parameter versions consolidate to it, and list only clean URLs in the sitemap. If sort or filter parameters create huge numbers of crawlable URLs, block those patterns in robots.txt. Search Console's URL Parameters tool was retired in 2022, so there is no setting there to rely on.

Example
<!-- Served on /sofa/teak-3-seater?utm_source=whatsapp -->
<link rel="canonical" href="https://www.example.com/sofa/teak-3-seater">

25. A crawl shows http://example.com/jobs redirects to https://example.com/jobs, then to https://www.example.com/jobs, then to https://www.example.com/jobs/. What is wrong, and how do you fix it?

That is a redirect chain of three hops. Each hop adds delay for users, uses up crawl requests and slows Google in settling on the final URL; Googlebot follows up to 10 hops and then reports a redirect error, and long chains often hide loops. Fix it two ways: make every old variant redirect straight to the final URL with one 301, and update internal links, canonicals, the sitemap and hreflang to the final URL, so no redirect is needed at all. Then check that the final URL returns 200 and not yet another redirect.

Example
# nginx: every old variant goes to the final URL in one hop
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://www.example.com$request_uri;
}
server {
    listen 443 ssl;
    server_name example.com;
    return 301 https://www.example.com$request_uri;
}

26. Your jobs portal keeps expired job pages live with a "This job is closed" message and a 200 status. What problems does this cause, and what should you do?

Google sees thousands of near-identical closed pages, may report them as soft 404s, keeps spending crawl requests on them and may still show them in job search results, which annoys job seekers. Google's job posting guidance gives three ways out: set validThrough to a past date, remove the JobPosting structured data, or remove the page so it returns 404 or 410. Then notify Google through the Indexing API, which is meant for job posting and livestream pages. On a closed page you keep, link to similar open jobs. Out-of-stock products differ: keep the page if the item will return.

27. What are the Core Web Vitals, their "good" thresholds, and how are they measured?

There are three. LCP, Largest Contentful Paint, measures loading: good is 2.5 seconds or less. INP, Interaction to Next Paint, measures responsiveness: good is 200 milliseconds or less; it replaced FID as a Core Web Vital in March 2024. CLS, Cumulative Layout Shift, measures visual stability: good is 0.1 or less. A page passes when the 75th percentile of real visits meets all three, judged separately for mobile and desktop from Chrome UX Report field data. A standard Lighthouse load test cannot measure INP; Total Blocking Time is its lab stand-in.

28. A Jaipur furniture store's product pages have an LCP of 4.8 seconds on mobile, and the LCP element is the main product photo. How do you fix it?

First find which part is slow: server response, the delay before the image starts loading, or the download itself. Do not lazy-load the main image; give it fetchpriority="high" and keep it as a normal img in the HTML, not a CSS background or an image added by JavaScript, so the browser finds it early. Serve a compressed WebP or AVIF at the right size with srcset, from a CDN close to Indian users, and cut server time with caching. Field data is a rolling 28-day window, so the full effect shows after about four weeks.

Example
<img src="/img/teak-sofa-800.webp"
     srcset="/img/teak-sofa-800.webp 800w,
             /img/teak-sofa-1600.webp 1600w"
     sizes="100vw" width="800" height="600"
     fetchpriority="high" alt="Teak three-seater sofa">

29. An old blog post that used to rank is losing traffic. How do you refresh it without faking freshness?

Start in Search Console: see which queries and positions dropped and what now ranks above you. Then update the substance: correct outdated facts, add steps or examples from real experience, answer the questions searchers now ask and remove what is no longer true. If two of your posts compete for the same topic, merge them and 301 the weaker URL. Show an honest updated date and set the same dateModified in the structured data. Google's helpful content guidance warns against changing dates to look fresh when the content has not changed in substance.

Example
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to File an Income Tax Return as a Fresher",
  "datePublished": "2025-07-02",
  "dateModified": "2026-07-15",
  "author": {"@type": "Person", "name": "Meera Iyer"}
}
</script>

30. How do you add structured data to a product page, and does it guarantee rich results?

Use JSON-LD, the format Google recommends, in a script block with schema.org types. For a product page that means Product with an Offer for price and availability, plus review or rating data only when real reviews appear on the page. Test it with the Rich Results Test, then watch the matching report in Search Console. Markup never guarantees a rich result; Google decides whether to show one. The markup must describe content users can see on the page, and marking up hidden or fake reviews breaks Google's structured data policies and can lead to a manual action.

Example
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Cotton Kurta, Indigo",
  "image": "https://www.example.com/img/kurta-indigo.webp",
  "offers": {
    "@type": "Offer",
    "price": "1299",
    "priceCurrency": "INR",
    "availability": "https://schema.org/InStock"
  }
}
</script>

31. You run a jobs portal. How do you get your job pages into Google's job search results?

Add JobPosting structured data to each job's own page, with the required title, description, datePosted, hiringOrganization and jobLocation, or jobLocationType TELECOMMUTE with applicantLocationRequirements for remote roles, plus fields such as validThrough and employmentType. The markup must match the job shown on the page. Google allows the Indexing API for job posting pages, so you can tell it when a job is added or removed instead of waiting for a crawl. Never put JobPosting markup on listing or search pages that show many jobs; it belongs on the single job page.

Example
<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "JobPosting",
  "title": "Junior Accountant",
  "description": "<p>Prepare GST returns and bank reconciliations.</p>",
  "datePosted": "2026-11-10",
  "validThrough": "2026-12-10T23:59",
  "employmentType": "FULL_TIME",
  "hiringOrganization": {"@type": "Organization", "name": "Example Traders Pvt Ltd"},
  "jobLocation": {
    "@type": "Place",
    "address": {"@type": "PostalAddress", "addressLocality": "Pune",
                "addressRegion": "MH", "addressCountry": "IN"}
  }
}
</script>

32. Should you still add FAQPage structured data to every service page?

Usually not, if the goal is a rich result. Since August 2023, Google shows FAQ rich results only for well-known, authoritative government and health sites, and it dropped HowTo rich results the same year. Google said markup that is no longer used causes no problems, so there is no need to rip it out, but adding it everywhere will not bring extra space in results. Still keep real FAQs on the page when users need them, because the visible answers help readers and can match related queries. Check Google's current Search Gallery before promising any rich result.

Example
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Do you service ACs on Sundays?",
    "acceptedAnswer": {"@type": "Answer", "text": "Yes, from 9 am to 6 pm."}
  }]
}
</script>

33. What is keyword cannibalisation, and how do you find and fix it?

It happens when several pages on your site target the same query and intent, so Google keeps switching between them and none ranks as well as one strong page would. In Search Console, open the Performance report, filter by the query and look at the Pages tab: two or more URLs sharing impressions, with positions that swap week to week, is the sign. Fix it by merging the pages into the best one with 301 redirects, or by giving each page a clearly different intent, and point internal links at the chosen page. Two pages ranking for one query is not always a problem.

34. Google shows a different title link from the title you wrote. Why, and what can you do?

Since August 2021, Google builds title links from several sources: the title element, the main visible heading, other prominent text on the page and the anchor text of links pointing to it. It replaces titles that are missing, too long, stuffed with keywords, the same across many pages, or that do not describe the page. Fix the cause: write a unique, concise title that matches the main heading, put the brand once at the end, and drop boilerplate repeated on every page. You cannot force Google to use your title, but a clear, accurate one is used far more often.

Example
<!-- Before: boilerplate, often rewritten -->
<title>Home | Best Jobs | Jobs India | Latest Jobs | ExampleJobs</title>

<!-- After -->
<title>Data Entry Jobs in Chennai for Freshers | ExampleJobs</title>

35. A page's average position stayed about the same, but clicks fell while impressions rose (see the table). How do you work out what happened?

CTR fell from 5.0% to 3.0% (6,000 / 120,000 and 4,500 / 150,000): impressions rose 25% while clicks fell 25%. First split by query: the extra impressions may come from new, broader queries where the page appears but rarely gets clicked. Then search the main queries yourself and see what changed on the results page, such as a new AI Overview, a featured snippet, more ads or a video block above you. Also split by device and country, and check whether Google rewrote your title link. Compare like with like before blaming rankings.

Example
Month      Impressions   Clicks   Avg position
October    120,000       6,000    4.1
November   150,000       4,500    4.2

36. Why do organic numbers in GA4 never match clicks in Search Console, and how do you use both?

They measure different things. Search Console counts clicks from Google Search results, with dates in Pacific Time. GA4 counts sessions in which its tag fired, so consent choices, ad blockers, users who leave before the tag loads and broken tags all lower the count, and its Organic Search channel also includes Bing and other engines. Use Search Console for queries, impressions and positions, and GA4 for what happens after the click: engagement rate and key events, which GA4 called conversions until 2024. Link the two in GA4 to see queries next to landing pages.

37. A dental clinic chain has three branches in Pune. How do you set up local SEO for it?

Create and verify a separate Google Business Profile for each branch, with the real name used on signage, the right primary category, the branch address, phone, hours and real photos. Build one page per branch on the website with the same name, address and phone, a map, directions and services, and link each profile to its own page. Add LocalBusiness structured data, here the Dentist type, on each page. Ask every patient for a review and reply to all of them; do not offer rewards, ask only happy patients, or add keywords to the business name.

38. Which link-building tactics are safe, which break Google's spam policies, and how should paid and user-added links be marked?

Safe tactics earn links on merit: original data or tools that others cite, digital PR stories, articles written for a partner's readers, and offering your resource to replace a broken link on a relevant page. Google's spam policies forbid buying or selling links that pass ranking credit, excessive link exchanges, large-scale guest posting with keyword-rich anchors, private blog networks and automated links. Mark paid and affiliate links rel="sponsored" and user-added links rel="ugc"; both were introduced in 2019, when nofollow also became a hint rather than a rule.

Example
<a href="https://partner.example.com/offer" rel="sponsored">Festive offer from our partner</a>
<a href="https://user-blog.example.com/" rel="ugc">Commenter's website</a>

39. A site has English and Hindi versions of every page for Indian users. How do you set up hreflang?

Add hreflang annotations to every page listing all language versions, including the page itself, and make sure each version links back to the others; Google ignores annotations without return links. Use ISO 639-1 language codes with an optional ISO 3166-1 region, so en-IN and hi-IN, or just en and hi. Add x-default for visitors whose language matches none. Every URL in the set should be the canonical, indexable version for its language, so never canonicalise the Hindi page to the English one. The annotations can go in the HTML head, HTTP headers or the sitemap.

Example
<link rel="alternate" hreflang="en-IN" href="https://www.example.com/en/home-loans/">
<link rel="alternate" hreflang="hi-IN" href="https://www.example.com/hi/home-loans/">
<link rel="alternate" hreflang="x-default" href="https://www.example.com/en/home-loans/">

40. A React single-page app shows job categories as span elements with onClick handlers. Why might Google miss those pages, and what is the fix?

Google follows links only when they are anchor elements with an href attribute that resolves to a URL. A span or button with a click handler is not a link to Googlebot, and Googlebot does not click or scroll, so those category pages may never be found. Use real anchor elements with href values and let the router handle the click for in-app navigation. Give every view its own URL with the History API, not a hash fragment. Server-side rendering or static generation puts content and links in the initial HTML, which is faster and safer than client rendering alone.

Example
// Not crawlable: no link for Googlebot to follow
<span onClick={() => navigate('/jobs/pune/')}>Pune jobs</span>

// Crawlable: a real link the router can still intercept
<a href="/jobs/pune/" onClick={handleClick}>Pune jobs</a>

Ready to check yourself? Take the free SEO mock test

SEO interview questions: Hard questions (experienced)

20 questions

41. Plan a move of a large site to a new domain with the least traffic loss.

Before the move, crawl the old site, export the top pages from Search Console and analytics, and build a one-to-one map from every old URL to its closest new URL. On launch, send each old URL to its mapped URL with a single 301, not everything to the home page; update internal links, canonicals, hreflang and sitemaps to the new URLs; verify the new domain in Search Console and use the Change of Address tool. Keep the old domain and its redirects for at least a year, as Google advises. Then watch Page indexing, 404s and key rankings daily.

Example
# nginx on the old domain: one hop per mapped URL
map $request_uri $new_uri {
    default                        "";
    /old-jobs/pune-accounts.html   /jobs/pune/accounts/;
    /old-jobs/delhi-sales.html     /jobs/delhi/sales/;
}
server {
    listen 443 ssl;
    server_name www.oldname.example;
    if ($new_uri) {
        return 301 https://www.newname.example$new_uri;
    }
    return 301 https://www.newname.example$request_uri;
}

42. Server logs show that most Googlebot requests on a jobs portal go to filter URLs (see the code). How do you manage crawl budget and faceted navigation?

Crawl budget matters for sites like this: Google says it is mainly a concern for sites with about a million pages, or 10,000 or more that change daily. Here 14,000 of 20,000 daily requests, 70%, hit filter combinations, so new jobs are found late. Decide which facets deserve indexable pages, such as city and role, give them clean URLs and internal links, and block the other parameter patterns in robots.txt. noindex and canonical tags do not save crawling, because Google must fetch a URL to read them. Return 404 for empty filter combinations and list only live jobs in sitemaps.

Example
Googlebot requests per day         20,000
To filter URLs (?sort=, ?exp=)     14,000
To job and category pages           6,000

# robots.txt
User-agent: *
Disallow: /*?*sort=
Disallow: /*?*exp=

43. With this robots.txt, can Googlebot crawl /jobs/search?sort=new? And for a standards-following crawler with no group of its own, are /jobs/search/it-jobs?sort=new and /jobs/search?sort=new allowed?

Googlebot obeys only the most specific group that matches its name, so it follows the Googlebot group and ignores the * group completely: it can crawl both URLs and is blocked only from /cart/, a classic mistake when a Googlebot group is added for one rule. For a crawler using the * group, RFC 9309 (2022), the robots.txt standard Google follows, says the longest matching rule wins and Allow wins a tie. /jobs/search/it-jobs?sort=new matches all three rules and the 20-character Allow is longest, so it is allowed; /jobs/search?sort=new matches only the Disallows, so it is blocked.

Example
User-agent: *
Disallow: /jobs/search
Allow: /jobs/search/it-jobs
Disallow: /*?sort=

User-agent: Googlebot
Disallow: /cart/

44. Organic traffic dropped 35% in one week. How do you find out whether it is a Google update, a technical problem or a manual action?

First rule out measurement: if Search Console clicks held steady and only GA4 sessions fell, suspect a broken tag or consent change. Then line up the date with the Google Search Status Dashboard for core or spam updates, and with your own releases. Check Manual actions, Security issues, Page indexing, Crawl stats and robots.txt for sudden changes. Segment by page type, query and device: a sitewide drop on one day points to a technical cause, while losses spread over many content pages during an update point to a quality reassessment, which needs real content work and recovers slowly.

45. A client asks how much traffic an SEO project could bring. Build a forecast for the keyword cluster in the table.

Use your own CTR by position from Search Console where you can, because CTR curves differ by query type and SERP features. Today: 40,000 x 2% = 800 clicks a month. At position 3: 40,000 x 10% = 4,000, so 3,200 more clicks and, at 2.5%, 80 more leads a month. Then be honest about uncertainty: if you judge a 50% chance of reaching position 3 within six months, the expected gain is 1,600 clicks and 40 leads. Present a range, the assumptions and the time to impact, and note that AI Overviews or other new features could lower CTR.

Example
Keyword cluster: CA articleship jobs (all variants)
Monthly searches        40,000
Current position        8    (your CTR there: 2.0%)
Target position         3    (your CTR there: 10.0%)
Lead conversion rate    2.5%

46. What does a page need to appear in Google's AI Overviews and AI Mode, and what controls does a site owner have?

Google's documentation says there are no extra requirements: the page must be indexed and eligible to show a snippet in Search; normal SEO applies. There is no special file, tag or markup to opt in. The controls are the usual ones: noindex removes the page from Search entirely, while nosnippet, max-snippet and data-nosnippet limit the text Google can show, including in AI features, at the cost of shorter normal snippets. Blocking Google-Extended in robots.txt affects Gemini training and grounding, not Search or AI Overviews. Clicks from AI features appear in Search Console under Web.

Example
<!-- Limit snippet length, which also applies to AI features -->
<meta name="robots" content="max-snippet:160">

<!-- Keep one block out of snippets and AI answers -->
<div data-nosnippet>Fees vary by city; call for a quote.</div>

47. You plan to auto-generate a page for every city and job role pair, about 40,000 pages. How do you do it without breaking Google's spam policies?

Google's spam policies on scaled content abuse, added in March 2024, and on doorway pages target exactly this when the pages exist to catch searches rather than to help people. Publish a pair only when it has real value, such as live job listings, and set the threshold from data. Return 404 for empty pairs, noindex thin ones and keep both out of sitemaps. Make each page useful with its own listings, filters and local information, not one template with the city swapped. Launch in batches and check indexing and engagement before adding more.

Example
<?php
// City x role page: publish only when it has real listings
if ($openJobs === 0) {
    http_response_code(404);          // empty pair
} elseif ($openJobs < $minJobsToIndex) {
    header('X-Robots-Tag: noindex');  // thin pair
}

48. Your team wants to use AI to write 500 blog posts a month. What is Google's position, and how would you run it safely?

Google's 2023 guidance says it rewards helpful, original content however it is produced, but using automation, AI included, mainly to manipulate rankings breaks its spam policies; the March 2024 policy on scaled content abuse covers exactly this. Volume with no expert input is the warning sign. Use AI as a drafting aid: an expert writes the brief, adds first-hand experience, checks every fact and edits; publish fewer, better posts. Show who wrote and reviewed each one. Google's who, how and why questions suggest saying how AI was used where readers would reasonably expect it.

49. On a client-rendered job page, the server sends a robots meta noindex and JavaScript removes it once the data loads. Why does the page stay out of Google, and how should JavaScript sites handle rendering?

Google processes JavaScript pages in three stages: crawl, render, then index. If Googlebot finds noindex in the initial HTML, it may skip rendering, so the script that removes the tag never runs for Google and the page stays out. Decide indexing on the server and send noindex only when you mean it. More broadly, put titles, canonicals, main content and links in the server HTML through server-side rendering or static generation; Google calls dynamic rendering a workaround, not a long-term solution. Check what Google really sees in the rendered HTML in URL Inspection.

Example
<!-- Initial HTML from the server -->
<meta name="robots" content="noindex">
<script>
  // Google may never run this: it can skip rendering
  fetch('/api/jobs/123').then((r) => {
    if (r.ok) document.querySelector('meta[name="robots"]').remove();
  });
</script>

50. A Bengaluru fintech is expanding to the UAE and Singapore. How do you choose the URL structure and avoid common international SEO mistakes?

The options are country domains such as a .ae site, subdomains, or subdirectories such as /ae/ and /sg/. Country domains give the clearest country signal but cost more and must build their own links and reputation; subdirectories share the main domain's strength and are easiest to run. Whatever you pick, add hreflang between equivalent pages, such as en-IN, en-AE and en-SG, and localise currency, contact details and content, not just spelling. Do not redirect visitors automatically by IP: Googlebot crawls mostly from US addresses and may never see the other versions. Offer a banner instead.

51. The signals for one product page disagree, as shown in the code. Why is that a problem, and how do you fix it?

Google combines redirects, rel="canonical", sitemap inclusion, internal links, HTTPS preference and hreflang to choose one canonical per group of duplicates. Here each signal names a different URL, so the choice becomes Google's judgement, may change over time and splits reporting. Pick one clean URL, here the HTTPS www version without the parameter, and choose one trailing-slash form. Then make everything agree: 301 the HTTP and non-www variants, point the canonical and internal links at it, list only that URL in the sitemap and use it in hreflang. Confirm the result in URL Inspection.

Example
Page:            https://www.example.com/shoes/runner-x?color=blue
rel=canonical -> https://www.example.com/shoes/runner-x
Sitemap lists -> https://www.example.com/shoes/runner-x?color=blue
Internal links -> http://example.com/shoes/runner-x/

52. How should a large listing with pagination or infinite scroll be built so that Google can crawl every item?

Give each page in the series its own URL, such as ?page=2, linked with normal anchor elements from neighbouring pages, and give each page a self-referencing canonical. Do not canonicalise page 2 onwards to page 1, or items linked only from deeper pages may be dropped. Google said in 2019 that it no longer uses rel=next and rel=prev, so they do nothing for Google. For infinite scroll or a Load more button, also expose the paginated URLs and update the address with the History API, because Googlebot does not scroll or click. Do not noindex the deeper pages.

Example
<!-- Page 2 of Pune accounts jobs -->
<link rel="canonical" href="https://www.example.com/jobs/pune/accounts/?page=2">

<nav>
  <a href="/jobs/pune/accounts/">1</a>
  <a href="/jobs/pune/accounts/?page=3">3</a>
  <a href="/jobs/pune/accounts/?page=3">Next</a>
</nav>

53. What does server log analysis tell you that a crawler tool cannot, and how do you confirm a request really came from Googlebot?

Logs show what Googlebot actually requested: which sections it crawls most and least, how often key pages are revisited, hits wasted on parameters, redirects and 404s, server errors, and orphan URLs that get hits but are not linked. A crawler tool only shows what could be crawled. User-agent strings are easy to fake, so verify the IP: a reverse DNS lookup must return a name in googlebot.com, google.com or googleusercontent.com, and a forward lookup of that name must return the same IP. You can also match against Google's published IP ranges. Study a few weeks of logs.

Example
66.249.66.1 - - [12/Nov/2026:10:15:32 +0530] "GET /jobs/pune/ HTTP/1.1" 200 18432 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

$ host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.
$ host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1

54. After an audit you have 120 issues. How do you prioritise them and get the development team to act?

Score each issue by its effect on crawling, indexing, rankings or conversions, the number of important pages it touches, and the effort and risk of the fix. In the table, expired job pages returning 200 and crawled filter URLs come first, because they affect many pages and waste Google's crawling; missing alt text on logos can wait. Group fixes by template, since one template change fixes thousands of pages. Write each as a ticket with sample URLs, current and expected behaviour, acceptance criteria and how you will measure it. Then re-crawl to confirm each fix.

Example
Issue                                Pages     Impact   Effort
Expired job pages return 200         18,000    High     Low
Filter URLs crawled (?sort=, ?exp=)  250,000   High     Medium
Missing alt text on company logos    4,000     Low      Low

55. A site has thousands of spammy links from unknown sites. Should you use the disavow tool?

Usually not. Google says that in most cases it can judge which links to trust without help, and its systems ignore most spammy links, so random spam from unknown sites rarely needs action. Use disavow when you have a manual action for unnatural links, or when you know of paid or scheme links built by you or a past agency that are likely to cause one. First try to get those links removed, disavow the rest at domain level, and file a reconsideration request if there is a manual action. Google warns that wrong use can harm a site's performance.

Example
# disavow.txt: paid links bought by a previous agency
domain:cheap-links-network.example
domain:seo-directory-list.example
https://blog.example.net/post-with-paid-link.html

56. Field data shows an INP of 450 ms on mobile for a product listing page. How do you find and fix the cause?

INP reports roughly the slowest interaction on the page, ignoring rare outliers, from the input to the next frame painted. Collect real-user data with the attribution build of the web-vitals library to see the element and whether the time went into input delay, event handlers or rendering. Usual causes are long JavaScript tasks from third-party scripts, filter handlers that re-render the whole list, and very large DOMs. Break up long tasks and yield to the main thread, defer work that is not urgent, show feedback quickly and trim third-party tags. Good is 200 ms or less.

Example
// web-vitals version 4, attribution build
import {onINP} from 'web-vitals/attribution';

onINP((metric) => {
  const a = metric.attribution;
  navigator.sendBeacon('/rum', JSON.stringify({
    value: metric.value,
    target: a.interactionTarget,
    inputDelay: a.inputDelay,
    processing: a.processingDuration,
    presentation: a.presentationDelay
  }));
});

57. How do you run a valid SEO A/B test on a page template, and what does Google allow?

In SEO you cannot split users, because Googlebot sees one version, so you split pages: take similar pages on one template, assign them at random to control and variant groups, change only the variant pages for everyone, and compare organic clicks with control. In the table control grew 2% and variant 9%, so the relative uplift is about 6.9% (1.09 / 1.02). Run it across full weeks and check significance before rolling out. Google allows testing if you do not cloak, use rel="canonical" on alternate URLs, use 302 rather than 301 for redirect tests and end the test promptly.

Example
Group     Pages   Clicks before   Clicks after   Change
Control   400     50,000          51,000         +2%
Variant   400     50,000          54,500         +9%

58. Your manager reads "average position 11" in Search Console as "we rank 11th". Explain how the figure is calculated and which data limits to keep in mind.

Average position is impression-weighted: each impression records the topmost position of your site in that result, and the report averages them. In the table, (1,000 x 2 + 9,000 x 12) / 10,000 = 11.0, although the page ranks 2nd for its key query, so always read it per query. Other limits: very rare queries are hidden for privacy, so query rows add up to less than the totals; tables show at most 1,000 rows; data is kept for 16 months; and the latest days are provisional. For big sites the bulk data export to BigQuery, added in 2023, removes the row limits.

Example
Query                     Impressions   Avg position
ca articleship jobs pune  1,000         2
jobs                      9,000         12

59. You run SEO for a personal finance site in India that covers loans, tax and investing. How do you show E-E-A-T on these topics?

For topics that affect people's money, Google says its systems give even more weight to strong E-E-A-T, so make it obvious who stands behind every page. Publish under named authors with real credentials and experience, such as a chartered accountant reviewing tax pages, with author pages. Cite primary sources such as RBI circulars and Income Tax Department notifications, date every update and correct errors. Show clear ownership, contact details and how the site earns money, with affiliate links marked sponsored. E-E-A-T is a way of judging quality, not markup or a score.

60. How would you design internal linking for a site with 200,000 job pages, so that new jobs are found fast and key pages rank?

Build a shallow hierarchy: the home page links to hubs for cities, roles and industries, then to combined hubs such as accounts jobs in Pune, then to job pages, so every live job is a few clicks from home. Link new jobs from hub pages sorted by date and from related jobs on similar pages, so Googlebot meets them on its next visit to busy pages. Add breadcrumbs with BreadcrumbList markup and descriptive anchors. Compare sitemaps and logs with a crawl to find orphan pages. Myth: nofollow on internal links concentrates ranking power; it does not.

Example
<nav aria-label="Breadcrumb">
  <ol>
    <li><a href="/jobs/">Jobs</a></li>
    <li><a href="/jobs/pune/">Pune</a></li>
    <li><a href="/jobs/pune/accounts/">Accounts</a></li>
    <li aria-current="page">Junior Accountant</li>
  </ol>
</nav>

Practice questions for November 2026

New every month

3 questions from the SEO mock test, the way they appear in it. A new set comes on the 1st of every month. Pick your answer, then open it.

  1. FresherTechnical SEO Audits

    What does a site crawler tool do during a technical SEO audit?

    • It follows links like a search engine does and lists each URL with its status and tags
    • It counts the visitors who arrived from Google over the last sixteen months
    • It submits every page of the site to Google and other search engines for instant indexing
    • It copies competitors' pages so the team can see their hidden ranking factors
    Show the answer

    Answer: It follows links like a search engine does and lists each URL with its status and tags. A crawler starts from a URL, follows links and reports status codes, titles, canonicals, noindex tags, redirects and broken links, giving a picture of how a search engine sees the site. Visitor counts come from analytics.

  2. Intermediate (1-5 years)On-Page SEO

    A developer marks up the logo text as h1, the menu items as h2, and styles the real article title as a large div. What is wrong?

    • Headings should follow the content, so the article title should be the main heading
    • Logos must always use h3, and menu items must always be written as h6 elements in HTML
    • Nothing; Google ignores every heading that is not inside the page footer
    • Using a div for the title is required for Google to show it in results
    Show the answer

    Answer: Headings should follow the content, so the article title should be the main heading. Heading elements describe the structure of the content. Using them for the logo and menu hides what the page is really about from screen readers and search engines. The article title should be the main heading.

  3. Experienced (5+ years)AI Answers in Search

    A site blocks Google-Extended in robots.txt, yet its server logs never show a "Google-Extended" user agent. Why?

    • Google-Extended uses a Bingbot user agent string to avoid being blocked by sites
    • The block worked so well that Google's separate AI crawler stopped visiting the site entirely
    • Google-Extended is a control token only; the crawling is done by existing Google user agents
    • Google-Extended visits only on Sundays, so most log samples miss its requests
    Show the answer

    Answer: Google-Extended is a control token only; the crawling is done by existing Google user agents. Google documents Google-Extended as a robots.txt product token with no separate HTTP user agent. Google crawls with its usual user agents, and the token tells it whether that content may be used for Gemini models.

Take the full SEO mock test

Ready to apply?

Browse the open jobs on CoreHRx. Create a free profile once and apply with it.