allbirds.com
Issues (9)
Ordered by severity and weight. Expand any row for the evidence and the exact fix.
✗Structured data presentNo structured data (JSON-LD or microdata) was found on the scanned pages.−4 ptscomprehension
JSON-LD is the machine-readable version of your page. With none, agents fall back to scraping text and lose the facts that drive citations and purchases.
| json_ld_blocks | 0 |
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Allbirds",
"url": "https://www.allbirds.com"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Allbirds",
"url": "https://www.allbirds.com",
"logo": "https://www.allbirds.com/logo.png",
"sameAs": [
"https://www.linkedin.com/company/your-company",
"https://x.com/your-handle"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "support@allbirds.com"
}
}
</script>
✗Product and entity schemaThis looks like a commerce site but no Product JSON-LD was found.−4 ptscomprehension
Product and Offer schema hands agents your name, price, and availability directly. Missing it means shopping agents cannot confirm what you sell or for how much.
| commerce | true |
| products | 0 |
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Allbirds product name",
"description": "One-line description of the product.",
"sku": "SKU-123",
"image": "https://www.allbirds.com/product-image.jpg",
"brand": {
"@type": "Brand",
"name": "Allbirds"
},
"offers": {
"@type": "Offer",
"price": "29.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.allbirds.com/product-url"
}
}
</script>
✗Offer completenessNo Offer data exists in structured form, so a buying agent has nothing to commit to.−4 ptstrust
A complete Offer (price, currency, availability, url) is what an agent needs to trust and place an order. Gaps make it hold back.
| offers | 0 |
| commerce | true |
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Offer",
"price": "29.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.allbirds.com",
"seller": {
"@type": "Organization",
"name": "Allbirds"
}
}
</script>
✗Contact and entity clarityNo contact page, mailto link, or Organization contact data is discoverable, so agents cannot verify who to reach.−4 ptstrust
A clear contact point and entity identity tell an agent who it is dealing with. Sites an agent cannot verify are the ones it avoids transacting with.
| signals |
<a href="/contact">Contact us</a>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Allbirds",
"url": "https://www.allbirds.com",
"logo": "https://www.allbirds.com/logo.png",
"sameAs": [
"https://www.linkedin.com/company/your-company",
"https://x.com/your-handle"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "support@allbirds.com"
}
}
</script>
✗Return and shipping schemaNo return or shipping policy is discoverable in structured data or page links.−3 ptstrust
Return and shipping schema answers the questions a buying agent checks before committing. Without it, the agent cannot confirm terms and drops the cart.
| return_schema | false |
| shipping_schema | false |
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Offer",
"priceCurrency": "USD",
"price": "29.00",
"availability": "https://schema.org/InStock",
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "0",
"currency": "USD"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 5,
"unitCode": "DAY"
}
}
}
}
</script>
✗FAQ and HowTo schemaNo FAQ or HowTo structured data was found on the scanned pages.−2 ptscomprehension
FAQ and HowTo schema is the format assistants lift answers from. Publishing it turns your support content into answers that name you.
| present | false |
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is Allbirds?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A short, factual answer describing what Allbirds offers."
}
}
]
}
</script>
!Checkout reachableA shop path is linked (https://www.allbirds.com/collections/new-arrivals-26) but no direct cart or checkout link was found on the scanned pages.−2.5 ptsaction
If an agent cannot find the path to cart, checkout, or contact from your homepage, the transaction ends before it starts.
| commerce | true |
| shop_link | https://www.allbirds.com/collections/new-arrivals-26 |
<a href="/cart">Cart</a>
<a href="/checkout">Checkout</a>
!CAPTCHA prevalenceCAPTCHA scripts (recaptcha, hcaptcha) load on the page even though no forms were found.−2.5 ptsaction
A CAPTCHA on every form is a wall agents cannot climb. Each one you place on a key path is a conversion an agent cannot complete.
| forms | 0 |
| vendors | recaptcha,hcaptcha |
!No blanket crawler blockThe wildcard robots.txt group disallows 2 key path(s): /cart, /checkout.−1.5 ptsaccess
A blanket Disallow shuts every agent out at once, including the ones sending buyers. One stray wildcard rule can erase your entire agent audience.
| blocked_paths | [object Object],[object Object] |
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: CCBot
Allow: /
What's working (18)
✓GPTBot accessGPTBot is allowed by robots.txt.access
GPTBot fetches the pages ChatGPT cites and shops from. If robots.txt blocks it, you are invisible to the largest assistant audience and the referrals it sends.
| agents | GPTBot |
| robots_present | true |
✓ClaudeBot accessClaudeBot is allowed by robots.txt.access
Claude's crawlers (ClaudeBot, Claude-User, Claude-SearchBot) gather the content Claude quotes to buyers. A block here removes you from those answers.
| agents | ClaudeBot,Claude-User,Claude-SearchBot |
| robots_present | true |
✓PerplexityBot accessPerplexityBot is allowed by robots.txt.access
PerplexityBot feeds an answer engine that cites its sources directly. Blocking it drops you from results that carry high-intent clicks.
| agents | PerplexityBot |
| robots_present | true |
✓Google-Extended accessGoogle-Extended is allowed by robots.txt.access
Google-Extended controls whether Gemini and AI Overviews may use your content. Disallowing it keeps you out of Google's AI answers while allowing it costs you nothing.
| agents | Google-Extended |
| robots_present | true |
✓CCBot accessCCBot is allowed by robots.txt.access
CCBot builds the Common Crawl corpus that trains and grounds many models. Allowing it buys long-term presence in the datasets agents learn from.
| agents | CCBot |
| robots_present | true |
✓Homepage HTTP healthThe homepage returns HTTP 200 in 1.3s after 0 redirect(s).access
Agents give a page one quick request. If the homepage does not return a clean 200 fast, they move on and never see your offer.
| status | 200 |
| redirects | 0 |
| elapsed_ms | 1303 |
✓No bot challenge wallNo bot challenge or interstitial was detected on the homepage.access
Bot challenges and interstitials are built for browsers, not agents. An agent that hits a checking-your-browser wall cannot read or buy anything behind it.
| status | 200 |
✓Agent and browser parityAgents and browsers receive the same homepage (both HTTP 200).access
Some CDNs serve agents a blank or blocked page while humans see the real site. If your bot response differs from the human one, agents come away with nothing.
| agent_status | 200 |
| browser_status | 200 |
✓Content without JavaScript536 words of readable text render from the raw HTML without JavaScript.comprehension
Most agents read raw HTML and do not run your JavaScript. If the page is empty until JS loads, agents see a blank page where your content should be.
| text_words | 536 |
✓Semantic HTML structureSemantic landmarks and a single <h1> are in place.comprehension
Landmarks and a clean heading order tell an agent what each part of the page is. Without them, agents guess and often quote the wrong thing.
| issues | |
| img_total | 24 |
| landmarks | [object Object] |
| alt_coverage | 1 |
| img_with_alt | 24 |
✓llms.txt filellms.txt is present with 11 heading(s) and 5 link(s).comprehension
An llms.txt file is the emerging map agents read first. A good one points them straight at the pages you want cited and bought from.
| links | 5 |
| title | Agent Instructions — Allbirds |
| present | true |
| headings | 11 |
✓SitemapA sitemap index was found with 6 URL entries (referenced in robots.txt).comprehension
A sitemap lists every URL worth crawling. Without one, agents only find what they stumble across from your homepage.
| present | true |
| is_index | true |
| url_count | 6 |
| from_robots | true |
✓Canonical URLsThe homepage declares a self-consistent canonical (https://www.allbirds.com/).comprehension
Canonical tags tell agents which URL is the real one. Missing or cross-domain canonicals split your authority and confuse which page gets cited.
| homepage_canonical | https://www.allbirds.com/ |
| key_page_canonical | https://www.allbirds.com/products/mens-runner-nz-slip-on-mushroom |
✓Title and meta descriptionTitle (50 chars) and meta description (151 chars) are both well-formed.comprehension
The title and meta description are the first summary an agent reads. Vague or missing ones make your page easy to skip in an answer.
| title_length | 50 |
| description_length | 151 |
✓Readable pricingPrices are readable as text prices like $100, $5.00, $100.comprehension
Agents that cannot find a price in text or schema cannot compare or buy. Prices locked in images or JavaScript are invisible to them.
| price_hits | $100,$5.00,$100,$5.00,$105 |
| offer_price | null |
✓Guest checkoutShopify /cart.js responds with valid JSON, so the cart works without an account.action
Account walls stop most shopping agents cold. A checkout that demands sign-up first loses the sale to a competitor that allows guests.
| platform | shopify |
| cart_js_status | 200 |
✓Platform agent settingsShopify agent endpoints respond with JSON: /cart.js.action
Platforms like Shopify expose agent-ready endpoints when configured. Turning them on lets agents read your catalog and cart the supported way instead of scraping.
| cart_js | 200 |
| platform | shopify |
| products_json | 200 |
✓Agent endpointsAgent-facing endpoints are exposed: feed link tag (https://www.allbirds.com/products/mens-runner-nz-slip-on-mushroom.oembed).trust
Feeds, plugin manifests, and agent endpoints are how the newest agents connect directly. Exposing any of them puts you ahead of sites they have to scrape.
| endpoints | feed link tag (https://www.allbirds.com/products/mens-runner-nz-slip-on-mushroom.oembed) |
· 3 checks not applicable to this site