Skip to content

Latest commit

 

History

History
597 lines (422 loc) · 13.1 KB

File metadata and controls

597 lines (422 loc) · 13.1 KB

Google Search Accessibility Verification

This document helps verify that your site is accessible to Google and meets all technical requirements for indexing.

🔍 Automated Verification Tests

Run these checks to ensure your site is ready for Google:

1. robots.txt Accessibility

Test: Visit https://www.bigjson.online/robots.txt

Expected Result:

User-agent: *
Allow: /
Disallow: /api/
Disallow: /*?*share=*
Disallow: /*?*search=*

User-agent: GPTBot
Disallow: /

User-agent: CCBot
Disallow: /

Sitemap: https://www.bigjson.online/sitemap.xml

Pass Criteria:

  • File loads successfully (200 status)
  • Allows Google (User-agent: *)
  • Sitemap URL is correct
  • No unintended blocks

2. Sitemap Accessibility

Test: Visit https://www.bigjson.online/sitemap.xml

Expected Result: Valid XML sitemap with all pages

Pass Criteria:

  • File loads successfully (200 status)
  • Valid XML format
  • Contains all public pages
  • All URLs use absolute paths (https://)
  • No broken URLs (all return 200)

Sample Sitemap Check:

# Check sitemap exists
curl -I https://www.bigjson.online/sitemap.xml

# Validate XML
curl https://www.bigjson.online/sitemap.xml | xmllint --noout -

# Count URLs
curl https://www.bigjson.online/sitemap.xml | grep -o '<loc>' | wc -l

3. Incognito/Anonymous Access

Test: Open site in incognito/private browsing mode

Steps:

  1. Open incognito window (Ctrl+Shift+N in Chrome)
  2. Visit https://www.bigjson.online/
  3. Navigate to various pages:
    • Tools pages
    • Blog posts
    • Features page
  4. Try using JSON formatter tool

Pass Criteria:

  • All pages load without login
  • No authentication required
  • Tools work without registration
  • No cookies required for basic functionality

4. HTTPS & Security

Test: Check HTTPS implementation

Tools:

Pass Criteria:

  • HTTPS loads correctly
  • No mixed content warnings
  • Security headers present:
    • Strict-Transport-Security
    • X-Content-Type-Options
    • X-Frame-Options
    • Referrer-Policy
  • SSL/TLS grade A or better

Quick Check:

curl -I https://www.bigjson.online/ | grep -i "strict-transport-security"

5. Mobile Friendliness

Test: Check mobile responsiveness

Tools:

Pass Criteria:

  • Page is mobile-friendly
  • No horizontal scrolling
  • Text is readable (min 16px)
  • Buttons/links are tappable (min 44px)
  • Content fits within viewport

Manual Test:

  1. Open DevTools (F12)
  2. Toggle device toolbar (Ctrl+Shift+M)
  3. Test on different devices:
    • iPhone SE (375px)
    • iPad (768px)
    • Desktop (1920px)

6. Page Load Speed

Test: Check performance metrics

Tool: PageSpeed Insights

Pass Criteria:

  • Performance score > 90
  • Accessibility score > 90
  • Best Practices > 90
  • SEO score = 100

Core Web Vitals Targets:

  • LCP (Largest Contentful Paint): < 2.5s
  • FID (First Input Delay): < 100ms
  • CLS (Cumulative Layout Shift): < 0.1

7. Structured Data Validation

Test: Validate schema.org markup

Tools:

Pages to Test:

  1. Homepage: https://www.bigjson.online/
  2. Tool page: https://www.bigjson.online/tools/json-formatter
  3. Blog post: https://www.bigjson.online/en/[any-slug]

Pass Criteria:

  • No errors in structured data
  • Valid JSON-LD syntax
  • Appropriate schema types detected:
    • Organization
    • WebSite
    • WebApplication
    • SoftwareApplication (tools)
    • Article (blog posts)
    • FAQPage (tools)

8. Crawlability Test

Test: Verify content is accessible to crawlers

Method 1: Fetch as Google

  1. Go to Google Search Console
  2. Use URL Inspection tool
  3. Enter page URL
  4. Click "Test live URL"
  5. View "Rendered HTML"

Pass Criteria:

  • Page loads successfully
  • Content is visible in rendered HTML
  • No JavaScript errors
  • Images and resources load

Method 2: curl Test

# Test homepage is accessible
curl -I https://www.bigjson.online/

# Should return 200 OK
# Verify content type is text/html

9. JavaScript Rendering

Test: Ensure content loads with JavaScript disabled

Steps:

  1. Open Chrome DevTools (F12)
  2. Open Command Menu (Ctrl+Shift+P)
  3. Type "Disable JavaScript"
  4. Select "Debugger: Disable JavaScript"
  5. Refresh page

Pass Criteria for Next.js SSR:

  • Main content should be visible
  • HTML structure present
  • Navigation visible
  • Critical text content rendered

Note: Interactive features may not work, but content should be crawlable.


10. Link Accessibility

Test: Verify internal links are crawlable

Tools:

Pass Criteria:

  • All links use <a> tags (not JavaScript-only)
  • Links have proper href attributes
  • No broken links (404s)
  • Important pages linked from homepage
  • Each page has at least one internal link to it

Manual Check: View page source (Ctrl+U) and verify:

<!-- Good: Crawlable link -->
<a href="/tools/json-formatter">JSON Formatter</a>

<!-- Bad: Not crawlable without JavaScript -->
<div onclick="navigate('/tools/json-formatter')">JSON Formatter</div>

11. Meta Tags & Title Presence

Test: Verify essential meta tags on all pages

Check on Each Page:

<!-- Required -->
<title>Unique page title (55-60 chars)</title>
<meta name="description" content="Unique description (150-160 chars)" />
<link rel="canonical" href="https://www.bigjson.online/page-url" />

<!-- Recommended -->
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta property="og:title" content="Title" />
<meta property="og:description" content="Description" />
<meta property="og:url" content="https://www.bigjson.online/page-url" />
<meta name="twitter:card" content="summary_large_image" />

Pass Criteria:

  • Every page has unique <title>
  • Every page has unique meta description
  • Canonical URL is set
  • Open Graph tags present
  • Viewport meta tag present

Automated Check:

// Run in browser console
console.log("Title:", document.title);
console.log(
  "Description:",
  document.querySelector('meta[name="description"]')?.content,
);
console.log(
  "Canonical:",
  document.querySelector('link[rel="canonical"]')?.href,
);

12. Status Code Verification

Test: Ensure proper HTTP status codes

Expected Codes:

  • Homepage /: 200 OK
  • Existing pages: 200 OK
  • Redirects: 301 (permanent) or 302 (temporary)
  • Non-existent pages: 404 Not Found
  • Server errors: 500 (should be fixed!)

Pass Criteria:

  • Valid pages return 200
  • Custom 404 page returns 404 (not 200!)
  • No soft 404s (pages returning 200 but showing "not found")

Quick Test:

# Homepage should return 200
curl -I https://www.bigjson.online/

# Non-existent page should return 404
curl -I https://www.bigjson.online/this-does-not-exist

# Check specific pages
curl -I https://www.bigjson.online/tools/json-formatter

🛠️ Automated Testing Script

Create this Node.js script to automate checks:

// test-google-accessibility.js
const https = require("https");

const tests = [
  {
    name: "Homepage loads",
    url: "https://www.bigjson.online/",
    expect: 200,
  },
  {
    name: "robots.txt accessible",
    url: "https://www.bigjson.online/robots.txt",
    expect: 200,
  },
  {
    name: "Sitemap accessible",
    url: "https://www.bigjson.online/sitemap.xml",
    expect: 200,
  },
  {
    name: "404 returns proper code",
    url: "https://www.bigjson.online/does-not-exist",
    expect: 404,
  },
  {
    name: "Tool page loads",
    url: "https://www.bigjson.online/tools/json-formatter",
    expect: 200,
  },
];

async function runTests() {
  for (const test of tests) {
    const result = await checkURL(test.url);
    const pass = result.status === test.expect;
    console.log(`${pass ? "✅" : "❌"} ${test.name}: ${result.status}`);
  }
}

function checkURL(url) {
  return new Promise((resolve) => {
    https
      .get(url, (res) => {
        resolve({ status: res.statusCode });
      })
      .on("error", () => {
        resolve({ status: "ERROR" });
      });
  });
}

runTests();

Run:

node test-google-accessibility.js

✅ Complete Pre-Launch Checklist

Technical Accessibility

  • robots.txt loads and allows Google
  • Sitemap loads and is valid XML
  • All pages accessible in incognito mode
  • HTTPS working correctly
  • Security headers present
  • No login required for public content

Mobile & Performance

  • Mobile-friendly test passes
  • PageSpeed score > 90
  • Core Web Vitals meet thresholds
  • Works on various screen sizes
  • Touch targets are adequate size

Content & SEO

  • Unique titles on all pages
  • Meta descriptions on all pages
  • Proper heading hierarchy
  • Canonical URLs set
  • Structured data valid
  • All images have descriptive alt text

Crawlability

  • Content visible with JavaScript disabled
  • Links are crawlable ( tags)
  • No broken links
  • Proper internal linking structure
  • Status codes correct (200, 404, etc.)

Quality

  • Original, valuable content
  • No duplicate pages
  • No thin content
  • Good user experience
  • Fast loading times

🔧 Common Issues & Fixes

Issue: robots.txt Blocks Google

Symptom: Disallow: / for all agents

Fix:

# Change this:
User-agent: *
Disallow: /

# To this:
User-agent: *
Allow: /

Issue: Soft 404

Symptom: Non-existent pages return 200 status

Fix: Ensure custom 404 page returns actual 404 status:

// app/not-found.tsx
export const metadata: Metadata = {
  // ...
  robots: { index: false }
};

export default function NotFound() {
  // Next.js automatically returns 404 status
  return <div>404 Page Content</div>;
}

Issue: Content Not Visible to Crawlers

Symptom: Google sees empty page

Fix:

  • Use Next.js App Router with Server Components
  • Enable server-side rendering
  • Avoid client-only content for critical information
  • Ensure JavaScript isn't required to see content

Issue: Slow Loading Pages

Symptom: PageSpeed score < 50

Fix:

  • Enable compression in next.config.ts ✅
  • Optimize images (use Next.js Image) ✅
  • Minimize JavaScript bundles
  • Use code splitting ✅
  • Enable caching headers ✅

📊 Post-Launch Monitoring

Week 1

  • Check if homepage is indexed: site:bigjson.online
  • Review Search Console for errors
  • Monitor server logs for Googlebot visits
  • Check crawl stats in Search Console

Week 2-4

  • Monitor indexing progress
  • Fix any coverage issues
  • Check for crawl anomalies
  • Review Core Web Vitals report

Monthly

  • Review Search Console reports
  • Check for new errors
  • Monitor indexing coverage
  • Review performance metrics
  • Re-test critical pages

📞 Support Resources

If Tests Fail

  1. Review error messages - Often indicate exact problem
  2. Check Google Search Console - More detailed diagnostics
  3. Use URL Inspection tool - See how Google sees your page
  4. Post in forums - Google Search Central Community
  5. Review documentation - Links to official guides below

Official Documentation

Testing Tools


Last Updated: February 16, 2026
Status: Pre-deployment verification ready

Next Steps:

  1. Deploy site to production
  2. Run all verification tests
  3. Fix any issues found
  4. Submit to Search Console
  5. Monitor for 2-4 weeks