Skip to main content

How to Add Schema Markup to Your Website

How to Add Schema Markup to Your Website

Quick answer: Schema markup is structured data that tells search engines and AI platforms what your content means. Add JSON-LD code to your <head> section for LocalBusiness, Organization, FAQ, Product, or other types. Validate with Google Rich Results Test.

Reading time: 14 minutes

What you’ll learn:

  • Copy-paste JSON-LD templates for 5 schema types: LocalBusiness (local services), Organization (SaaS/national), FAQPage (reduces Ghost Influence 15-30%), Product (e-commerce), HowTo (step-by-step guides)
  • Timeline expectations: 30 minutes per page for basic schema implementation, 2-4 weeks for AI platforms to re-index and reflect improvements (Ghost Influence 68% → 45%, Presence Rate 42% → 52%)
  • Validation workflow using Google Rich Results Test and Schema.org validator to catch syntax errors before publishing (check “Valid items found” green status vs red “No valid items found” errors)
  • Priority implementation order: Homepage Organization/LocalBusiness schema first (30 min, highest impact), then top 3 FAQ pages (1 hour total), then 5-8 product pages (1-2 hours), finally top 10 blog posts (1-2 hours)
  • Four implementation methods based on your platform: manual HTML editing (add to <head> section), WordPress plugins (Yoast/Rank Math auto-generation), Shopify theme.liquid editing, or Google Tag Manager deployment (no code edit needed)

Timeline: 30 minutes per page (copy template, customize, validate, publish). Start with homepage (Organization schema) and FAQ pages (FAQ schema).


What Schema Markup Does

Why Schema Matters for AI Visibility

Without schema, AI platforms guess what your content means:

  • “We offer 24/7 service” → AI might not recognize this as opening hours
  • “Serving Phoenix since 2010” → AI might not recognize this as location/founding date
  • “Call (555) 123-4567” → AI might not recognize this as contact info

With schema, you explicitly tell AI platforms:

{
  "openingHours": "Mo-Su 00:00-24:00",
  "foundingDate": "2010",
  "telephone": "+15551234567",
  "areaServed": { "name": "Phoenix" }
}

Result: AI platforms cite your structured data confidently (improves Presence Rate and reduces Ghost Influence).


Schema Types You Need

Priority 1: Organization or LocalBusiness (Homepage)

Use Organization schema if: National business, SaaS, e-commerce, no physical location Use LocalBusiness schema if: Local business with physical location (HVAC, law firm, restaurant)

Where to add: Homepage (index.html, /)

Effort: 20-30 minutes


Template: LocalBusiness Schema (Local Service Business)

Example: HVAC company in Phoenix

Copy this template, customize with your details:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Acme HVAC",
  "description": "24/7 emergency HVAC repair, installation, and maintenance in Phoenix. EPA-certified technicians, same-day service, 90-day warranty.",
  "url": "https://acmehvac.com",
  "telephone": "+15551234567",
  "email": "info@acmehvac.com",
  "foundingDate": "2010",
  "priceRange": "$$",
  "openingHours": "Mo-Su 00:00-24:00",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "Phoenix",
    "addressRegion": "AZ",
    "postalCode": "85001",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 33.4484,
    "longitude": -112.0740
  },
  "areaServed": [
    { "@type": "City", "name": "Phoenix" },
    { "@type": "City", "name": "Scottsdale" },
    { "@type": "City", "name": "Tempe" }
  ],
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "HVAC Services",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "24/7 Emergency HVAC Repair",
          "description": "Same-day emergency AC and furnace repair with 60-90 minute response time"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "AC Installation",
          "description": "Central air conditioning installation for residential and commercial properties"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "HVAC Maintenance Plans",
          "description": "Annual maintenance plans starting at $199/year"
        }
      }
    ]
  },
  "sameAs": [
    "https://facebook.com/acmehvac",
    "https://twitter.com/acmehvac",
    "https://www.linkedin.com/company/acmehvac"
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "127"
  }
}
</script>

Where to add this code:

<html>
<head>
  <title>Acme HVAC - 24/7 Emergency AC Repair Phoenix</title>

  <!-- Add schema here, before closing </head> tag -->
  <script type="application/ld+json">
  { ... schema code ... }
  </script>

</head>
<body>
  <!-- Page content -->
</body>
</html>

Template: Organization Schema (SaaS, National Business)

Example: B2B SaaS project management tool

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "AsyncHub",
  "description": "Project management software for remote teams. Async collaboration, time zone support, Slack integration.",
  "url": "https://asynchub.com",
  "logo": "https://asynchub.com/logo.png",
  "email": "support@asynchub.com",
  "foundingDate": "2020",
  "founders": [
    {
      "@type": "Person",
      "name": "Jane Doe"
    }
  ],
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "San Francisco",
    "@type": "CA",
    "addressCountry": "US"
  },
  "sameAs": [
    "https://twitter.com/asynchub",
    "https://www.linkedin.com/company/asynchub",
    "https://github.com/asynchub"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "Customer Support",
    "email": "support@asynchub.com",
    "availableLanguage": ["English"]
  }
}
</script>

Priority 2: FAQPage Schema (FAQ Pages)

Use FAQPage schema if: Page has Q&A format (FAQ page, “Common Questions” page, Help articles)

Where to add: FAQ pages, help articles, “How it works” pages with Q&A

Effort: 15-20 minutes per page

Why it matters: AI platforms (especially Perplexity) cite FAQ schema directly. High impact for reducing Ghost Influence.


Template: FAQPage Schema

Example: “Do you offer 24/7 emergency service?” FAQ page

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Do you offer 24/7 emergency HVAC service?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Acme HVAC provides 24/7 emergency HVAC repair service in Phoenix, including same-day response on weekends and holidays. Average response time: 60-90 minutes. Call (555) 123-4567 for immediate dispatch."
      }
    },
    {
      "@type": "Question",
      "name": "How fast do you respond to emergency calls?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Average response time: 60-90 minutes. Priority dispatch for life-safety issues (gas leaks, carbon monoxide). Same-day service guaranteed, including weekends."
      }
    },
    {
      "@type": "Question",
      "name": "Do you charge extra for emergency service?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "After-hours surcharge: $75 (weeknights after 6pm). Weekend surcharge: $100 (Saturday/Sunday). Holiday surcharge: $150 (major holidays). No surprise fees. Price quoted before work begins."
      }
    },
    {
      "@type": "Question",
      "name": "What areas do you serve for emergency HVAC?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We provide 24/7 emergency service throughout Phoenix metro: Phoenix, Scottsdale, Tempe, Mesa, Chandler, Gilbert, Glendale."
      }
    },
    {
      "@type": "Question",
      "name": "How do I request emergency service?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Call (555) 123-4567 (24/7 dispatch). Online: acmehvac.com/emergency. Text: (555) 123-4567 with 'EMERGENCY' + address."
      }
    }
  ]
}
</script>

Each question-answer pair gets its own object in mainEntity array.

Add as many Q&A pairs as needed (3-15 typical).


Priority 3: Product Schema (E-commerce, SaaS Products)

Use Product schema if: Selling physical products (e-commerce) or software products (SaaS)

Where to add: Product pages, pricing pages, service pages

Effort: 15-20 minutes per product


Template: Product Schema (SaaS Pricing)

Example: SaaS subscription plan

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "AsyncHub Pro Plan",
  "description": "Project management for remote teams. Unlimited projects, 50 team members, Slack integration, priority support.",
  "brand": {
    "@type": "Brand",
    "name": "AsyncHub"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://asynchub.com/pricing",
    "priceCurrency": "USD",
    "price": "50",
    "priceSpecification": {
      "@type": "UnitPriceSpecification",
      "price": "50",
      "priceCurrency": "USD",
      "unitText": "per month"
    },
    "availability": "https://schema.org/InStock",
    "seller": {
      "@type": "Organization",
      "name": "AsyncHub"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "234"
  }
}
</script>

Template: Product Schema (E-commerce Physical Product)

Example: E-commerce product (wireless earbuds)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Wireless Earbuds Pro X",
  "image": "https://example.com/earbuds-pro-x.jpg",
  "description": "Noise-canceling wireless earbuds with 30-hour battery life, IPX7 water resistance, and premium sound quality.",
  "brand": {
    "@type": "Brand",
    "name": "AudioTech"
  },
  "sku": "EARBUDS-PRO-X-001",
  "gtin": "123456789012",
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/earbuds-pro-x",
    "priceCurrency": "USD",
    "price": "149.99",
    "availability": "https://schema.org/InStock",
    "priceValidUntil": "2025-12-31",
    "seller": {
      "@type": "Organization",
      "name": "AudioTech"
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": "0",
        "currency": "USD"
      },
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "businessDays": {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "http://schema.org/Monday"
        },
        "cutoffTime": "14:00:00",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "minValue": 0,
          "maxValue": 1
        },
        "transitTime": {
          "@type": "QuantitativeValue",
          "minValue": 2,
          "maxValue": 5
        }
      }
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": "892"
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Sarah Johnson"
      },
      "datePublished": "2025-10-15",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5"
      },
      "reviewBody": "Best wireless earbuds I've owned. Battery lasts forever and sound quality is amazing."
    }
  ]
}
</script>

Priority 4: Article Schema (Blog Posts)

Use Article schema if: Publishing blog posts, news articles, guides, tutorials

Where to add: Blog post pages, news pages, guides

Effort: 10-15 minutes per article


Template: Article Schema

Example: Blog post about HVAC maintenance

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "HVAC Maintenance Checklist: 10 Things to Do Before Summer",
  "description": "Prevent AC failure during Phoenix summer heat with this 10-point HVAC maintenance checklist.",
  "image": "https://acmehvac.com/blog/hvac-maintenance-checklist.jpg",
  "author": {
    "@type": "Person",
    "name": "Mike Rodriguez",
    "jobTitle": "Lead HVAC Technician",
    "url": "https://acmehvac.com/about"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Acme HVAC",
    "logo": {
      "@type": "ImageObject",
      "url": "https://acmehvac.com/logo.png"
    }
  },
  "datePublished": "2025-03-15",
  "dateModified": "2025-11-09",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://acmehvac.com/blog/hvac-maintenance-checklist"
  }
}
</script>

Priority 5: HowTo Schema (Tutorial/Guide Pages)

Use HowTo schema if: Page explains how to do something (step-by-step guide, tutorial, instructions)

Where to add: How-to guides, tutorials, DIY instructions

Effort: 20-30 minutes per guide


Template: HowTo Schema

Example: “How to Change Your HVAC Filter”

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How to Change Your HVAC Filter",
  "description": "Step-by-step guide to changing your HVAC air filter in 10 minutes. Improve air quality and system efficiency.",
  "image": "https://acmehvac.com/guides/change-hvac-filter.jpg",
  "totalTime": "PT10M",
  "estimatedCost": {
    "@type": "MonetaryAmount",
    "currency": "USD",
    "value": "15"
  },
  "supply": [
    {
      "@type": "HowToSupply",
      "name": "Replacement HVAC filter (16x20x1 MERV 11)"
    }
  ],
  "tool": [
    {
      "@type": "HowToTool",
      "name": "Screwdriver (optional, if cover is screwed on)"
    }
  ],
  "step": [
    {
      "@type": "HowToStep",
      "name": "Turn off HVAC system",
      "text": "Switch your thermostat to 'OFF' to prevent system from running while filter is removed.",
      "url": "https://acmehvac.com/guides/change-hvac-filter#step-1"
    },
    {
      "@type": "HowToStep",
      "name": "Locate filter compartment",
      "text": "Find the filter compartment (usually near return air vent or furnace). Look for a panel with a removable cover.",
      "url": "https://acmehvac.com/guides/change-hvac-filter#step-2"
    },
    {
      "@type": "HowToStep",
      "name": "Remove old filter",
      "text": "Slide out the old filter. Note the direction of airflow arrow on the filter frame (you'll need to match this with new filter).",
      "url": "https://acmehvac.com/guides/change-hvac-filter#step-3"
    },
    {
      "@type": "HowToStep",
      "name": "Install new filter",
      "text": "Slide new filter into place, matching airflow arrow direction with old filter. Ensure filter is seated fully in frame.",
      "url": "https://acmehvac.com/guides/change-hvac-filter#step-4"
    },
    {
      "@type": "HowToStep",
      "name": "Close compartment and turn system on",
      "text": "Replace cover, turn thermostat back to desired setting. Mark calendar to replace filter again in 90 days.",
      "url": "https://acmehvac.com/guides/change-hvac-filter#step-5"
    }
  ]
}
</script>

How to Add Schema to Your Website

Method 1: Manual HTML Edit (All Websites)

Step 1: Copy appropriate schema template (from above)

Step 2: Customize with your details

  • Replace “Acme HVAC” with your business name
  • Replace phone, address, services with your info
  • Update dates, prices, descriptions

Step 3: Add to <head> section of HTML

Example:

<html>
<head>
  <title>Your Page Title</title>
  <meta name="description" content="...">

  <!-- Add schema here -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "LocalBusiness",
    "name": "Your Business Name",
    ...
  }
  </script>

</head>
<body>
  ...
</body>
</html>

Step 4: Validate (see validation section below)

Step 5: Publish (upload updated HTML to server)


Method 2: WordPress Plugin

Recommended plugin: Yoast SEO or Rank Math (both have schema builders)

Using Yoast SEO:

  1. Install Yoast SEO plugin
  2. Navigate to SEO → Search Appearance → General
  3. Select “Organization” or “Person” for site type
  4. Fill out organization details (name, logo, social profiles)
  5. Yoast auto-generates Organization schema on homepage

For FAQ schema:

  1. Create FAQ page
  2. Use Yoast FAQ block or manually add FAQ schema to page
  3. Validate with Google Rich Results Test

Method 3: Shopify

Shopify includes basic Product schema automatically on product pages.

To add custom schema:

  1. Navigate to Online Store → Themes → Actions → Edit Code
  2. Open theme.liquid
  3. Add schema code before </head> tag
  4. Save

Example: Add Organization schema to all pages

<head>
  ...

  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "{{ shop.name }}",
    "url": "{{ shop.url }}",
    "logo": "{{ shop.logo | img_url: '400x' }}"
  }
  </script>

</head>

Method 4: Google Tag Manager (For Any Site)

Process:

  1. Create new tag in Google Tag Manager
  2. Tag type: “Custom HTML”
  3. Paste schema code (wrapped in <script type="application/ld+json">...</script>)
  4. Trigger: All Pages (or specific pages)
  5. Publish

Example GTM tag:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Your Business",
  "url": "https://yourbusiness.com"
}
</script>

Benefit: Add schema without editing website code directly.


Validating Schema Markup

Step 1: Google Rich Results Test

URL: https://search.google.com/test/rich-results

Process:

  1. Enter URL or paste schema code
  2. Click “Test URL” or “Test Code”
  3. Review results

What to check:

  • “Valid items found” (green) = Schema working
  • “No valid items found” (red) = Schema has errors
  • Warnings (yellow) = Schema valid but missing recommended fields

Example valid result:

✓ LocalBusiness schema detected ✓ name, address, telephone, openingHours found ⚠ Warning: aggregateRating recommended (not required)

Example error:

✗ Error: Missing required field “name”

Fix errors before publishing.


Step 2: Schema.org Validator

URL: https://validator.schema.org/

Process:

  1. Paste schema code
  2. Click “Validate”
  3. Review errors/warnings

More strict than Google’s validator (catches edge cases).


Common Schema Errors

Error 1: Missing @context

{
  "@type": "Organization",  // Missing @context
  "name": "Acme"
}

Fix:

{
  "@context": "https://schema.org",  // Add this
  "@type": "Organization",
  "name": "Acme"
}

Error 2: Invalid date format

{
  "foundingDate": "March 2010"  // Wrong format
}

Fix:

{
  "foundingDate": "2010-03-01"  // Use YYYY-MM-DD
}

Error 3: Missing required field

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness"
  // Missing "name" field (required)
}

Fix:

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Acme HVAC"  // Add required field
}

Schema Priority: Which Pages to Add First

Week 1: Homepage (Organization or LocalBusiness)

Effort: 30 minutes Impact: Highest (homepage = highest authority page, impacts all queries)

Add: Organization or LocalBusiness schema with name, address, phone, services, hours, reviews.


Week 2: Top 3 FAQ Pages

Effort: 1 hour (20 minutes × 3 pages) Impact: High (reduces Ghost Influence, improves AI citability)

Add: FAQPage schema to top 3 FAQ pages (e.g., “Do you offer 24/7 service?”, “What’s your pricing?”, “What areas do you serve?”).


Week 3: Product/Service Pages

Effort: 1-2 hours (15 minutes × 5-8 product pages) Impact: Moderate (improves product visibility in AI responses)

Add: Product or Service schema to top product/service pages.


Week 4: Blog Posts (Top 5-10)

Effort: 1-2 hours (10 minutes × 10 articles) Impact: Moderate (improves content discoverability)

Add: Article schema to top-performing blog posts.


The Bottom Line

Schema markup is structured data that tells search engines and AI platforms what your content means. Add JSON-LD code to your <head> section.

Start with:

  1. Homepage: Organization or LocalBusiness schema (30 minutes)
  2. FAQ pages: FAQPage schema (20 minutes per page)
  3. Product pages: Product schema (15 minutes per product)

Validate with Google Rich Results Test before publishing.

Expected impact: Reduces Ghost Influence 15-30%, improves Presence Rate 10-20%, eligible for rich snippets (Google).


Frequently Asked Questions

Do I need to add schema to every page?

No. Prioritize:

  • Homepage: Organization/LocalBusiness (most important)
  • FAQ pages: FAQPage (high impact for AI visibility)
  • Product pages: Product (if e-commerce or SaaS)
  • Blog posts: Article (if content-heavy site)

Skip schema on:

  • Privacy policy, terms of service (low value)
  • Thank you pages, confirmation pages
  • Internal admin pages

How long does it take for schema to improve AI visibility?

2-4 weeks for AI platforms to re-index content with schema.

Timeline:

  • Week 1: Add schema, validate, publish
  • Week 2-3: Google and AI platforms re-crawl site
  • Week 4: Re-run Signal to measure improvement

Expected improvement:

  • Ghost Influence: 68% → 45% (15-25% reduction)
  • Presence Rate: 42% → 52% (10-20% increase)

Can I use multiple schema types on one page?

Yes. Common combinations:

  • Organization + FAQPage (homepage with FAQ section)
  • Article + FAQPage (blog post with Q&A)
  • LocalBusiness + Service (service page for local business)

Example: Multiple schemas on one page

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "Acme HVAC",
    ...
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [...]
  }
]
</script>

Note: Wrap multiple schemas in array [ {...}, {...} ].

Does schema help Google rankings?

Indirectly. Schema doesn’t directly boost rankings, but:

  • Enables rich snippets (higher CTR from search results)
  • Helps Google understand content (better matching to queries)
  • Improves AI visibility (Gemini uses Google data, benefits from schema)

Direct benefit: Rich snippets (star ratings, FAQ dropdowns, breadcrumbs in Google results).

Will adding schema break my website?

No. Schema is non-visual code (users don’t see it, only search engines).

Worst case if errors:

  • Google ignores invalid schema (no rich snippets)
  • Website still functions normally

Best practice: Validate before publishing to catch syntax errors.

How do I know if my schema is working?

Method 1: Google Rich Results Test

  • Paste URL or code
  • Check for “Valid items found”

Method 2: Google Search Console

  • Navigate to “Enhancements” section
  • Check “Unparsable structured data” report
  • If no errors, schema is working

Method 3: View source

  • Right-click page → View Page Source
  • Search for “@context”: “https://schema.org
  • If present, schema is on page

Does Scan check schema markup?

Yes. Scan’s Technical SEO section reports:

  • Missing schema (homepage without Organization schema)
  • Invalid schema syntax
  • Incomplete schema (missing recommended fields)
  • Schema opportunities (FAQ pages without FAQPage schema)

Example Scan finding:

“Missing LocalBusiness schema on homepage. Add structured data to improve local SEO and AI visibility. Effort: 30 minutes.”

Can I hire someone to add schema markup?

Yes. Typical cost:

  • Freelancer (Upwork, Fiverr): $50-150 (homepage + 3-5 pages)
  • Agency: $200-500 (comprehensive site-wide schema)
  • Developer (hourly): $75-150/hour (1-3 hours)

DIY vs hire:

  • DIY if comfortable editing HTML (use templates above)
  • Hire if non-technical or need custom schema for complex site

What schema type should I use for a law firm?

LocalBusiness (if local practice) or ProfessionalService.

Example:

{
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  "name": "Smith & Associates Law Firm",
  "description": "Personal injury and employment law in Phoenix. Free consultations.",
  "priceRange": "$$$$",
  ...
}

Add service-specific fields:

  • areaServed: Phoenix, Scottsdale
  • hasOfferCatalog: Personal injury, Employment law, etc.

Ready to add schema markup? Start with homepage (Organization or LocalBusiness schema), validate with Google Rich Results Test, and publish. Re-run Signal in 30 days to measure AI visibility improvement.

Help Us Improve This Article

Know a better way to explain this? Have a real-world example or tip to share?

Contribute and earn credits:

  • Submit: Get $25 credit (Signal, Scan, or Solutions)
  • If accepted: Get an additional $25 credit ($50 total)
  • Plus: Byline credit on this article
Contribute to This Article