This document helps verify that your site is accessible to Google and meets all technical requirements for indexing.
Run these checks to ensure your site is ready for Google:
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
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 -lTest: Open site in incognito/private browsing mode
Steps:
- Open incognito window (Ctrl+Shift+N in Chrome)
- Visit https://www.bigjson.online/
- Navigate to various pages:
- Tools pages
- Blog posts
- Features page
- 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
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"Test: Check mobile responsiveness
Tools:
- Google Mobile-Friendly Test
- Responsive Design Checker
- Browser DevTools (F12 → Device Mode)
✅ 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:
- Open DevTools (F12)
- Toggle device toolbar (Ctrl+Shift+M)
- Test on different devices:
- iPhone SE (375px)
- iPad (768px)
- Desktop (1920px)
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
Test: Validate schema.org markup
Tools:
Pages to Test:
- Homepage: https://www.bigjson.online/
- Tool page: https://www.bigjson.online/tools/json-formatter
- 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)
Test: Verify content is accessible to crawlers
Method 1: Fetch as Google
- Go to Google Search Console
- Use URL Inspection tool
- Enter page URL
- Click "Test live URL"
- 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/htmlTest: Ensure content loads with JavaScript disabled
Steps:
- Open Chrome DevTools (F12)
- Open Command Menu (Ctrl+Shift+P)
- Type "Disable JavaScript"
- Select "Debugger: Disable JavaScript"
- 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.
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>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,
);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-formatterCreate 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- 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-friendly test passes
- PageSpeed score > 90
- Core Web Vitals meet thresholds
- Works on various screen sizes
- Touch targets are adequate size
- 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
- Content visible with JavaScript disabled
- Links are crawlable ( tags)
- No broken links
- Proper internal linking structure
- Status codes correct (200, 404, etc.)
- Original, valuable content
- No duplicate pages
- No thin content
- Good user experience
- Fast loading times
Symptom: Disallow: / for all agents
Fix:
# Change this:
User-agent: *
Disallow: /
# To this:
User-agent: *
Allow: /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>;
}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
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 ✅
- 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
- Monitor indexing progress
- Fix any coverage issues
- Check for crawl anomalies
- Review Core Web Vitals report
- Review Search Console reports
- Check for new errors
- Monitor indexing coverage
- Review performance metrics
- Re-test critical pages
- Review error messages - Often indicate exact problem
- Check Google Search Console - More detailed diagnostics
- Use URL Inspection tool - See how Google sees your page
- Post in forums - Google Search Central Community
- Review documentation - Links to official guides below
Last Updated: February 16, 2026
Status: Pre-deployment verification ready
Next Steps:
- Deploy site to production
- Run all verification tests
- Fix any issues found
- Submit to Search Console
- Monitor for 2-4 weeks